Updated version of the Location Monitor supporting the new New GeoConversion interfaces. GeoConversion
authorBilly Gibson <Billy.Gibson@nokia.com>
Fri, 28 May 2010 18:01:03 +0100
branchGeoConversion
changeset 34 0c0ad64c882c
parent 16 90477588756a
Updated version of the Location Monitor supporting the new New GeoConversion interfaces. Also includes API help information
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/BWINS/lbslocationinfoconverteru.def
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/EABI/lbslocationinfoconverteru.def
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/bld.inf
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.iby
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.mmp
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp
locationmgmt/locmonitor/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp
locationmgmt/locmonitor/ConversionApi/ConversionCommon/group/bld.inf
locationmgmt/locmonitor/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/BWINS/lbslocationinfoconverterpluginu.def
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/EABI/lbslocationinfoconverterpluginu.def
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/bld.inf
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.iby
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.mmp
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.hrh
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp
locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp
locationmgmt/locmonitor/ConversionApi/group/ABLD.BAT
locationmgmt/locmonitor/ConversionApi/group/bld.inf
locationmgmt/locmonitor/ConversionDataTypes/BWINS/lbslocationinfodatatypesu.def
locationmgmt/locmonitor/ConversionDataTypes/EABI/lbslocationinfodatatypesu.def
locationmgmt/locmonitor/ConversionDataTypes/group/bld.inf
locationmgmt/locmonitor/ConversionDataTypes/group/lbslocationinfodatatypes.iby
locationmgmt/locmonitor/ConversionDataTypes/group/lbslocationinfodatatypes.mmp
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationclasstypes.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationcommon.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationgsminfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationinfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationposinfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwcdmainfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h
locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwlaninfo.h
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationcommon.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationgsminfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationgsmneighbourinfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationinfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationposinfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwcdmainfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwcdmaneighbourinfo.cpp
locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwlaninfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/bwins/lbslocmonclient.def
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/eabi/lbslocmonclient.def
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/lbslocmonclient.iby
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/lbslocmonclient.mmp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocinfoconversionhandler.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocmonitorptrholder.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/lbslocmonitorclientconsts.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocinfoconverter.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorsession.h
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocinfoconversionhandler.cpp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocmonitorptrholder.cpp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocinfoconverter.cpp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorareapositioner.cpp
locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorsession.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/BWINS/lbslocationinfoconverteru.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/EABI/lbslocationinfoconverteru.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.iby
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.mmp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverterimpl.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolverimpl.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverterimpl.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolverimpl.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/BWINS/lbslocationinfoconverterpluginu.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/EABI/lbslocationinfoconverterpluginu.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.iby
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.mmp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.hrh
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/BWINS/lbslocationinfodatatypesu.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/EABI/lbslocationinfodatatypesu.def
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/lbslocationinfodatatypes.iby
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/lbslocationinfodatatypes.mmp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationcommon.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationgsminfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationgsmneighbourinfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationinfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationposinfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwcdmainfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwcdmaneighbourinfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwlaninfo.cpp
locationmgmt/locmonitor/lbslocmonitorapis/cenrep/20026814.txt
locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter.confml
locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter_20026814.crml
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/annotated.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_conversion_handler-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_conversion_handler.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_converter_plugin_base-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_converter_plugin_base.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_monitor_ptr_holder-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_monitor_ptr_holder.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter_impl-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter_impl.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver_impl-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver_impl.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_loc_info_converter_plugin_observer-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_loc_info_converter_plugin_observer.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_info_converter_observer-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_info_converter_observer.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_resolver_observer-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_resolver_observer.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_info_converter-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_info_converter.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_area_positioner-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_area_positioner.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_session-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_session.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_conversion_plugin_info-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_conversion_plugin_info.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/classes.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/clbslocinfoconversionhandler_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/clbslocmonitorptrholder_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/doxygen.css
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/doxygen.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/files.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2blank.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2doc.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2folderclosed.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2folderopen.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2lastnode.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2link.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2mlastnode.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2mnode.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2node.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2plastnode.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2pnode.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2vertline.png
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions_func.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions_vars.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_enum.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_eval.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_func.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_type.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_vars.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/hierarchy.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/index.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationclasstypes_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationclasstypes_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationcommon_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationcommon_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsminfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsminfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsmneighbourinfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsmneighbourinfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverter_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverter_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconvertercommon_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconvertercommon_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverterimpl_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationposinfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationposinfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolver_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolver_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolverimpl_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmainfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmainfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmaneighbourinfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmaneighbourinfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwlaninfo_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwlaninfo_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginbase_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginbase_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginclasstypes_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginclasstypes_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterplugincommon_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterplugincommon_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocmonitorclientconsts_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/main.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocinfoconverter_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorareapositioner_8h.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorareapositioner_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorsession_8h_source.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/struct_t_lbs_client_prefs-members.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/struct_t_lbs_client_prefs.html
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_b.gif
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_l.gif
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_r.gif
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tabs.css
locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tree.html
locationmgmt/locmonitor/lbslocmonitorapis/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorclient/bwins/lbslocmonclient.def
locationmgmt/locmonitor/lbslocmonitorclient/eabi/lbslocmonclient.def
locationmgmt/locmonitor/lbslocmonitorclient/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorclient/group/lbslocmonclient.iby
locationmgmt/locmonitor/lbslocmonitorclient/group/lbslocmonclient.mmp
locationmgmt/locmonitor/lbslocmonitorclient/inc/clbslocmonitorptrholder.h
locationmgmt/locmonitor/lbslocmonitorclient/inc/rlbslocmonitorareapositioner.h
locationmgmt/locmonitor/lbslocmonitorclient/inc/rlbslocmonitorsession.h
locationmgmt/locmonitor/lbslocmonitorclient/src/clbslocmonitorptrholder.cpp
locationmgmt/locmonitor/lbslocmonitorclient/src/rlbslocmonitorareapositioner.cpp
locationmgmt/locmonitor/lbslocmonitorclient/src/rlbslocmonitorsession.cpp
locationmgmt/locmonitor/lbslocmonitorserver/group/bld.inf
locationmgmt/locmonitor/lbslocmonitorserver/group/lbs_locationmonitor.mrp
locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.iby
locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsareapositionersubsession.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsconversionpositionersubsession.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorareainfofinder.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorconversionhandler.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitordbengine.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitordbtimer.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitornetworkinfofinder.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorpluginresolver.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorposlistener.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorrequesthandler.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorserver.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorsession.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorutils.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorareainfodefs.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitordbenginedefs.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorserverdata.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/locmonitorsettingskeys.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/mlbsconversioncompleteobserver.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/mlbslocmonitorareainfofinderobserver.h
locationmgmt/locmonitor/lbslocmonitorserver/inc/rlbslocmonitordb.h
locationmgmt/locmonitor/lbslocmonitorserver/src/clbsareapositionersubsession.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbsconversionpositionersubsession.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorareainfofinder.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorconversionhandler.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitordbengine.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitordbtimer.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorgpsbus.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitormain.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitornetworkinfofinder.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorpluginresolver.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorposlistener.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorsession.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorutils.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/lbslocmonitorareainfodefs.cpp
locationmgmt/locmonitor/lbslocmonitorserver/src/rlbslocmonitordb.cpp
locationmgmt/locmonitor/test/ExampleLocationConverter/.cproject
locationmgmt/locmonitor/test/ExampleLocationConverter/.project
locationmgmt/locmonitor/test/ExampleLocationConverter/data/10287201.rss
locationmgmt/locmonitor/test/ExampleLocationConverter/data/ExampleLocationConverter.hrh
locationmgmt/locmonitor/test/ExampleLocationConverter/group/ExampleLocationConverter.mmp
locationmgmt/locmonitor/test/ExampleLocationConverter/group/bld.inf
locationmgmt/locmonitor/test/ExampleLocationConverter/inc/ExampleLocationConverter.h
locationmgmt/locmonitor/test/ExampleLocationConverter/src/ExampleLocationConverter.cpp
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/Bmarm/LocInfoConversionUnitTestU.DEF
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/Bwins/LocInfoConversionUnitTestU.DEF
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/EABI/LocInfoConversionUnitTestU.def
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/conf/LocInfoConversionUnitTest.cfg
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/LocInfoConversionUnitTest.mmp
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/LocInfoConversionUnitTest.pkg
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/bld.inf
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/LocInfoConversionHandler.h
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/LocInfoConversionUnitTest.h
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/lbtlogger.h
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/lbtloggerimpl.h
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionHandler.cpp
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionUnitTest.cpp
locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionUnitTestBlocks.cpp
locationmgmt/locmonitor/test/Te_locationinfoconverter/bmarm/Te_locationinfoconverterU.DEF
locationmgmt/locmonitor/test/Te_locationinfoconverter/bwins/Te_locationinfoconverterU.DEF
locationmgmt/locmonitor/test/Te_locationinfoconverter/conf/Te_locationinfoconverter.cfg
locationmgmt/locmonitor/test/Te_locationinfoconverter/conf/te_LbsLocationInfoConverterSuite.script
locationmgmt/locmonitor/test/Te_locationinfoconverter/eabi/Te_locationinfoconverterU.def
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter.mmp
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter.pkg
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_DoxyFile.txt
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_c.bat
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_nrm.mmp
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_z.bat
locationmgmt/locmonitor/test/Te_locationinfoconverter/group/bld.inf
locationmgmt/locmonitor/test/Te_locationinfoconverter/inc/Te_locationinfoconversionobserver.h
locationmgmt/locmonitor/test/Te_locationinfoconverter/inc/Te_locationinfoconverter.h
locationmgmt/locmonitor/test/Te_locationinfoconverter/init/TestFramework.ini
locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconversionobserver.cpp
locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconverter.cpp
locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconverterBlocks.cpp
locationmgmt/locmonitor/test/TestLocationConverter/data/10287201.rss
locationmgmt/locmonitor/test/TestLocationConverter/data/TestLocationConverter.hrh
locationmgmt/locmonitor/test/TestLocationConverter/group/TestLocationConverter.mmp
locationmgmt/locmonitor/test/TestLocationConverter/group/bld.inf
locationmgmt/locmonitor/test/TestLocationConverter/inc/TestLocationConverter.h
locationmgmt/locmonitor/test/TestLocationConverter/src/TestLocationConverter.cpp
locationmgmt/locmonitor/test/TestLocationConverter2/data/10287201.rss
locationmgmt/locmonitor/test/TestLocationConverter2/data/TestLocationConverter2.hrh
locationmgmt/locmonitor/test/TestLocationConverter2/group/TestLocationConverter2.mmp
locationmgmt/locmonitor/test/TestLocationConverter2/group/bld.inf
locationmgmt/locmonitor/test/TestLocationConverter2/inc/TestLocationConverter2.h
locationmgmt/locmonitor/test/TestLocationConverter2/src/TestLocationConverter2.cpp
locationmgmt/locmonitor/test/TestLocationConverter3/data/10287201.rss
locationmgmt/locmonitor/test/TestLocationConverter3/data/TestLocationConverter3.hrh
locationmgmt/locmonitor/test/TestLocationConverter3/group/TestLocationConverter3.mmp
locationmgmt/locmonitor/test/TestLocationConverter3/group/bld.inf
locationmgmt/locmonitor/test/TestLocationConverter3/inc/TestLocationConverter3.h
locationmgmt/locmonitor/test/TestLocationConverter3/src/TestLocationConverter3.cpp
locationmgmt/locmonitor/test/group/bld.inf
locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/bld.inf
locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/te_geolocmonitorsuite.iby
locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/te_geolocmonitorsuite.mmp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/LocInfoConversionHandler.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep1.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep2.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep3.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep4.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep5.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep6.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep7.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstepbase.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorsuitedefs.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorsuiteserver.h
locationmgmt/locmonitor/test/te_geolocmonitorsuite/scripts/te_geolocmonitorsuite.script
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/LocInfoConversionHandler.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep1.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep2.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep3.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep4.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep5.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep6.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep7.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstepbase.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorsuiteserver.cpp
locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/lbsgeolocmonunitconfig.txt
locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/lbsgeolocmonunitconfigbad.txt
locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/te_geolocmonitorsuite.ini
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/bld.inf
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/te_lbslocationinfoconverter.iby
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/te_lbslocationinfoconverter.mmp
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/Te_locationinfoconversionobserver.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/Te_locationresolverobserver.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/ctasyncwaiter.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/step.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuitedefs.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuiteserver.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuitestepbase.h
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/scripts/LbsLocationInfoConverter.ini
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/scripts/te_LbsLocationInfoConverterSuite.script
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/Te_locationinfoconversionobserver.cpp
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/Te_locationresolverobserver.cpp
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/step.cpp
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/te_lbslocationinfoconvertersuiteserver.cpp
locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/te_lbslocationinfoconvertersuitestepbase.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/bld.inf
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.iby
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.mmp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/clearstep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/ctasyncwaiter.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/dbstep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/negativestep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/persistencestep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/replacestep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitedefs.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuiteserver.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitestepbase.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/timestampstep.h
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite.script
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite2.script
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/clearstep.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/ctasyncwaiter.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/dbstep.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/negativestep.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/persistencestep.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/replacestep.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuiteserver.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuitestepbase.cpp
locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/timestampstep.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/group/bld.inf
locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.iby
locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.mmp
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/Te_locmonitorstep24.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep1.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep10.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep11.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep12.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep13.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep14.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep15.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep16.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep17.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep18.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep19.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep2.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep20.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep21.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep22.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep23.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep25.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep26.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep27.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep28.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep3.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep31.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep32.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep4.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep5.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep6.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep7.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep8.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep9.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstepbase.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuitedefs.h
locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuiteserver.h
locationmgmt/locmonitor/test/te_locmonitorsuite/scripts/te_locmonitorsuite.script
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep1.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep10.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep11.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep12.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep13.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep14.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep15.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep16.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep17.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep18.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep19.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep2.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep20.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep21.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep22.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep23.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep24.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep25.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep26.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep27.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep28.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep29.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep3.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep30.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep31.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep32.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep4.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep5.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep6.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep7.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep8.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep9.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstepbase.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorsuiteserver.cpp
locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfig.txt
locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfigbad.txt
locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/te_locmonitorsuite.ini
locationmgmt/locmonitor/test/testlocationmonitor/group/bld.inf
locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.iby
locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbsareapositionersubsession.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbsconversionpositionersubsession.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorareainfofinder.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorconversionhandler.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitordbengine.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitordbtimer.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitornetworkinfofinder.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorpluginresolver.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorrequesthandler.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorserver.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorsession.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorutils.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorareainfodefs.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorclientconsts.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitordbenginedefs.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorserverdata.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/locmonitorsettingskeys.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/mlbsconversioncompleteobserver.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/mlbslocmonitorareainfofinderobserver.h
locationmgmt/locmonitor/test/testlocationmonitor/inc/rlbslocmonitordb.h
locationmgmt/locmonitor/test/testlocationmonitor/src/testrlbslocmonitordb.cpp
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/BWINS/lbslocationinfoconverteru.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-EXPORTS
-	??1CLbsLocationInfoConverter@@UAE@XZ @ 1 NONAME ; CLbsLocationInfoConverter::~CLbsLocationInfoConverter(void)
-	??1CLbsLocationResolver@@UAE@XZ @ 2 NONAME ; CLbsLocationResolver::~CLbsLocationResolver(void)
-	?CancelConvertLocationInfo@CLbsLocationInfoConverter@@QAEXXZ @ 3 NONAME ; void CLbsLocationInfoConverter::CancelConvertLocationInfo(void)
-	?CancelResolveLocation@CLbsLocationResolver@@QAEXXZ @ 4 NONAME ; void CLbsLocationResolver::CancelResolveLocation(void)
-	?ConvertLocationInfoL@CLbsLocationInfoConverter@@QAEXAAV?$RPointerArray@VCLbsLocationInfoBase@@@@KK@Z @ 5 NONAME ; void CLbsLocationInfoConverter::ConvertLocationInfoL(class RPointerArray<class CLbsLocationInfoBase> &, unsigned long, unsigned long)
-	?ConvertLocationInfoL@CLbsLocationInfoConverter@@QAEXAAVCLbsLocationInfoBase@@KK@Z @ 6 NONAME ; void CLbsLocationInfoConverter::ConvertLocationInfoL(class CLbsLocationInfoBase &, unsigned long, unsigned long)
-	?NewL@CLbsLocationInfoConverter@@SAPAV1@AAVMLbsLocationInfoConverterObserver@@@Z @ 7 NONAME ; class CLbsLocationInfoConverter * CLbsLocationInfoConverter::NewL(class MLbsLocationInfoConverterObserver &)
-	?NewL@CLbsLocationInfoConverter@@SAPAV1@AAVMLbsLocationInfoConverterObserver@@VTUid@@@Z @ 8 NONAME ; class CLbsLocationInfoConverter * CLbsLocationInfoConverter::NewL(class MLbsLocationInfoConverterObserver &, class TUid)
-	?NewL@CLbsLocationResolver@@SAPAV1@AAVMLbsLocationResolverObserver@@@Z @ 9 NONAME ; class CLbsLocationResolver * CLbsLocationResolver::NewL(class MLbsLocationResolverObserver &)
-	?NewL@CLbsLocationResolver@@SAPAV1@AAVMLbsLocationResolverObserver@@VTUid@@@Z @ 10 NONAME ; class CLbsLocationResolver * CLbsLocationResolver::NewL(class MLbsLocationResolverObserver &, class TUid)
-	?ResolveLocationL@CLbsLocationResolver@@QAEXABVCLbsLocationInfo@@@Z @ 11 NONAME ; void CLbsLocationResolver::ResolveLocationL(class CLbsLocationInfo const &)
-	?Version@MLbsLocationInfoConverterObserver@@UBE?AVTVersion@@XZ @ 12 NONAME ; class TVersion MLbsLocationInfoConverterObserver::Version(void) const
-	?Version@MLbsLocationResolverObserver@@UBE?AVTVersion@@XZ @ 13 NONAME ; class TVersion MLbsLocationResolverObserver::Version(void) const
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/EABI/lbslocationinfoconverteru.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	_ZN20CLbsLocationResolver16ResolveLocationLERK16CLbsLocationInfo @ 1 NONAME
-	_ZN20CLbsLocationResolver21CancelResolveLocationEv @ 2 NONAME
-	_ZN20CLbsLocationResolver4NewLER28MLbsLocationResolverObserver @ 3 NONAME
-	_ZN20CLbsLocationResolver4NewLER28MLbsLocationResolverObserver4TUid @ 4 NONAME
-	_ZN20CLbsLocationResolverD0Ev @ 5 NONAME
-	_ZN20CLbsLocationResolverD1Ev @ 6 NONAME
-	_ZN20CLbsLocationResolverD2Ev @ 7 NONAME
-	_ZN25CLbsLocationInfoConverter20ConvertLocationInfoLER13RPointerArrayI20CLbsLocationInfoBaseEmm @ 8 NONAME
-	_ZN25CLbsLocationInfoConverter20ConvertLocationInfoLER20CLbsLocationInfoBasemm @ 9 NONAME
-	_ZN25CLbsLocationInfoConverter25CancelConvertLocationInfoEv @ 10 NONAME
-	_ZN25CLbsLocationInfoConverter4NewLER33MLbsLocationInfoConverterObserver @ 11 NONAME
-	_ZN25CLbsLocationInfoConverter4NewLER33MLbsLocationInfoConverterObserver4TUid @ 12 NONAME
-	_ZN25CLbsLocationInfoConverterD0Ev @ 13 NONAME
-	_ZN25CLbsLocationInfoConverterD1Ev @ 14 NONAME
-	_ZN25CLbsLocationInfoConverterD2Ev @ 15 NONAME
-	_ZNK28MLbsLocationResolverObserver7VersionEv @ 16 NONAME
-	_ZNK33MLbsLocationInfoConverterObserver7VersionEv @ 17 NONAME
-	_ZTI28MLbsLocationResolverObserver @ 18 NONAME ; #<TI>#
-	_ZTI33MLbsLocationInfoConverterObserver @ 19 NONAME ; #<TI>#
-	_ZTV28MLbsLocationResolverObserver @ 20 NONAME ; #<VT>#
-	_ZTV33MLbsLocationInfoConverterObserver @ 21 NONAME ; #<VT>#
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-//
-
-
-PRJ_EXPORTS
-../inc/lbslocationinfoconverter.h	lbs/lbslocationinfoconverter.h
-../inc/lbslocationresolver.h		lbs/lbslocationresolver.h
-
-
-lbslocationinfoconverter.iby      /epoc32/rom/include/lbslocationinfoconverter.iby
-
-
-PRJ_MMPFILES
-lbslocationinfoconverter.mmp
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.iby	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-*
-*/
-#ifndef __LBS_LOCATIONINFOCONVERTER_IBY__
-#define __LBS_LOCATIONINFOCONVERTER_IBY__
-//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-file=ABI_DIR\DEBUG_DIR\lbslocationinfoconverter.dll			sys\bin\lbslocationinfoconverter.dll
-
-//#endif // SYMBIAN_EXCLUDE_LOCATION
-
-#endif //__LBS_LOCATIONINFOCONVERTER_IBY__
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ /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 the License "Symbian Foundation License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-TARGET          lbslocationinfoconverter.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x102871F9
-
-VENDORID        0x70000001
-CAPABILITY      ALL -TCB
-
-SOURCEPATH      ../src
-SOURCE          lbslocationinfoconverter.cpp 
-SOURCE          lbslocationresolver.cpp 
-
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE	/epoc32/include
-
-LIBRARY         euser.lib
-LIBRARY         lbslocationinfodatatypes.lib
-LIBRARY			lbs.lib
-LIBRARY			estor.lib 
-
-SMPSAFE
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +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: Class used by client applications to convert location 
-* information
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-#ifndef LBS_LOCATION_INFO_CONVERTER_H
-#define LBS_LOCATION_INFO_CONVERTER_H
-
-
-// OS wide
-#include <e32base.h>
-
-// LBS wide
-#include <lbs/lbslocationcommon.h>
-#include <lbs/lbslocationinfo.h>
-#include <lbs/lbslocationinfoconvertercommon.h>
-
-
-/**
-* The MLbsLocationInfoConverterObserver class is used in partnership with
-* CLbsLocationInfoConverter. The observer interface is used by the LBS
-* subsystem to inform a client application when a Locality conversion
-* process initiated through the CLbsLocationInfoConverter class has been
-* finished. In OnResolveLocationComplete the results will be returned 
-* as an argument of the function, while OnConversionComplete indicates that the results
-* have been written in to the data that was passed in using ConvertLocationInfoL.
-*
-* Although all the interface methods in the MLbsLocationInfoConverterObserver 
-* class are synchronous, the client application should ensure they return quickly
-* (e.g. any extensive processing of the received data is scheduled in another 
-* active object).
-*/
-class MLbsLocationInfoConverterObserver
-    {
-        
-public:
-
-    /** 
-     * Gets the current version of the observer interface.
-     * Derived classes should not change the implementation.
-     *
-     * @return Version number (currently 1.0.0) 
-     */
-    IMPORT_C virtual TVersion Version()  const;
-    
-     /** 
-     * The callback is used by the LBS subsystem to inform a client application 
-     * that a general purpose Locality conversion process initiated through the 
-     * CLbsLocationInfoConverter::ConvertLocationInfoL method has been finished.
-     *
-     * Receiving the callback indicates that, unless the conversion was not successful,
-     * the location data structures passed through the 
-     * CLbsLocationInfoConverter::ConvertLocationInfoL method have been updated with the
-     * requested information.
-     *
-     * @param aStatusCode Result of the conversion operation; 
-     * KErrNone if at least one conversion have been successful and 
-     *   the related location data structure(s) passed through the 
-     *   CLbsLocationInfoConverter::ConvertLocationInfoL method 
-     *   have been updated with the requested information;
-     * KErrNotSupported if the conversion type specified by 
-     *       aRequestedInfo is not supported by converter plugin
-     * KErrNotFound if none of conversions have been successful;
-     * Or other system wide error code othervise.
-In here I think we should say that when the caller uses ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray, ..) then on  OnConversionComplete the caller should iterate around all 'n' of the  entries of the aLocationInfoArray and call GetAreaInfoL to see if there is any conversion results.  OH I see below that you say something near the ConvertLocationInfoL method. Maybe should say it here as well to ti e together
-     */
-    virtual void OnConversionComplete(TInt aStatusCode) = 0;
-
-    };
-
-
-
-
-/**
-* The CLbsLocationInfoConverter interface is used in partnership with MLbsLocationInfoConverterObserver 
-* and provides the services to convert location information between different formats.
-*
-* Completion of conversions is indicated by the LBS subsystem by invoking callbacks defined
-* by the MLbsLocationInfoConverterObserver class.
-*
-* Currently the only supported conversion is from WLAN and/or GSM and/or WCDMA info into a geographic
-* Locality.
-*/
-NONSHARABLE_CLASS(CLbsLocationInfoConverter) : public CBase
-    {
-
-public:
-
-    /**
-     * Allocates and construct a new CLbsLocationInfoConverter
-     * @param[in] aObserver An observer for location conversion event.
-     * @param[in] aConverterModuleId UID of the conversion plugin to be used.
-     */
-    IMPORT_C static CLbsLocationInfoConverter* NewL( 
-                                                MLbsLocationInfoConverterObserver& aObserver,
-                                                const TUid aConverterModuleId);
-    
-    /** 
-     * Allocates and construct a new CLbsLocationInfoConverter
-     * Note here to say that impementations for both  OnResolveLocationComplete and OnConversionComplete MUST be provided even though only  interested in say, ConvertLocationFingerPrintToLocalityL
-     * Opens the default module. 
-     * @param[in] aObserver An observer for location conversion event.
-     */
-    IMPORT_C static CLbsLocationInfoConverter* NewL( 
-                                                MLbsLocationInfoConverterObserver& aObserver);
-
-    /** 
-     * Destructor. 
-     */
-    IMPORT_C ~CLbsLocationInfoConverter();
-    
-    /** 
-     * A general purpose function that converts a single locationinfo.
-     * Completion of the conversion is indicated by the LBS subsystem by invoking the
-     * MLbsLocationInfoConverterObserver::OnConversionComplete 
-     * and the caller can then iterate through the results returned in aLocationInfo
-     *   
-     * @capability Location
-     *
-     * @param[in] aLocationInfo location information to be converted.
-     * @param[in] aConversionPrefs Conversion preferences suggested by client
-     * @param[in] aRequestedInfo Location information that is requested. Currently
-     * the only supported conversion is from WLAN and/or GSM and/or WCDMA info into 
-     * a geographic position, hence the parameter should be set to ELbsConversionOutputPosition)
-     * Need to say that can only do one of either ConvertLocationFingerPrintToLocalityL  or ConvertLocationInfoL at a time or else user is panicked
-
-     * @leave KErrNoMemory if there is not enough memory available to perform the conversion.
-     *       KErrArgument If the location info pointer is NULL.
-     */
-    IMPORT_C void ConvertLocationInfoL( CLbsLocationInfoBase& aLocationInfo,
-               const TLbsConversionPrefs aConversionPrefs,
-               const TLbsConversionOutputInfoMask aRequestedInfo );    
-
-
-    /** 
-     * A general purpose function that converts multiple locationinfos. 
-     * The maximum allowable batch size is defined by KPositionMaxBatchSize which is 500. 
-     * Exceeding KPositionMaxBatchSize will result in KErrNotSupported being reported.
-     *
-     * Completion of the conversion is indicated by the LBS subsystem by invoking the
-     * MLbsLocationInfoConverterObserver::OnConversionComplete
-     * and the caller can then iterate through the results returned in aLocationInfoArray
-     *
-     * @capability Location
-     *
-     * @param[in] aLocationInfo An array of location information to be converted.
-     * @param[in] aConversionPrefs Conversion preferences suggested by client
-     * @param[in] aRequestedInfo Location information that is requested. Currently
-     * the only supported conversion is from WLAN and/or GSM and/or WCDMA info into 
-     * a geographic position, hence the parameter should be set to ELbsConversionOutputPosition)
-     *
-     * @leave KErrNoMemory if there is not enough memory available to perform the conversion.
-     *       KErrArgument If the location info pointer is NULL.
-     *       KErrNotSupported if the conversion type specified by 
-     *       aRequestedInfo is not supported or if the bitmask specified by the
-     *       client has all options set. This error is also returned if the 
-     *       batch size exceeds KPositionMaxBatchSize.
-     */
-    IMPORT_C void ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray,
-                                       const TLbsConversionPrefs aConversionPrefs, 
-                                       const TLbsConversionOutputInfoMask aRequestedInfo );
-    
-    /** 
-     * Cancels an ongoing conversion operation.
-     * If there is no ongoing conversion the cancellation request is ignored.
-     *
-     * Neither of the The MLbsLocationInfoConverterObserver callbacks will not be invoked if cancellation is successful.
-     */
-    IMPORT_C void CancelConvertLocationInfo();
-
-private:
-   
-    /** 
-     * Default constructor 
-     */
-    CLbsLocationInfoConverter();
-    
-    /** 
-     * Symbian 2nd phase constructor. 
-     */
-    void ConstructL(MLbsLocationInfoConverterObserver& aObserver,
-                              const TUid aConverterModuleId);
-
-    /** 
-     * Copy constructor. Restricted by default. 
-     */
-    CLbsLocationInfoConverter( CLbsLocationInfoConverter& );
-    
-    /** 
-     * Overloaded assignment operator. Restricted by default. 
-     */
-    CLbsLocationInfoConverter& operator=( CLbsLocationInfoConverter& );
-    
-private:
-
-    /** 
-     * Pointer to implementation class 
-     */
-    TAny* iLocationInfoConverterImpl;
-    
-    };
-
-
-
-#endif // LBS_LOCATION_INFO_CONVERTER_H
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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: Class used by client applications to convert data 
-* such as such as WlanInfo or CellIds into TLocality position information
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-#ifndef LBS_LOCATIONRESOLVER_H
-#define LBS_LOCATIONRESOLVER_H
-
-
-#include <e32base.h>
-#include <lbs/lbslocationcommon.h>
-#include <lbs/lbslocationinfo.h>
-#include <lbs/lbslocationinfoconvertercommon.h>
-
-
-class MLbsLocationResolverObserver
-    {
-        
-public:
-
-    /** 
-     * Gets the current version of the observer interface.
-     * Derived classes should not change the implementation.
-     *
-     * @return Version number (currently 1.0.0) 
-     */
-    IMPORT_C virtual TVersion Version()  const;
-    
-    /**
-     * The callback is used by the LBS subsystem to inform a client application 
-     * that a simple CLbsLocationResolver conversion process initiated through the 
-     * CLbsLocationResolver::ResolveLocationL method has been finished.
-     * 
-     * @param aStatus status of conversion, KErrNone for success, standard system error code
-     *  in other cases. Note that in the event of a cancellation this method will not execute.
-     * @param aBasicLocationInfo the location conversion that was requested. 
-     * If the conversion has failed the values will be uninitialised 
-     */
-    virtual void OnResolveLocationComplete(TInt aStatus, const TLocality& aLocality) = 0;
-    
-    };
-
-
-NONSHARABLE_CLASS(CLbsLocationResolver) : public CBase
-    {
-
-public:
-
-    /**
-     * Allocates and construct a new CLbsLocationResolver
-     * @param[in] aObserver An observer for location conversion event.
-     * @param[in] aConverterModuleId UID of the conversion plugin to be used.
-     */
-    IMPORT_C static CLbsLocationResolver* NewL(MLbsLocationResolverObserver& aObserver,
-                                                const TUid aConverterModuleId);
-    
-    /** 
-     * Allocates and construct a new CLbsLocationResolver
-     * @param[in] aObserver An observer for location conversion event.
-     */
-    IMPORT_C static CLbsLocationResolver* NewL(MLbsLocationResolverObserver& aObserver);
-
-    /** 
-     * Destructor. 
-     */
-    IMPORT_C ~CLbsLocationResolver();
-    
-    /**
-     * A simple function that converts a single Location Info into a TLocality
-     * No preferences or masks may be set. 
-     * The result is returned in the MLbsLocationResolverObserver 
-     * callback via OnResolveLocationComplete
-     * 
-     * Only one outstanding conversion can be open at a time for each client.
-     * Attempting to perform more than one will result in a leave with KErrInUse
-     * 
-     * @param[in] aLocationInfo the information to be converted into a location.
-     */
-    IMPORT_C void ResolveLocationL(const CLbsLocationInfo& aLocationInfo); 
-     
-    /** 
-     * Cancels an ongoing conversion operation.
-     * If there is no ongoing conversion the cancellation request is ignored.
-     *
-     * The MLbsLocationResolverObserver callback will not be invoked 
-     * if cancellation is successful.
-     */
-    IMPORT_C void CancelResolveLocation();
-
-protected:
-    /** 
-     * Default constructor 
-     */
-    CLbsLocationResolver();
-    
-    /** 
-     * Symbian 2nd phase constructor. 
-     */
-    void ConstructL(MLbsLocationResolverObserver& aObserver, const TUid aConverterModuleId);
-
-
-private:
-    /** 
-     * Copy constructor. Restricted by default. 
-     */
-    CLbsLocationResolver(CLbsLocationResolver&);
-    
-    /** 
-     * Overloaded assignment operator. Restricted by default. 
-     */
-    CLbsLocationResolver& operator=(CLbsLocationResolver&);
-    
-private:
-
-    /** 
-     * Pointer to implementation class 
-     */
-    TAny* iLocationResolverImpl;
-    
-    };
-
-
-#endif // LBS_LOCATIONRESOLVER_H
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /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: Class used by client applications to convert location 
-* information
-*
-*/
-
-#include <e32base.h>
-#include <lbs/lbslocationinfoconverter.h>
-#include <lbs/lbslocationinfoconvertercommon.h>
-
-
-EXPORT_C TVersion MLbsLocationInfoConverterObserver::Version()  const
-	{
-	return TVersion(1, 0, 0);
-	}
-
-
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::NewL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationInfoConverter* CLbsLocationInfoConverter::NewL(
-                                     MLbsLocationInfoConverterObserver& aObserver, 
-                                     const TUid aConverterModuleId )
-    {
-    CLbsLocationInfoConverter* self = new( ELeave ) CLbsLocationInfoConverter;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver,aConverterModuleId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::NewL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationInfoConverter* CLbsLocationInfoConverter::NewL(
-                                     MLbsLocationInfoConverterObserver& aObserver )
-    {
-    CLbsLocationInfoConverter* self = new( ELeave ) CLbsLocationInfoConverter;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver,TUid::Uid( KNullUidValue ) );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::~CLbsLocationInfoConverter
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationInfoConverter::~CLbsLocationInfoConverter()
-    {
-    delete iLocationInfoConverterImpl;
-    iLocationInfoConverterImpl = NULL;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::ConvertLocationInfoL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL( 
-                                CLbsLocationInfoBase& /*aLocationInfo*/,
-                                const TLbsConversionPrefs /*aConversionPrefs*/,
-                                const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::ConvertLocationInfoL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL( 
-                                RLbsLocationInfoBaseArray& /*aLocationInfoArray*/,
-                                const TLbsConversionPrefs /*aConversionPrefs*/, 
-                                const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::CancelConvertLocationInfo
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C void CLbsLocationInfoConverter::CancelConvertLocationInfo()
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::ConstructL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-void CLbsLocationInfoConverter::ConstructL( 
-                        MLbsLocationInfoConverterObserver& /*aObserver*/, 
-                        const TUid /*aConverterModuleId*/ )
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationInfoConverter::CLbsLocationInfoConverter
-// (other items were commented in a header).
-//----------------------------------------------------------------
-CLbsLocationInfoConverter::CLbsLocationInfoConverter()
-    {
-    
-    }
--- a/locationmgmt/locmonitor/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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: Class used by client applications to convert location 
-* information
-*
-*/
-
-#include <e32base.h>
-#include <lbs/lbslocationresolver.h>
-#include <lbs/lbslocationinfoconvertercommon.h>
-
-
-EXPORT_C TVersion MLbsLocationResolverObserver::Version()  const
-	{
-	return TVersion(1, 0, 0);
-	}
-
-
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::NewL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationResolver* CLbsLocationResolver::NewL(
-                                     MLbsLocationResolverObserver& aObserver, 
-                                     const TUid aConverterModuleId )
-    {
-    CLbsLocationResolver* self = new( ELeave ) CLbsLocationResolver;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver,aConverterModuleId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::NewL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationResolver* CLbsLocationResolver::NewL(
-                                     MLbsLocationResolverObserver& aObserver )
-    {
-    CLbsLocationResolver* self = new( ELeave ) CLbsLocationResolver;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver,TUid::Uid( KNullUidValue ) );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::~CLbsLocationResolver
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C CLbsLocationResolver::~CLbsLocationResolver()
-    {
-    delete iLocationResolverImpl;
-    iLocationResolverImpl = NULL;
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::ConvertLocationInfoToBasicLocationInfoL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C void CLbsLocationResolver::ResolveLocationL(const CLbsLocationInfo& /*aLocationInfo*/)
-    {
-    }
-
-
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::CancelResolveLocation
-// (other items were commented in a header).
-//----------------------------------------------------------------
-EXPORT_C void CLbsLocationResolver::CancelResolveLocation()
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::ConstructL
-// (other items were commented in a header).
-//----------------------------------------------------------------
-void CLbsLocationResolver::ConstructL( 
-                        MLbsLocationResolverObserver& /*aObserver*/, 
-                        const TUid /*aConverterModuleId*/ )
-    {
-    }
-
-//----------------------------------------------------------------
-// CLbsLocationResolver::CLbsLocationResolver
-// (other items were commented in a header).
-//----------------------------------------------------------------
-CLbsLocationResolver::CLbsLocationResolver()
-    {
-    
-    }
--- a/locationmgmt/locmonitor/ConversionApi/ConversionCommon/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +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:
-//
-
-
-PRJ_EXPORTS
-../inc/lbslocationinfoconvertercommon.h	lbs/lbslocationinfoconvertercommon.h
--- a/locationmgmt/locmonitor/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +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: Common enumerations used by client applications and plugins 
-* for conversion of location information.
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-#ifndef LBS_LOCATION_INFO_CONVERTER_COMMON_H
-#define LBS_LOCATION_INFO_CONVERTER_COMMON_H
-
-#include <e32std.h>
-
-/**
- * Conversion preferences
- */ 
-typedef TUint32 TLbsConversionPrefs;
-
-
-/**
- * Enumeration to define the preferences a client can specify while requesting
- * location information. The conversion preferences enumeration shall not be 
- * used as a bitmask. 
- * The preferences are used by conversion module in order to decide if/how
- * a connection to an external server should be established.
- */
-enum _TLbsConversionPrefs
-    {
-    	
-    /**
-     * Indicates that no preferences are specified.
-     */
-    ELbsConversionNotDefined = 0x0000,
-    	
-    /**
-     * Use only local cache to retrieve information.
-     */
-    ELbsConversionCacheOnly  = 0x0001,
-  
-    /**
-     * Disable prompt while making a connection to an external service for
-     * conversion.
-	 * Ignored if a conversion module does not require external connection.
-     */
-    ELbsConversionSilent     = 0x0002,
-  
-    /**
-     * Allow prompt while making a connection to an external service for 
-     * conversion.
-	 * Ignored if a conversion module does not require external connection.
-     */
-    ELbsConversionPrompt     = 0x0004
-  
-    };  
-
-
-/**
- * Output Location Information
- */ 
-typedef TUint32 TLbsConversionOutputInfoMask;
-
-
-/**
- * Enumeration to define the type(s) of location information being communicated
- */
-enum _TLbsConversionOutputInfoMask
-    { 
-    
-    /**
-     * Used to initialise data only. Should not be used when requesting conversions.
-     */
-    ELbsConversionOutputNotDefined = 0x0000,
-
-    /**
-     * Indicates that the input data should be converted to a geographical coordinate
-	 * @see CLbsPositionInfo
-     */
-    ELbsConversionOutputPosition = 0x0001,
-    
-    /**
-     * Indicates that the input data should be converted to a GSM Cell information 
-	 * @see CLbsGsmCellInfo
-     */
-    ELbsConversionOutputGsm = 0x0002,
-    
-    /**
-     * Indicates that the input data should be converted to a WCDMA Cell information 
-	 * @see CLbsWcdmaCellInfo
-     */
-    ELbsConversionOutputWcdma = 0x0004,
-    
-    /**
-     * Indicates that the input data should be converted to a WLAN information 
-	 * @see CLbsWlanInfo
-     */
-    ELbsConversionOutputWlan = 0x0008
-    };
-
-#endif // LBS_LOCATION_INFO_CONVERTER_COMMON_H
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/BWINS/lbslocationinfoconverterpluginu.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	??0TLbsLocInfoConverterPluginClassTypeBase@@IAE@XZ @ 1 NONAME ; TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase(void)
-	??0TLbsLocInfoConverterPluginParams@@QAE@AAVMLbsLocInfoConverterPluginObserver@@@Z @ 2 NONAME ; TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams(class MLbsLocInfoConverterPluginObserver &)
-	??1CLbsLocInfoConverterPluginBase@@UAE@XZ @ 3 NONAME ; CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase(void)
-	?ClassSize@TLbsLocInfoConverterPluginClassTypeBase@@QBEIXZ @ 4 NONAME ; unsigned int TLbsLocInfoConverterPluginClassTypeBase::ClassSize(void) const
-	?ClassType@TLbsLocInfoConverterPluginClassTypeBase@@QBEKXZ @ 5 NONAME ; unsigned long TLbsLocInfoConverterPluginClassTypeBase::ClassType(void) const
-	?ExtendedInterface@CLbsLocInfoConverterPluginBase@@UAEPAXHPAX0@Z @ 6 NONAME ; void * CLbsLocInfoConverterPluginBase::ExtendedInterface(int, void *, void *)
-	?ExtendedInterface@MLbsLocInfoConverterPluginObserver@@EAEPAXHPAX0@Z @ 7 NONAME ; void * MLbsLocInfoConverterPluginObserver::ExtendedInterface(int, void *, void *)
-	?NewL@CLbsLocInfoConverterPluginBase@@SAPAV1@VTUid@@AAVTLbsLocInfoConverterPluginParams@@@Z @ 8 NONAME ; class CLbsLocInfoConverterPluginBase * CLbsLocInfoConverterPluginBase::NewL(class TUid, class TLbsLocInfoConverterPluginParams &)
-	?Observer@TLbsLocInfoConverterPluginParams@@QBEAAVMLbsLocInfoConverterPluginObserver@@XZ @ 9 NONAME ; class MLbsLocInfoConverterPluginObserver & TLbsLocInfoConverterPluginParams::Observer(void) const
-	?Version@CLbsLocInfoConverterPluginBase@@UBE?AVTVersion@@XZ @ 10 NONAME ; class TVersion CLbsLocInfoConverterPluginBase::Version(void) const
-	?Version@MLbsLocInfoConverterPluginObserver@@UBE?AVTVersion@@XZ @ 11 NONAME ; class TVersion MLbsLocInfoConverterPluginObserver::Version(void) const
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/EABI/lbslocationinfoconverterpluginu.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-EXPORTS
-	_ZN30CLbsLocInfoConverterPluginBase17ExtendedInterfaceEiPvS0_ @ 1 NONAME
-	_ZN30CLbsLocInfoConverterPluginBase4NewLE4TUidR32TLbsLocInfoConverterPluginParams @ 2 NONAME
-	_ZN30CLbsLocInfoConverterPluginBaseD0Ev @ 3 NONAME
-	_ZN30CLbsLocInfoConverterPluginBaseD1Ev @ 4 NONAME
-	_ZN30CLbsLocInfoConverterPluginBaseD2Ev @ 5 NONAME
-	_ZN32TLbsLocInfoConverterPluginParamsC1ER34MLbsLocInfoConverterPluginObserver @ 6 NONAME
-	_ZN32TLbsLocInfoConverterPluginParamsC2ER34MLbsLocInfoConverterPluginObserver @ 7 NONAME
-	_ZN34MLbsLocInfoConverterPluginObserver17ExtendedInterfaceEiPvS0_ @ 8 NONAME
-	_ZN39TLbsLocInfoConverterPluginClassTypeBaseC1Ev @ 9 NONAME
-	_ZN39TLbsLocInfoConverterPluginClassTypeBaseC2Ev @ 10 NONAME
-	_ZNK30CLbsLocInfoConverterPluginBase7VersionEv @ 11 NONAME
-	_ZNK32TLbsLocInfoConverterPluginParams8ObserverEv @ 12 NONAME
-	_ZNK34MLbsLocInfoConverterPluginObserver7VersionEv @ 13 NONAME
-	_ZNK39TLbsLocInfoConverterPluginClassTypeBase9ClassSizeEv @ 14 NONAME
-	_ZNK39TLbsLocInfoConverterPluginClassTypeBase9ClassTypeEv @ 15 NONAME
-	_ZTI30CLbsLocInfoConverterPluginBase @ 16 NONAME ; #<TI>#
-	_ZTI34MLbsLocInfoConverterPluginObserver @ 17 NONAME ; #<TI>#
-	_ZTV30CLbsLocInfoConverterPluginBase @ 18 NONAME ; #<VT>#
-	_ZTV34MLbsLocInfoConverterPluginObserver @ 19 NONAME ; #<VT>#
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-//
-
-
-PRJ_EXPORTS
-../inc/lbslocinfoconverterpluginbase.h			lbs/lbslocinfoconverterpluginbase.h
-../inc/lbslocinfoconverterpluginclasstypes.h    lbs/lbslocinfoconverterpluginclasstypes.h
-../inc/lbslocinfoconverterplugincommon.h        lbs/lbslocinfoconverterplugincommon.h
-../inc/lbslocinfoconverterpluginbase.hrh        lbs/lbslocinfoconverterpluginbase.hrh
-
-lbslocationinfoconverterplugin.iby      /epoc32/rom/include/lbslocationinfoconverterplugin.iby
-
-
-PRJ_MMPFILES
-lbslocationinfoconverterplugin.mmp
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.iby	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-*
-*/
-//#ifndef __LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
-#define __LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
-//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-file=ABI_DIR\DEBUG_DIR\lbslocationinfoconverterplugin.dll			sys\bin\lbslocationinfoconverterplugin.dll
-
-
-//#endif // SYMBIAN_EXCLUDE_LOCATION
-
-//#endif //__LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-TARGET          lbslocationinfoconverterplugin.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x102871FA
-
-VENDORID        0x70000001
-CAPABILITY      ALL -TCB
-
-SOURCEPATH      ../src
-SOURCE          lbslocinfoconverterpluginbase.cpp
-SOURCE          lbslocinfoconverterplugincommon.cpp
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE	/epoc32/include
-
-LIBRARY         euser.lib
-LIBRARY			ecom.lib
-LIBRARY         lbslocationinfodatatypes.lib
-
-SMPSAFE
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +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: Location information converter plug in API
-*
-*/
-
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
-#define LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
-
-
-// System wide
-#include <e32base.h>
-
-// Common LBS data types
-#include <lbs/lbslocationinfo.h>
-#include <lbs/lbslocationinfoconvertercommon.h>
-
-// Component specific
-#include <lbs/lbslocinfoconverterplugincommon.h>
-#include <lbs/lbslocinfoconverterpluginclasstypes.h>
-
-
-class TLbsLocInfoConverterPluginParams;
-
-
-/**
-* The MLbsLocInfoConverterPluginObserver class is used in partnership with
-* CLbsLocInfoConverterPluginBase. The observer interface is used by a 
-* conversion plugin to inform LBS when a coordinate conversion process 
-* initiated through the CLbsLocInfoConverterPluginBase class is completed. 
-*
-* Although all the interface methods in the MLbsLocInfoConverterPluginObserver
-* class are synchronous, the LBS subsystem ensures they return quickly.
-*/
-class MLbsLocInfoConverterPluginObserver
-    {
-    
-public:
-
-	/** 
-	 * Gets the current version of the observer interface.
-	 * Derived classes should not change the implementation.
-	 * 
-	 * @return Version number (currently 1.0.0) 
-     */
-	IMPORT_C virtual TVersion Version() const;
-	
-	/**
-	 * The callback is used by the conversion plugin to inform the LBS
-	 * subsystem that a validation request initiated through the 
-	 * CLbsLocInfoConverterPluginBase::ValidateClient method is completed. 
-	 *
-	 * @param aStatusCode Result of the validation operation. 
-	 *         KErrNone if the access is granted.
-	 *         KErrPermissionDenied due to a potential security violation.
-         *         Other system wide error codes.
-	 */
-	IMPORT_C virtual void OnValidationComplete( TInt aStatusCode ) = 0;
-
-    /** 
-     * The callback is used by the conversion plugin to inform the LBS 
-     * subsystem that a coordinate conversion process initiated through the 
-     * CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method is 
-     * completed.
-     *
-     * Receiving the callback indicates that, unless the conversion was not 
-     * successful, the location data structures passed through the 
-     * CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method have been 
-     * updated with the requested information.
-     *
-     * @param aStatusCode Result of the conversion operation. 
-     *         KErrNone if at least one conversion have been successful and 
-     *         the related location data structure(s) passed through the 
-     *         CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method 
-     *         have been updated with the requested information;
-     *         KErrKErrNotFound if none of conversions have been successful
-     *         Or other system wide error code otherwise.
-     */
-    IMPORT_C virtual void OnConversionComplete( TInt aStatusCode ) = 0;
-
-private:
-    
-	/** 
-	 * This methods is reserved for future expansion and should not be used or 
-	 * implemented by derived classes.
-	 */	
-	IMPORT_C virtual TAny* ExtendedInterface( TInt aFunctionNumber, 
-                                              TAny* aPtr1, 
-                                              TAny* aPtr2 );
-	
-    };
-
-
-/**
-* The CLbsLocInfoConverterPluginBase is the abstract Ecom interface to a 
-* coordinate conversion Plugin. All coordinate conversion Plugins must derive 
-* from and implement this interface.
-*
-* The interface is used in partnership with MLbsLocInfoConverterPluginObserver
-* and is used by the LBS subsystem to request conversion of location 
-* information between different formats.
-*
-* Completion of conversions must be indicated by a plugin by invoking 
-* callback(s) defined by the MLbsLocInfoConverterPluginObserver class.
-*
-* Although all the interface methods in the class are synchronous they must 
-* return immediately. When the LBS subsystem makes a request via 
-* CLbsLocInfoConverterPluginBase the Plugin must queue the request internally 
-* and return control to the caller immediately. Later on, when plugin provides
-* a response, it uses the corresponding notification method in the
-* MLbsLocInfoConverterPluginObserver class.
-*/
-class CLbsLocInfoConverterPluginBase : public CBase
-    {
-    	
-public:
-    
-    /**
-     * Loads a coordinate conversion Plugin and initalises it.
-     *
-     * @param[in] aImplementationUid An implementation Uid of the module to be 
-     * loaded.
-     * @param[in] aParams Arguments sent to conversion plugin.
-     *
-     * @return Pointer to the new coordinate conversion plugin.
-     */
-    IMPORT_C static CLbsLocInfoConverterPluginBase* NewL( 
-                                   TUid aImplementationUid,
-                                   TLbsLocInfoConverterPluginParams& aParams );
-                                                           
-    /**
-     * Destructor 
-     */
-    IMPORT_C virtual ~CLbsLocInfoConverterPluginBase();
-
-	/** 
-	 * Gets the current version of the interface implemented by a Plugin.
-     * Derived classes should not change the implementation.
-     *
-     * @return Version number (currently 1.0.0) 
-     */
-	IMPORT_C virtual TVersion Version() const;
-	
-	/**
-	 * Validates a client before a request is processed. This method is called
-	 * by the Location Monitor Server, everytime, before a conversion request is 
-	 * sent. 
-	 * The result of validation is indicated by the plugin by invoking the 
-	 * MLbsLocInfoConverterPluginObserver::OnValidationComplete callback.
-	 *
-	 * @param[in] aSecureId The secure ID of the client application/process
-	 * @param[in] aVendorId The vendor ID of the client application/process
-	 * @param{in] aRequestedInfo The requested converted information. This 
-	 * bit field would be checked by the plugin to determine if the specified
-	 * conversion can be supported for the requesting client. 
-	 */
-	IMPORT_C virtual void ValidateClient( const TSecureId& aSecureId, 
-	                    const TVendorId& aVendorId, 
-	                    const TLbsConversionOutputInfoMask aRequestedInfo) = 0;
-	                    
-	/**
-	 * Cancels an ongoing validation operation.
-	 * If there is no ongoing validation operation, the cancellation request 
-	 * is ignored.
-	 *
-	 * The MLbsLocInfoConverterPluginObserver::OnValidationComplete callback is
-	 * not invoked.
-	 */
-	IMPORT_C virtual void CancelValidateClient() = 0;
-    
-    /** 
-     * Converts multiple location information.
-     * 
-     * Completion of the conversion is indicated by a Plugin by invoking the
-     * MLbsLocInfoConverterPluginObserver::OnConversionComplete callback
-     *
-     * @param[in] aLocationInfo An array of location information for which 
-     * corresponding position information is expected.
-     * @param[in] aConversionPrefs Conversion preferences suggested by client
-     * @param[in] aRequestedInfo Location information that is requested.
-        
-     * @leave KErrNoMemory if there is not enough memory available to perform 
-     * the conversion.
-     *   KErrArgument If the location info pointer is NULL.
-     *   KErrNotSupported if the conversion type specified by aRequestedInfo is 
-     *   not supported.
-     *   Or any other system wide error code.
-     */                                                       
-    IMPORT_C virtual void ConvertLocationInfoL( 
-                       RLbsLocationInfoArray& aLocationInfoArray,
-                       const TLbsConversionPrefs aConversionPrefs, 
-                       const TLbsConversionOutputInfoMask aRequestedInfo ) = 0;
-
-    /** 
-     * Cancels an ongoing conversion operation.
-     * If there is no ongoing conversion the cancellation request is ignored.
-     *
-     * The MLbsLocInfoConverterPluginObserver::OnConversionComplete callback is 
-     * not invoked.
-     */
-    IMPORT_C virtual void CancelConvertLocationInfo() = 0;
-
-	/** 
-	 * This method is reserved for future expansion and should not be used 
-	 * or implemented by derived classes.
-	 */								
-	IMPORT_C virtual TAny* ExtendedInterface( TInt aFunctionNumber, 
-                                               TAny* aPtr1, 
-                                               TAny* aPtr2 );
-
-private: // data
-
-    /**
-     * Instance identifier key. When instance of an implementation is
-     * created by ECOM framework, the framework will assign UID
-     * for it. The UID is used in destructor to notify framework that 
-     * this instance is being destroyed and resources can be released.
-     */
-     TUid iDtor_ID_Key;
-     
-    };
-
-
-/**
-* This class encapsulates the construction parameters for a Coordinate 
-* Conversion plugin.
-*
-* These parameters are passed by the LBS subsystem to the implementation
-* of the Plugin module via ECom. The ECom constructor
-* should take a single TAny* parameter. That parameter should be cast to
-* a variable of type TLbsLocInfoConverterPluginParams.
-*
-* @see CLbsLocInfoConverterPluginBase::NewL
-*/
-class TLbsLocInfoConverterPluginParams : public TLbsLocInfoConverterPluginClassTypeBase
-	{
-	
-public:
-    
-	/**
-	 * This class encapsulates the construction parameters for a Coordinate 
-	 * Conversion plugin implementation.
-     *
-	 * When created, the LBS subsystem must provide a reference to the 
-	 * plugin's observer.  
-     *
-	 * @see MLbsLocInfoConverterPluginObserver
-     * @see CLbsLocInfoConverterPluginBase::NewL
-     */
-    IMPORT_C TLbsLocInfoConverterPluginParams( 
-		MLbsLocInfoConverterPluginObserver& aObserver );
-
-	/**
-	 * Returns a reference to the observer.
-     *
-	 * @see MLbsLocInfoConverterPluginObserver
-	 * @see CLbsLocInfoConverterPluginBase::NewL
-	 */
-	IMPORT_C MLbsLocInfoConverterPluginObserver& Observer() const;
-	
-protected:
-    
-	/**
-	 *  Handle to the plugin observer
-	 */
-    MLbsLocInfoConverterPluginObserver& iObserver;
-    
-    /**
-     * Reserved for future use
-     */
-	TUint8 iReserved[20];
-	
-	};
-
-#endif // LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.hrh	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project
-*
-*/
-
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBSLOCINFOCONVERTERPLUGINBASE_HRH
-#define LBSLOCINFOCONVERTERPLUGINBASE_HRH
-
-// ECom interface ID for Location information converter Plugin API
-#define KLbsLocInfoConverterPlugInInterfaceId (0x10287201)
-
-
-#endif // LBSLOCINFOCONVERTERPLUGINBASE_HRH
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: Common enumerations used by client applications and plugins 
-* for conversion of location information.
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-
-#ifndef LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
-#define LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
-
-
-/** Type used for identifying class types */
-typedef TUint32 TLbsLocInfoConverterPluginParamsClassType;
-
-
-/**
- * Class types for TLbsLocInfoConverterPluginParams and its derived classes 
- */
-enum _TLbsLocInfoConverterPluginParamsClassType
-	{
-	/** Should be used for data initialisation only */
-	ELbsLocInfoConverterPluginParamsUnknownClass = 0x00,
-
-	/** Identifier for TLbsLocInfoConverterPluginParams class */
-	ELbsLocInfoConverterPluginParamsClass        = 0x01,
-
-	/** Not used. */
-	ELbsLocInfoConverterPluginParamsLastClass    = 0xFFFFFFFF
-	};
-
-
-#endif // LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
-
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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: Base class for all the class representing
-* location informations.
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-#ifndef LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
-#define LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
-
-#include <e32std.h>
-
-
-/**
-The generic base for classes that store conversion Plugin Interface 
-related information
-*/
-class TLbsLocInfoConverterPluginClassTypeBase
-	{
-public:
-	IMPORT_C TUint32 ClassType() const;
-	IMPORT_C TUint ClassSize() const;
-
-protected:
-	IMPORT_C TLbsLocInfoConverterPluginClassTypeBase();
-
-protected:
-	/** The type of the derived class */
-	TUint32 iClassType;
-	/** The size of the derived class */
-	TUint iClassSize;
-	};
-
-
-#endif // LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +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: Implentation of functions shared between all 
-* implementations of the LBS Network Protocol Module 
-* interface/ECom plugin.
-*
-*/
-
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-
-#include <lbs/lbslocinfoconverterpluginbase.h>
-#include <lbs/lbslocinfoconverterpluginclasstypes.h>
-
-
-// ---------------------------------------------------------------------------
-// MLbsLocInfoConverterPluginObserver::ExtendedInterface()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TVersion MLbsLocInfoConverterPluginObserver::Version() const
-    {
-    return TVersion( 1, 0, 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// MLbsLocInfoConverterPluginObserver::ExtendedInterface()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* MLbsLocInfoConverterPluginObserver::ExtendedInterface( 
-                TInt  /*aFunctionNumber*/,
-                TAny* /*aPtr1*/,
-                TAny* /*aPtr2*/ )
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocInfoConverterPluginBase::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocInfoConverterPluginBase* CLbsLocInfoConverterPluginBase::NewL( 
-                                    TUid aImplementationUid,
-                                    TLbsLocInfoConverterPluginParams& aParams )
-    {
-    TAny* ptr = REComSession::CreateImplementationL( aImplementationUid, 
-                         _FOFF( CLbsLocInfoConverterPluginBase, iDtor_ID_Key ),
-                         reinterpret_cast<TAny*>( &aParams ) );
-
-    return reinterpret_cast<CLbsLocInfoConverterPluginBase*>(ptr);
-    }  
-
-// ---------------------------------------------------------------------------
-// CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase()
-    {
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocInfoConverterPluginBase::Version()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TVersion CLbsLocInfoConverterPluginBase::Version() const
-    {
-    return TVersion( 1, 0, 0 );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocInfoConverterPluginBase::ExtendedInterface()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CLbsLocInfoConverterPluginBase::ExtendedInterface(
-                                    TInt  /*aFunctionNumber*/,
-                                    TAny* /*aPtr1*/,
-                                    TAny* /*aPtr2*/ )
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams(
-           MLbsLocInfoConverterPluginObserver& aObserver ):iObserver(aObserver)
-    {
-    iClassType = ELbsLocInfoConverterPluginParamsClass;
-    iClassSize = sizeof(TLbsLocInfoConverterPluginParams);
-    }
-		
-// ---------------------------------------------------------------------------
-// TLbsLocInfoConverterPluginParams::Observer()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MLbsLocInfoConverterPluginObserver& TLbsLocInfoConverterPluginParams::Observer() const
-	{
-	return iObserver;
-	}
--- a/locationmgmt/locmonitor/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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: Implentation of functions shared between all 
-* implementations of the LBS Network Protocol Module 
-* interface/ECom plugin.
-*
-*/
-
-#include <e32base.h>
-#include <lbs/lbslocinfoconverterplugincommon.h>
-
-
-// ---------------------------------------------------------------------------
-// TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase()
-// Default constructor for TLbsLocInfoConverterPluginClassTypeBase
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase()
-:   iClassType(0),
-    iClassSize(0)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsLocInfoConverterPluginClassTypeBase::ClassSize()
-// Returns the size of the TLbsLocInfoConverterPluginClassTypeBase-derived class
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint TLbsLocInfoConverterPluginClassTypeBase::ClassSize() const
-    {
-    return iClassSize;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsLocInfoConverterPluginClassTypeBase::ClassType()
-// Returns the type of the TLbsLocInfoConverterPluginClassTypeBase-derived class
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 TLbsLocInfoConverterPluginClassTypeBase::ClassType() const
-    {
-    return iClassType;
-    }
--- a/locationmgmt/locmonitor/ConversionApi/group/ABLD.BAT	Fri Apr 09 17:19:12 2010 +0100
+++ /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 "\Lbs-Features\geocodding\ConversionApi\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/locationmgmt/locmonitor/ConversionApi/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /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 the License "Symbian Foundation License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building the 
-*		         location monitor component.
-*
-*/
-
-#include "../../ConversionDataTypes/group/bld.inf"
-#include "../ConversionCommon/group/bld.inf"
-#include "../ConversionClientApi/group/bld.inf"
-#include "../ConversionPluginApi/group/bld.inf"
-
-
-// End of file
--- a/locationmgmt/locmonitor/ConversionDataTypes/BWINS/lbslocationinfodatatypesu.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-EXPORTS
-	??0TLbsGsmNeighbourCellInfo@@QAE@HHH@Z @ 1 NONAME ; TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo(int, int, int)
-	??0TLbsGsmNeighbourCellInfo@@QAE@XZ @ 2 NONAME ; TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo(void)
-	??0TLbsWcdmaNeighbourCellInfo@@QAE@HHHH@Z @ 3 NONAME ; TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo(int, int, int, int)
-	??0TLbsWcdmaNeighbourCellInfo@@QAE@XZ @ 4 NONAME ; TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo(void)
-	??1CLbsAreaInfoBase@@UAE@XZ @ 5 NONAME ; CLbsAreaInfoBase::~CLbsAreaInfoBase(void)
-	??1CLbsGsmCellInfo@@UAE@XZ @ 6 NONAME ; CLbsGsmCellInfo::~CLbsGsmCellInfo(void)
-	??1CLbsLocationInfo@@UAE@XZ @ 7 NONAME ; CLbsLocationInfo::~CLbsLocationInfo(void)
-	??1CLbsLocationInfoBase@@UAE@XZ @ 8 NONAME ; CLbsLocationInfoBase::~CLbsLocationInfoBase(void)
-	??1CLbsPositionInfo@@UAE@XZ @ 9 NONAME ; CLbsPositionInfo::~CLbsPositionInfo(void)
-	??1CLbsWcdmaCellInfo@@UAE@XZ @ 10 NONAME ; CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo(void)
-	??1CLbsWlanInfo@@UAE@XZ @ 11 NONAME ; CLbsWlanInfo::~CLbsWlanInfo(void)
-	?AddAreaInfoL@CLbsLocationInfo@@QAEXPAVCLbsAreaInfoBase@@@Z @ 12 NONAME ; void CLbsLocationInfo::AddAreaInfoL(class CLbsAreaInfoBase *)
-	?AddNeighbouringCellInfoL@CLbsGsmCellInfo@@QAEXPAVTLbsGsmNeighbourCellInfo@@@Z @ 13 NONAME ; void CLbsGsmCellInfo::AddNeighbouringCellInfoL(class TLbsGsmNeighbourCellInfo *)
-	?AddNeighbouringCellInfoL@CLbsWcdmaCellInfo@@QAEXPAVTLbsWcdmaNeighbourCellInfo@@@Z @ 14 NONAME ; void CLbsWcdmaCellInfo::AddNeighbouringCellInfoL(class TLbsWcdmaNeighbourCellInfo *)
-	?Arfcn@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 15 NONAME ; int TLbsGsmNeighbourCellInfo::Arfcn(void) const
-	?Bsic@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 16 NONAME ; int TLbsGsmNeighbourCellInfo::Bsic(void) const
-	?CellId@CLbsGsmCellInfo@@QBEHXZ @ 17 NONAME ; int CLbsGsmCellInfo::CellId(void) const
-	?ExternaliseL@CLbsAreaInfoBase@@QBEXAAVRWriteStream@@@Z @ 18 NONAME ; void CLbsAreaInfoBase::ExternaliseL(class RWriteStream &) const
-	?ExternaliseL@CLbsLocationInfoBase@@QBEXAAVRWriteStream@@@Z @ 19 NONAME ; void CLbsLocationInfoBase::ExternaliseL(class RWriteStream &) const
-	?GetAreaInfoL@CLbsLocationInfo@@QAEXAAV?$RPointerArray@VCLbsAreaInfoBase@@@@K@Z @ 20 NONAME ; void CLbsLocationInfo::GetAreaInfoL(class RPointerArray<class CLbsAreaInfoBase> &, unsigned long)
-	?GetLocality@CLbsPositionInfo@@QBEXAAVTLocality@@@Z @ 21 NONAME ; void CLbsPositionInfo::GetLocality(class TLocality &) const
-	?GetMacAddress@CLbsWlanInfo@@QBEXAAVTDes8@@@Z @ 22 NONAME ; void CLbsWlanInfo::GetMacAddress(class TDes8 &) const
-	?GetNeighbouringCellInfoL@CLbsGsmCellInfo@@QBEXAAV?$RArray@VTLbsGsmNeighbourCellInfo@@@@@Z @ 23 NONAME ; void CLbsGsmCellInfo::GetNeighbouringCellInfoL(class RArray<class TLbsGsmNeighbourCellInfo> &) const
-	?GetNeighbouringCellInfoL@CLbsWcdmaCellInfo@@QBEXAAV?$RArray@VTLbsWcdmaNeighbourCellInfo@@@@@Z @ 24 NONAME ; void CLbsWcdmaCellInfo::GetNeighbouringCellInfoL(class RArray<class TLbsWcdmaNeighbourCellInfo> &) const
-	?InternaliseL@CLbsAreaInfoBase@@QAEXAAVRReadStream@@@Z @ 25 NONAME ; void CLbsAreaInfoBase::InternaliseL(class RReadStream &)
-	?InternaliseL@CLbsLocationInfoBase@@QAEXAAVRReadStream@@@Z @ 26 NONAME ; void CLbsLocationInfoBase::InternaliseL(class RReadStream &)
-	?LocationAreaCode@CLbsGsmCellInfo@@QBEHXZ @ 27 NONAME ; int CLbsGsmCellInfo::LocationAreaCode(void) const
-	?MobileCountryCode@CLbsGsmCellInfo@@QBEHXZ @ 28 NONAME ; int CLbsGsmCellInfo::MobileCountryCode(void) const
-	?MobileCountryCode@CLbsWcdmaCellInfo@@QBEHXZ @ 29 NONAME ; int CLbsWcdmaCellInfo::MobileCountryCode(void) const
-	?MobileNetworkCode@CLbsGsmCellInfo@@QBEHXZ @ 30 NONAME ; int CLbsGsmCellInfo::MobileNetworkCode(void) const
-	?MobileNetworkCode@CLbsWcdmaCellInfo@@QBEHXZ @ 31 NONAME ; int CLbsWcdmaCellInfo::MobileNetworkCode(void) const
-	?NewL@CLbsGsmCellInfo@@SAPAV1@HHHH@Z @ 32 NONAME ; class CLbsGsmCellInfo * CLbsGsmCellInfo::NewL(int, int, int, int)
-	?NewL@CLbsGsmCellInfo@@SAPAV1@XZ @ 33 NONAME ; class CLbsGsmCellInfo * CLbsGsmCellInfo::NewL(void)
-	?NewL@CLbsLocationInfo@@SAPAV1@XZ @ 34 NONAME ; class CLbsLocationInfo * CLbsLocationInfo::NewL(void)
-	?NewL@CLbsPositionInfo@@SAPAV1@ABVTLocality@@@Z @ 35 NONAME ; class CLbsPositionInfo * CLbsPositionInfo::NewL(class TLocality const &)
-	?NewL@CLbsPositionInfo@@SAPAV1@XZ @ 36 NONAME ; class CLbsPositionInfo * CLbsPositionInfo::NewL(void)
-	?NewL@CLbsWcdmaCellInfo@@SAPAV1@HHH@Z @ 37 NONAME ; class CLbsWcdmaCellInfo * CLbsWcdmaCellInfo::NewL(int, int, int)
-	?NewL@CLbsWcdmaCellInfo@@SAPAV1@XZ @ 38 NONAME ; class CLbsWcdmaCellInfo * CLbsWcdmaCellInfo::NewL(void)
-	?NewL@CLbsWlanInfo@@SAPAV1@ABV?$TBuf8@$0BC@@@H@Z @ 39 NONAME ; class CLbsWlanInfo * CLbsWlanInfo::NewL(class TBuf8<18> const &, int)
-	?NewL@CLbsWlanInfo@@SAPAV1@XZ @ 40 NONAME ; class CLbsWlanInfo * CLbsWlanInfo::NewL(void)
-	?NewLC@CLbsLocationInfo@@SAPAV1@XZ @ 41 NONAME ; class CLbsLocationInfo * CLbsLocationInfo::NewLC(void)
-	?Pathloss@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 42 NONAME ; int TLbsWcdmaNeighbourCellInfo::Pathloss(void) const
-	?ResetAreaInfo@CLbsLocationInfo@@QAEXK@Z @ 43 NONAME ; void CLbsLocationInfo::ResetAreaInfo(unsigned long)
-	?ResetNeighbouringCellInfo@CLbsGsmCellInfo@@QAEXXZ @ 44 NONAME ; void CLbsGsmCellInfo::ResetNeighbouringCellInfo(void)
-	?ResetNeighbouringCellInfo@CLbsWcdmaCellInfo@@QAEXXZ @ 45 NONAME ; void CLbsWcdmaCellInfo::ResetNeighbouringCellInfo(void)
-	?RxLevel@CLbsGsmCellInfo@@QBEHXZ @ 46 NONAME ; int CLbsGsmCellInfo::RxLevel(void) const
-	?RxLevel@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 47 NONAME ; int TLbsGsmNeighbourCellInfo::RxLevel(void) const
-	?ScramblingCode@CLbsWcdmaCellInfo@@QBEHXZ @ 48 NONAME ; int CLbsWcdmaCellInfo::ScramblingCode(void) const
-	?ScramblingCode@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 49 NONAME ; int TLbsWcdmaNeighbourCellInfo::ScramblingCode(void) const
-	?SetArfcn@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 50 NONAME ; void TLbsGsmNeighbourCellInfo::SetArfcn(int)
-	?SetBsic@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 51 NONAME ; void TLbsGsmNeighbourCellInfo::SetBsic(int)
-	?SetCellId@CLbsGsmCellInfo@@QAEXH@Z @ 52 NONAME ; void CLbsGsmCellInfo::SetCellId(int)
-	?SetLocality@CLbsPositionInfo@@QAEXABVTLocality@@@Z @ 53 NONAME ; void CLbsPositionInfo::SetLocality(class TLocality const &)
-	?SetLocationAreaCode@CLbsGsmCellInfo@@QAEXH@Z @ 54 NONAME ; void CLbsGsmCellInfo::SetLocationAreaCode(int)
-	?SetMacAddress@CLbsWlanInfo@@QAEXABVTDesC8@@@Z @ 55 NONAME ; void CLbsWlanInfo::SetMacAddress(class TDesC8 const &)
-	?SetMobileCountryCode@CLbsGsmCellInfo@@QAEXH@Z @ 56 NONAME ; void CLbsGsmCellInfo::SetMobileCountryCode(int)
-	?SetMobileCountryCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 57 NONAME ; void CLbsWcdmaCellInfo::SetMobileCountryCode(int)
-	?SetMobileNetworkCode@CLbsGsmCellInfo@@QAEXH@Z @ 58 NONAME ; void CLbsGsmCellInfo::SetMobileNetworkCode(int)
-	?SetMobileNetworkCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 59 NONAME ; void CLbsWcdmaCellInfo::SetMobileNetworkCode(int)
-	?SetPathloss@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 60 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetPathloss(int)
-	?SetRxLevel@CLbsGsmCellInfo@@QAEXH@Z @ 61 NONAME ; void CLbsGsmCellInfo::SetRxLevel(int)
-	?SetRxLevel@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 62 NONAME ; void TLbsGsmNeighbourCellInfo::SetRxLevel(int)
-	?SetScramblingCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 63 NONAME ; void CLbsWcdmaCellInfo::SetScramblingCode(int)
-	?SetScramblingCode@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 64 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetScramblingCode(int)
-	?SetSignalStrength@CLbsWlanInfo@@QAEXH@Z @ 65 NONAME ; void CLbsWlanInfo::SetSignalStrength(int)
-	?SetSignalStrength@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 66 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetSignalStrength(int)
-	?SetTimingAdvance@CLbsGsmCellInfo@@QAEXH@Z @ 67 NONAME ; void CLbsGsmCellInfo::SetTimingAdvance(int)
-	?SetUniqueCellId@CLbsWcdmaCellInfo@@QAEXH@Z @ 68 NONAME ; void CLbsWcdmaCellInfo::SetUniqueCellId(int)
-	?SetUniqueCellId@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 69 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetUniqueCellId(int)
-	?SignalStrength@CLbsWlanInfo@@QBEHXZ @ 70 NONAME ; int CLbsWlanInfo::SignalStrength(void) const
-	?SignalStrength@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 71 NONAME ; int TLbsWcdmaNeighbourCellInfo::SignalStrength(void) const
-	?TimingAdvance@CLbsGsmCellInfo@@QBEHXZ @ 72 NONAME ; int CLbsGsmCellInfo::TimingAdvance(void) const
-	?Type@CLbsAreaInfoBase@@UAEKXZ @ 73 NONAME ; unsigned long CLbsAreaInfoBase::Type(void)
-	?Type@CLbsLocationInfo@@MAEKXZ @ 74 NONAME ; unsigned long CLbsLocationInfo::Type(void)
-	?Type@CLbsLocationInfoBase@@UAEKXZ @ 75 NONAME ; unsigned long CLbsLocationInfoBase::Type(void)
-	?UniqueCellId@CLbsWcdmaCellInfo@@QBEHXZ @ 76 NONAME ; int CLbsWcdmaCellInfo::UniqueCellId(void) const
-	?UniqueCellId@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 77 NONAME ; int TLbsWcdmaNeighbourCellInfo::UniqueCellId(void) const
-
--- a/locationmgmt/locmonitor/ConversionDataTypes/EABI/lbslocationinfodatatypesu.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-EXPORTS
-	_ZN12CLbsWlanInfo13SetMacAddressERK6TDesC8 @ 1 NONAME
-	_ZN12CLbsWlanInfo17SetSignalStrengthEi @ 2 NONAME
-	_ZN12CLbsWlanInfo4NewLERK5TBuf8ILi18EEi @ 3 NONAME
-	_ZN12CLbsWlanInfo4NewLEv @ 4 NONAME
-	_ZN12CLbsWlanInfoD0Ev @ 5 NONAME
-	_ZN12CLbsWlanInfoD1Ev @ 6 NONAME
-	_ZN12CLbsWlanInfoD2Ev @ 7 NONAME
-	_ZN15CLbsGsmCellInfo10SetRxLevelEi @ 8 NONAME
-	_ZN15CLbsGsmCellInfo16SetTimingAdvanceEi @ 9 NONAME
-	_ZN15CLbsGsmCellInfo19SetLocationAreaCodeEi @ 10 NONAME
-	_ZN15CLbsGsmCellInfo20SetMobileCountryCodeEi @ 11 NONAME
-	_ZN15CLbsGsmCellInfo20SetMobileNetworkCodeEi @ 12 NONAME
-	_ZN15CLbsGsmCellInfo24AddNeighbouringCellInfoLEP24TLbsGsmNeighbourCellInfo @ 13 NONAME
-	_ZN15CLbsGsmCellInfo25ResetNeighbouringCellInfoEv @ 14 NONAME
-	_ZN15CLbsGsmCellInfo4NewLEiiii @ 15 NONAME
-	_ZN15CLbsGsmCellInfo4NewLEv @ 16 NONAME
-	_ZN15CLbsGsmCellInfo9SetCellIdEi @ 17 NONAME
-	_ZN15CLbsGsmCellInfoD0Ev @ 18 NONAME
-	_ZN15CLbsGsmCellInfoD1Ev @ 19 NONAME
-	_ZN15CLbsGsmCellInfoD2Ev @ 20 NONAME
-	_ZN16CLbsAreaInfoBase12InternaliseLER11RReadStream @ 21 NONAME
-	_ZN16CLbsAreaInfoBase4TypeEv @ 22 NONAME
-	_ZN16CLbsAreaInfoBaseD0Ev @ 23 NONAME
-	_ZN16CLbsAreaInfoBaseD1Ev @ 24 NONAME
-	_ZN16CLbsAreaInfoBaseD2Ev @ 25 NONAME
-	_ZN16CLbsLocationInfo12AddAreaInfoLEP16CLbsAreaInfoBase @ 26 NONAME
-	_ZN16CLbsLocationInfo12GetAreaInfoLER13RPointerArrayI16CLbsAreaInfoBaseEm @ 27 NONAME
-	_ZN16CLbsLocationInfo13ResetAreaInfoEm @ 28 NONAME
-	_ZN16CLbsLocationInfo4NewLEv @ 29 NONAME
-	_ZN16CLbsLocationInfo4TypeEv @ 30 NONAME
-	_ZN16CLbsLocationInfo5NewLCEv @ 31 NONAME
-	_ZN16CLbsLocationInfoD0Ev @ 32 NONAME
-	_ZN16CLbsLocationInfoD1Ev @ 33 NONAME
-	_ZN16CLbsLocationInfoD2Ev @ 34 NONAME
-	_ZN16CLbsPositionInfo11SetLocalityERK9TLocality @ 35 NONAME
-	_ZN16CLbsPositionInfo4NewLERK9TLocality @ 36 NONAME
-	_ZN16CLbsPositionInfo4NewLEv @ 37 NONAME
-	_ZN16CLbsPositionInfoD0Ev @ 38 NONAME
-	_ZN16CLbsPositionInfoD1Ev @ 39 NONAME
-	_ZN16CLbsPositionInfoD2Ev @ 40 NONAME
-	_ZN17CLbsWcdmaCellInfo15SetUniqueCellIdEi @ 41 NONAME
-	_ZN17CLbsWcdmaCellInfo17SetScramblingCodeEi @ 42 NONAME
-	_ZN17CLbsWcdmaCellInfo20SetMobileCountryCodeEi @ 43 NONAME
-	_ZN17CLbsWcdmaCellInfo20SetMobileNetworkCodeEi @ 44 NONAME
-	_ZN17CLbsWcdmaCellInfo24AddNeighbouringCellInfoLEP26TLbsWcdmaNeighbourCellInfo @ 45 NONAME
-	_ZN17CLbsWcdmaCellInfo25ResetNeighbouringCellInfoEv @ 46 NONAME
-	_ZN17CLbsWcdmaCellInfo4NewLEiii @ 47 NONAME
-	_ZN17CLbsWcdmaCellInfo4NewLEv @ 48 NONAME
-	_ZN17CLbsWcdmaCellInfoD0Ev @ 49 NONAME
-	_ZN17CLbsWcdmaCellInfoD1Ev @ 50 NONAME
-	_ZN17CLbsWcdmaCellInfoD2Ev @ 51 NONAME
-	_ZN20CLbsLocationInfoBase12InternaliseLER11RReadStream @ 52 NONAME
-	_ZN20CLbsLocationInfoBase4TypeEv @ 53 NONAME
-	_ZN20CLbsLocationInfoBaseD0Ev @ 54 NONAME
-	_ZN20CLbsLocationInfoBaseD1Ev @ 55 NONAME
-	_ZN20CLbsLocationInfoBaseD2Ev @ 56 NONAME
-	_ZN24TLbsGsmNeighbourCellInfo10SetRxLevelEi @ 57 NONAME
-	_ZN24TLbsGsmNeighbourCellInfo7SetBsicEi @ 58 NONAME
-	_ZN24TLbsGsmNeighbourCellInfo8SetArfcnEi @ 59 NONAME
-	_ZN24TLbsGsmNeighbourCellInfoC1Eiii @ 60 NONAME
-	_ZN24TLbsGsmNeighbourCellInfoC1Ev @ 61 NONAME
-	_ZN24TLbsGsmNeighbourCellInfoC2Eiii @ 62 NONAME
-	_ZN24TLbsGsmNeighbourCellInfoC2Ev @ 63 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfo11SetPathlossEi @ 64 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfo15SetUniqueCellIdEi @ 65 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfo17SetScramblingCodeEi @ 66 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfo17SetSignalStrengthEi @ 67 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfoC1Eiiii @ 68 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfoC1Ev @ 69 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfoC2Eiiii @ 70 NONAME
-	_ZN26TLbsWcdmaNeighbourCellInfoC2Ev @ 71 NONAME
-	_ZNK12CLbsWlanInfo13GetMacAddressER5TDes8 @ 72 NONAME
-	_ZNK12CLbsWlanInfo14SignalStrengthEv @ 73 NONAME
-	_ZNK15CLbsGsmCellInfo13TimingAdvanceEv @ 74 NONAME
-	_ZNK15CLbsGsmCellInfo16LocationAreaCodeEv @ 75 NONAME
-	_ZNK15CLbsGsmCellInfo17MobileCountryCodeEv @ 76 NONAME
-	_ZNK15CLbsGsmCellInfo17MobileNetworkCodeEv @ 77 NONAME
-	_ZNK15CLbsGsmCellInfo24GetNeighbouringCellInfoLER6RArrayI24TLbsGsmNeighbourCellInfoE @ 78 NONAME
-	_ZNK15CLbsGsmCellInfo6CellIdEv @ 79 NONAME
-	_ZNK15CLbsGsmCellInfo7RxLevelEv @ 80 NONAME
-	_ZNK16CLbsAreaInfoBase12ExternaliseLER12RWriteStream @ 81 NONAME
-	_ZNK16CLbsPositionInfo11GetLocalityER9TLocality @ 82 NONAME
-	_ZNK17CLbsWcdmaCellInfo12UniqueCellIdEv @ 83 NONAME
-	_ZNK17CLbsWcdmaCellInfo14ScramblingCodeEv @ 84 NONAME
-	_ZNK17CLbsWcdmaCellInfo17MobileCountryCodeEv @ 85 NONAME
-	_ZNK17CLbsWcdmaCellInfo17MobileNetworkCodeEv @ 86 NONAME
-	_ZNK17CLbsWcdmaCellInfo24GetNeighbouringCellInfoLER6RArrayI26TLbsWcdmaNeighbourCellInfoE @ 87 NONAME
-	_ZNK20CLbsLocationInfoBase12ExternaliseLER12RWriteStream @ 88 NONAME
-	_ZNK24TLbsGsmNeighbourCellInfo4BsicEv @ 89 NONAME
-	_ZNK24TLbsGsmNeighbourCellInfo5ArfcnEv @ 90 NONAME
-	_ZNK24TLbsGsmNeighbourCellInfo7RxLevelEv @ 91 NONAME
-	_ZNK26TLbsWcdmaNeighbourCellInfo12UniqueCellIdEv @ 92 NONAME
-	_ZNK26TLbsWcdmaNeighbourCellInfo14ScramblingCodeEv @ 93 NONAME
-	_ZNK26TLbsWcdmaNeighbourCellInfo14SignalStrengthEv @ 94 NONAME
-	_ZNK26TLbsWcdmaNeighbourCellInfo8PathlossEv @ 95 NONAME
-
--- a/locationmgmt/locmonitor/ConversionDataTypes/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-//
-
-
-PRJ_EXPORTS
-../inc/lbslocationclasstypes.h					lbs/lbslocationclasstypes.h
-../inc/lbslocationcommon.h						lbs/lbslocationcommon.h
-../inc/lbslocationposinfo.h    					lbs/lbslocationposinfo.h
-../inc/lbslocationgsminfo.h						lbs/lbslocationgsminfo.h
-../inc/lbslocationgsmneighbourinfo.h			lbs/lbslocationgsmneighbourinfo.h
-../inc/lbslocationinfo.h						lbs/lbslocationinfo.h
-../inc/lbslocationwcdmainfo.h					lbs/lbslocationwcdmainfo.h
-../inc/lbslocationwcdmaneighbourinfo.h			lbs/lbslocationwcdmaneighbourinfo.h
-../inc/lbslocationwlaninfo.h					lbs/lbslocationwlaninfo.h
-
-lbslocationinfodatatypes.iby      				/epoc32/rom/include/lbslocationinfodatatypes.iby
-
-PRJ_MMPFILES
-lbslocationinfodatatypes.mmp
-
--- a/locationmgmt/locmonitor/ConversionDataTypes/group/lbslocationinfodatatypes.iby	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-*
-*/
-#ifndef __LBS_LOCATIONINFODATATYPES_IBY__
-#define __LBS_LOCATIONINFODATATYPES_IBY__
-
-//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-file=ABI_DIR\DEBUG_DIR\lbslocationinfodatatypes.dll			sys\bin\lbslocationinfodatatypes.dll
-
-//#endif // SYMBIAN_EXCLUDE_LOCATION
-#endif //__LBS_LOCATIONINFODATATYPES_IBY__
--- a/locationmgmt/locmonitor/ConversionDataTypes/group/lbslocationinfodatatypes.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:
-//
-
-
-TARGET          lbslocationinfodatatypes.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x102871FB
-
-VENDORID        0x70000001
-CAPABILITY      ALL -TCB
-
-SOURCEPATH      ../src
-SOURCE          lbslocationcommon.cpp
-SOURCE          lbslocationinfo.cpp
-SOURCE          lbslocationposinfo.cpp 
-SOURCE          lbslocationgsminfo.cpp
-SOURCE          lbslocationwcdmainfo.cpp
-SOURCE          lbslocationwlaninfo.cpp 
-SOURCE          lbslocationwcdmaneighbourinfo.cpp 
-SOURCE          lbslocationgsmneighbourinfo.cpp
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE	/epoc32/include
-
-LIBRARY         euser.lib
-LIBRARY		      estor.lib 
-LIBRARY         lbs.lib
-
-SMPSAFE
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationclasstypes.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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: 
-*
-*/
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBS_LOCATION_CLASS_TYPES_H
-#define LBS_LOCATION_CLASS_TYPES_H
-
-
-/** 
- * Type used for identifying location info class types 
- */
-typedef TUint32 TLbsAreaInfoClassType;
-
-/**
- * Enumeration to indicate the type of area information.
- * This information is included when a client application creates
- * a class derived from CLbsAreaInfoBase
- */
-enum _TLbsAreaInfoClassType
-    {
-    /** 
-     * Should be used for data initialisation only 
-     */
-    ELbsAreaInfoUnknownClass                = 0x00,
-    
-    /** 
-     * Identifier for CLbsPositionInfo class 
-     */
-    ELbsAreaPositionInfoClass             = 0x01,
-    
-    /** 
-     * Identifier for CLbsGsmCellInfo class 
-     */
-    ELbsAreaGsmCellInfoClass                = 0x02,
-    
-    /** 
-     * Identifier for CLbsGsmNeighbourCellInfo class 
-     */
-    ELbsAreaGsmNeighbourCellInfoClass       = 0x04,
-    
-    /** 
-     * Identifier for CLbsWcdmaCellInfo class 
-     */
-    ELbsAreaWcmdaCellInfoClass              = 0x08,
-    
-    /**
-     *  Identifier for CLbsWcdmaNeighbourCellInfo class 
-     */
-    ELbsAreaWcmdaNeighbourCellInfoClass     = 0x10,
-    
-    /** 
-     * Identifier for CLbsWlanInfo class 
-     */
-    ELbsAreaWlanInfoClass                   = 0x20,
-    
-    /** 
-     * Not used 
-     */
-    ELbsAreaInfoLastClass                   = 0xFFFFFFFF
-    };
-
-
-/** 
- * Type used for identifying location info class types 
- */
-typedef TUint32 TLbsLocationInfoClassType;
-
-/**
- * Enumeration to indicate the type of area information.
- * This information is included when a client application creates
- * a class derived from CLbsLocationInfoBase
- */
-enum _TLbsLocationInfoClassType
-    {
-	/** 
-	 * Should be used for data initialisation only 
-	 */
-	ELbsLocationInfoUnknownClass    = 0x00,
-
-	/** 
-	 * Identifier for CLbsLocationInfo class
-	 */
-    ELbsLocationInfoClass           = 0x01,
-
-	/** 
-	 * Not used
-	 */
-	ELbsLocationInfoLastClass       = 0xFFFFFFFF
-    };
-
-#endif //LBS_LOCATION_CLASS_TYPES_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationcommon.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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: Base class for all the class representing
-* location informations.
-*
-*/
-
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-
-#ifndef LBS_LOCATION_COMMON_H
-#define LBS_LOCATION_COMMON_H
-
-
-#include <e32base.h>
-#include <s32strm.h>
-#include <lbs/lbslocationclasstypes.h>
-
-
-// Constants 
-
-/**
- * Defines the maximum allowable batch size supported by the system
- */
-const TUint KPositionMaxBatchSize = 500;
-
-
-/**
- * Abstract base class for data class representing location area 
- * information. 
- */
-NONSHARABLE_CLASS(CLbsLocationInfoBase) : public CBase
-    {
-
-public:
-  
-    /**
-     * This method is implemented by each of the derived classes that
-     * extend this class.  
-     */
-    IMPORT_C virtual TLbsLocationInfoClassType Type();
-  
-    /**
-     * Destructor
-     */
-    IMPORT_C virtual ~CLbsLocationInfoBase();
-
-    /**
-     * Internalizes the geographical area information from a stream.
-     *
-     * @param[in] aStream Stream from which the object is internalized.
-     */    
-    IMPORT_C void InternaliseL( RReadStream& aStream );
-  
-    /**
-     * Externalizes the geographical area information to a stream.
-     *
-     * @param[in] aStream Stream to which the object is to be 
-     * externalized.
-     */    
-    IMPORT_C void ExternaliseL( RWriteStream& aStream ) const;
-    
-protected:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsLocationInfoBase();
-        
-    /**
-     * Internalize method that subclass must implement.
-     * 
-     * @param[in] aStream Stream from which the object is internalized.
-     */    
-    virtual void DoInternaliseL( RReadStream& aStream ) = 0;
-  
-    /**
-     * Externalize method that subclass must implement.
-     *
-     * @param[in] aStream Stream to which the object is to be 
-     * externalized.
-     */    
-    virtual void DoExternaliseL( RWriteStream& aStream ) const = 0;
- 
-private:
-   
-    /**
-     * Copy constructor. Prohibited by default.
-     */
-    CLbsLocationInfoBase( CLbsLocationInfoBase& );
-   
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */
-    CLbsLocationInfoBase& operator=( CLbsLocationInfoBase& );
-
-private:
-    
-    /*
-     * Reserved for future use.
-     */
-    TAny* iReserved;
-    
-    };    
-    
-typedef RPointerArray<CLbsLocationInfoBase> RLbsLocationInfoBaseArray;
-
-/**
- * Abstract base class for data types representing geogrphical area 
- * information. 
- *
- * Geographical information may be a collection of GSM or WCDMA cells
- * or WLAN information. 
- */
-NONSHARABLE_CLASS(CLbsAreaInfoBase) : public CBase
-    {
-
-public:
-  
-    /**
-     * This method is implemented by each of the geographical area type classes
-     * that extend this class. The method returns the type of geographical area
-     * being represented.
-     */
-    IMPORT_C virtual TLbsAreaInfoClassType Type();
-  
-    /**
-     * Destructor
-     */
-    IMPORT_C virtual ~CLbsAreaInfoBase();
-
-    /**
-     * Internalizes the geographical area information from a stream.
-     *
-     * @param[in] aStream Stream from which the object is internalized.
-     */    
-    IMPORT_C void InternaliseL( RReadStream& aStream );
-  
-    /**
-     * Externalizes the geographical area information to a stream.
-     *
-     * @param[in] aStream Stream to which the object is to be 
-     * externalized.
-     */    
-    IMPORT_C void ExternaliseL( RWriteStream& aStream ) const;
-    
-    /**
-     * Validates area information.
-     */
-    virtual void ValidateDataL() const = 0;
-
-protected:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsAreaInfoBase();
-		
-    /**
-     * Internalize method that subclass must implement.
-     * 
-     * @param[in] aStream Stream from which the object is internalized.
-     */    
-    virtual void DoInternaliseL( RReadStream& aStream ) = 0;
-  
-    /**
-     * Externalize method that subclass must implement.
-     *
-     * @param[in] aStream Stream to which the object is to be 
-     * externalized.
-     */    
-    virtual void DoExternaliseL( RWriteStream& aStream ) const = 0;
- 
-private:
-   
-    /**
-     * Copy constructor. Prohibited by default.
-     */
-    CLbsAreaInfoBase( CLbsAreaInfoBase& );
-   
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */
-    CLbsAreaInfoBase& operator=( CLbsAreaInfoBase& );
-
-private:
-    
-    /**
-     * Reserved for future use.
-     */
-    TAny* iReserved;
-    
-    };
-
-#endif // LBS_LOCATION_COMMON_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationgsminfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +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: Data class representing a geographical area in terms of 
-* cell information in a GSM PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBS_GSM_CELL_INFO_H
-#define LBS_GSM_CELL_INFO_H
-
-
-#include <e32std.h>
-#include <lbs/lbslocationcommon.h>
-#include <lbs/lbslocationgsmneighbourinfo.h>
-
-
-/**
- * This class contains information related to a cell in GSM PLMN. An instance
- * of this class may also contain information of one or more neighbouring 
- * GSM cells 
- */
-NONSHARABLE_CLASS(CLbsGsmCellInfo) : public CLbsAreaInfoBase
-    {
-
-public:
-
-    /**
-     * Allocates and constructs a new GSM cell info object. In the returned
-     * instance, the country code, network code, location area code and cell ID
-     * are marked as undefined.
-     * 
-     * @return Pointer to the new GSM cell info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */
-    IMPORT_C static CLbsGsmCellInfo* NewL();
-    
-    /**
-     * Allocates and constructs a new GSM cell info object. 
-     *
-     * @param[in] aCountryCode Network country code.
-     * @param[in] aNetworkCode Network code.
-     * @param[in] aLocationAreaCode Location area code.
-     * @param[in] aCellId Cell ID of a cell in GSM PLMN.
-     * @return Pointer to the new GSM cell info object.
-     * @leave standard symbian error codes, such as KErrNoMemory.
-     */
-    IMPORT_C static CLbsGsmCellInfo* NewL( const TInt aCountryCode,
-                                           const TInt aNetworkCode,
-                                           const TInt aLocationAreaCode,
-                                           const TInt aCellId );
-        
-    /**
-     * Destructor
-     */    
-    IMPORT_C ~CLbsGsmCellInfo();
-    
-    /**
-     * Sets the Mobile Country Code information.
-     * 
-     * @param[in] aCountryCode Mobile Country Code, range 0..999. 
-     */
-    IMPORT_C void SetMobileCountryCode(const TInt aCountryCode);
-    
-    /**
-     * Retrieves the Mobile Country Code information.
-     * 
-     * @return Mobile Country Code, range 0..999;
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt MobileCountryCode() const;
-    
-    /**
-     * Sets the Mobile Network Code information.
-     *
-     * @param[in] aNetworkCode Mobilre Network Code, range 0..999. 
-     */    
-    IMPORT_C void SetMobileNetworkCode( const TInt aNetworkCode );
-    
-    /**
-     * Retrieves the Mobile Network Code information.
-     *
-     * @return Mobile Network Code, range 0..999. 
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt MobileNetworkCode() const;
-    
-    /**
-     * Sets the Location Area Code information.
-     *
-     * @param[in] aLocationAreaCode Location Area Code, range 0..65535. 
-     */    
-    IMPORT_C void SetLocationAreaCode( const TInt aLocationAreaCode );  
-    
-    /**
-     * Retrieves the Location Area Code information.
-     *
-     * @return Location Area Code, range 0..65535. 
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt LocationAreaCode() const;
-    
-    /**
-     * Sets the Cell Identity information.
-     * 
-     * @param[in] aCellId Cell Identity, range 0..65535. 
-     */
-    IMPORT_C void SetCellId( const TInt aCellId ); 
-    
-    /**
-     * Retrieves the Cell Identity information.
-     * 
-     * @return Cell Identity, range 0..65535.
-     *        KErrNotFound if the value is undefined.
-     */
-    IMPORT_C TInt CellId() const;
-    
-    /**
-     * Initializes the signal strength parameter.
-     * 
-     * @param[in] aRxLev Rx Level, range 0..63. 
-     */
-    IMPORT_C void SetRxLevel( const TInt aRxLev );
-    
-    /**
-     * Retrieves the Rx level.
-     *
-     * @return Rx Level, range 0..63. 
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt RxLevel() const;    
-    
-    /**
-     * Sets the Timing Advance information.
-     *
-     * @param[in] aTimingAdvance Timing Advance, range 0..255.
-     */    
-    IMPORT_C void SetTimingAdvance( const TInt aTimingAdvance );
-    
-    /**
-     * Retrieves the Timing Advance information.
-     *
-     * @return Timing Advance, range 0..255.
-     *        KErrNotFound if the value is undefined.
-     */
-    IMPORT_C TInt TimingAdvance() const;
-    
-    /**
-     * Adds a neighbouring cell information.
-     *
-     * @param[in] An instance of TLbsGsmNeighbourCellInfo class 
-     * (memory ovnership is being transferred)
-     * @leave KErrArgument if the argument is NULL or one of standard symbian 
-     * error codes
-     */
-    IMPORT_C void AddNeighbouringCellInfoL( 
-                    TLbsGsmNeighbourCellInfo* aNeighbourCellInfo );
-
-    /**
-     * Retrieves a copy of neighbouring cell information information as an 
-     * array. 
-     *
-     * @param[in] aNeighbourCellInfo GSM neighbouring cell information 
-     * (memory ownership is not being transferred to this function therefore
-	 * it is the responsibility of the caller to ensure Close() is called to 
-	 * free resources)
-     */
-    IMPORT_C void GetNeighbouringCellInfoL( 
-                     RLbsGsmNeighbourCellInfoArray& aNeighbourCellInfo ) const;
-
-    /** 
-     * Removes all neighbouring cell information.
-     */    
-    IMPORT_C void ResetNeighbouringCellInfo();
-                                    
-public: // from CLbsAreaInfoBase
-
-    /**
-     * Returns the type of area information instance. 
-     *
-     * @return Area type information
-     */
-    virtual TLbsAreaInfoClassType Type();   
-    
-    /**
-     * Validates GSM cell information. 
-     * This method checks for boundary conditions as well as the mandatory 
-     * attributes. The attributes of this class become mandatory in a 
-     * hierarchical manner. For instance, if location area code is 
-     * specified then the mobile network code attribute is mandatory. If cell 
-     * id is specified then, both LAC and MNC become mandatory attributes and 
-     * so on. However, the mobile country code attribute is always mandatory 
-     * which means client applications must at least specify the MCC attribute 
-     * when specifying GSM cell information. 
-     * This method is used internally to determine the correctness of 
-     * information provided. Optionally, this method, may also be used by 
-     * client applications to validate their input.
-     * 
-     * @leave KErrArgument If the specified attributes dont meet the boundary
-     * conditions or the mandatory arguments are not specified.
-     */
-    virtual void ValidateDataL() const;
-    
-protected: // from CLbsAreaInfoBase
-
-    /**
-     * Internalize method to write GSM cell information to a stream.
-     */
-    virtual void DoInternaliseL( RReadStream& aStream );
-
-    /**
-     * Externalize method to read GSM cell information from a stream.
-     */  
-    virtual void DoExternaliseL( RWriteStream& aStream ) const;
-    
-private:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsGsmCellInfo();
-   
-    /**
-     * Copy constructor. Prohibited by default.
-     */    
-    CLbsGsmCellInfo( CLbsGsmCellInfo& ); 
-    
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */    
-    CLbsGsmCellInfo& operator=( CLbsGsmCellInfo& );     
-    
-    /**
-     * Symbian 2 phase constructor
-     */    
-    void ConstructL();
-    
-    /**
-     * Symbian 2 phase constructor
-     */
-    void ConstructL( const TInt aCountryCode, const TInt aNetworkCode,
-                     const TInt aLocationAreaCode, const TInt aCellId );
-    
-private: // attributes
-    
-    enum _TGsmDataValidationMask
-        {
-        EGsmDataNull = 0x00,
-        EGsmMCC = 0x01,
-        EGsmMNC = 0x02,
-        EGsmLAC = 0x04,
-        EGsmCI = 0x08,
-        EGsmRx = 0x10,
-        EGsmTA = 0x20
-        };
-
-    /**
-     * Mobile country code
-     */ 
-    TInt16      iMCC;
-    
-    /**
-     * Mobile network code
-     */
-    TInt16      iMNC;
-    
-    /** 
-     * Location area code
-     */
-    TInt32      iLAC;
-    
-    /**
-     * Cell id
-     */
-    TInt32      iCid;
-
-    /**
-     * Signal strength
-     */
-    TInt32      iRxLev;
-    
-    /**
-     * Timing advance
-     */
-    TInt16      iTA;
-    
-    /**
-     * Data mask to determine initialized data. Used internally.
-     */
-    TInt8       iDataValidationMask;
-    
-    /**
-     * Neighbouring cell info
-     */
-    RLbsGsmNeighbourCellInfoArray iNeighbourCellInfo;
-    };
-
-#endif //LBS_GSM_CELL_INFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +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: Data class representing a geographical area in terms of 
-* cell information in a GSM PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-/**
-@file
-@publishedPartner
-@prototype
-*/
-
-
-#ifndef LBS_GSM_NEIGHB_CELL_INFO_H
-#define LBS_GSM_NEIGHB_CELL_INFO_H
-
-#include <e32std.h>
-#include <lbs/lbslocationcommon.h>
-
-
-/** 
- * This class contains information related to a GSM neighbouring cell 
- * information.
- */
-NONSHARABLE_CLASS(TLbsGsmNeighbourCellInfo)
-    {
-
-public:
-
-    /**
-     * Allocates and constructs a new neighbour GSM cell info object. In the 
-     * returned instance all data is marked as undefined
-     *
-     * @return Pointer to the new neighbour GSM cell info object.
-     */
-    IMPORT_C TLbsGsmNeighbourCellInfo();
-    
-    /**
-     * Allocates and constructs a new neighbour GSM cell info object. 
-
-     * @param[in] aARFCN Absolute Radio Frequency Channel Number
-     * @param[in] aBSIC  Base station identity (colour) code.
-     * @param[in] aRxLev Rx level.
-     *
-     * @return Pointer to the new neighbour GSM cell info object.
-     */
-    IMPORT_C TLbsGsmNeighbourCellInfo( const TInt aARFCN,
-                                       const TInt aBSIC,
-                                       const TInt aRxLev );
-        
-    /**
-     *Sets the Absolute Radio Frequency Channel Number.
-     *
-     * @param[in] aARFCN Absolute Radio Frequency Channel Number, range 0..1023.
-     */
-    IMPORT_C void SetArfcn(const TInt aARFCN);
-    
-    /**
-     * Retrieves the Absolute Radio Frequency Channel Number.
-     *
-     * @return Absolute Radio Frequency Channel Number, range 0..1023.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt Arfcn() const;
-    
-    /**
-     * Sets the Base station identity (colour) code.
-     *
-     * @param[in] iBSIC Base station identity code, range 0..63.
-     */    
-    IMPORT_C void SetBsic( const TInt aBSIC );
-    
-    /**
-     * Retrieves the Base station identity code.
-     *
-     * @return Base station identity code, range 0..63.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt Bsic() const;
-
-    /**
-     * Sets the Rx level.
-     *
-     * @param[in] aRxLev Rx Level, range 0..63. 
-     */    
-    IMPORT_C void SetRxLevel( const TInt aRxLev );  
-    
-    /**
-     * Retrieves the Rx level.
-     *
-     * @return Rx Level, range 0..63. 
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt RxLevel() const;
-   
-protected: // attributes
-
-    /** 
-     * Absolute Radio Frequency Channel Number 
-     */ 
-    TInt16      iARFCN;
-
-    /** 
-     * Base station identity code 
-     */ 
-    TInt8       iBSIC;
-
-    /** 
-     * Rx level 
-     */ 
-    TInt8       iRxLev;
-
-    /** 
-     * Reserved 
-     */
-    TUint8      iReserved[4];
-    
-    };
-
-typedef RArray<TLbsGsmNeighbourCellInfo> RLbsGsmNeighbourCellInfoArray;
-
-
-#endif //LBS_GSM_NEIGHB_CELL_INFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationinfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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: Container class representing geographical area information as a
-* collection of GSM/WCDMA cell information and WLAN MAC IDs.
-*
-*/
-
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef C_LBSLOCATIONINFO_H
-#define C_LBSLOCATIONINFO_H
-
-
-#include <e32std.h>
-#include <lbs/lbslocationcommon.h>
-#include <lbs/lbslocationwcdmainfo.h>
-#include <lbs/lbslocationgsminfo.h>
-#include <lbs/lbslocationwlaninfo.h>
-#include <lbs/lbslocationposinfo.h>
-
-
-/**
- * Type definitions
- */
- 
-/**
- * Structure used to carry location information to be converted
- */
-typedef RPointerArray<CLbsAreaInfoBase> RLbsAreaInfoBaseArray;
-
-/**
- * This class contains information related to a collection of geographical area
- * information. Client applications create an instance of this class to 
- * represent a geographical area for which a conversion is required. The 
- * corresponding coordinate values determined by the conversion plugins would 
- * be updated in the same instance of CLbsLocationInfo. Client applications
- * may retrieve the position estimate(s) using GetPositionInfo method.
- *
- */
-NONSHARABLE_CLASS(CLbsLocationInfo) : public CLbsLocationInfoBase
-    {
-
-public: 
-    
-	typedef TUint32 TAreaInfoMask;
-    
-	enum _TAreaInfoMask
-        {
-        /**
-         * Bit mask used to retrieve position information.
-         */
-        ELbsPosInfo = 0x01,
-        
-        /**
-         * Bit mask used to retrieve GSM cell information. 
-         */
-        ELbsGsmInfo = 0x02,
-        
-        /**
-         * Bit mask used to retrieve WCDMA cell information.
-         */
-        ELbsWcdmaInfo = 0x04,
-        
-        /**
-         * Bit mask used to retrieve WLAN AP information.
-         */
-        ELbsWlanInfo = 0x08,
-        
-        /**
-         * Bit mask used to retrieve all area information.
-         */
-        ELbsAreaInfoAll = 0xFFFFFFFF
-        };
-
-    /**
-     * Allocates and constructs a new location info object. 
-     * 
-     * @return Pointer to the new area info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */
-    IMPORT_C static CLbsLocationInfo* NewL();
-  
-    /**
-     * Allocates and constructs a new location info object. This method will
-     * push the resultant object onto the cleanup stack. 
-     * 
-     * @return Pointer to the new area info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */    
-    IMPORT_C static CLbsLocationInfo* NewLC();
-   
-    /**
-     * Destructor
-     */
-    IMPORT_C ~CLbsLocationInfo();
-     
-    /**
-     * Appends the specified area info entry to the data structure. This
-     * method takes a pointer to CLbsAreaInfoBase type instances.  
-     * 
-     * @param[in] aAreaInfo Pointer to a CLbsAreaInfoBase type instance.
-     * @leave KErrArgument if the pointer to CLbsAreaInfoBase type is NULL
-     */
-    IMPORT_C void AddAreaInfoL( CLbsAreaInfoBase* aAreaInfo );
-    
-    /**
-     * Retrieves the area information that is stored in the internal 
-     * data structure. Client applications can specify the type of information
-     * to be retrieved using the TAreaInfoMask. The result is updated in 
-     * the instance of RLbsAreaInfoBaseArray. If there is no information stored
-     * for the requested type the instance of RLbsAreaInfoBaseArray will not be
-     * updated. Client applications would need to check the contents of the 
-     * array to determine the information retrieved.
-     * 
-     * @param[out] aAreaInfoArray Array that is filled with pointers to the 
-	 * area information retrieved. Note it is the callers responsibility to call
-	 * Close() to free the pointers. However ownership of the objects pointed to
-	 * is not transferred to the caller.
-     * @param[in] aLocInfoMask Specifies the type of information to be 
-     * retrieved. 
-     */
-    IMPORT_C void GetAreaInfoL( RLbsAreaInfoBaseArray& aAreaInfoArray, 
-                               TAreaInfoMask aAreaInfoMask = ELbsAreaInfoAll );
-    
-    /**
-     * Removes all entries of the specified type from the data structure. If 
-     * the mask is not specified all entries would be removed. If there are no
-     * entries found for a specific type, no changes will be done.
-     * 
-     * @param[in] aLocInfoMask Specifies the type of information to be 
-     * removed. 
-     */    
-    IMPORT_C void ResetAreaInfo( TAreaInfoMask aAreaInfoMask 
-                                     = ELbsAreaInfoAll );
-             
-protected: // from CLbsLocationInfoBase
-    
-    /**
-     * Type of location info class
-     */
-    virtual TLbsLocationInfoClassType Type();
-
-    /**
-     * Internalize method to write location information to a stream.
-     */
-    virtual void DoInternaliseL( RReadStream& aStream );
-  
-    /**
-     * Externalize method to read location information from a stream.
-     */  
-    virtual void DoExternaliseL( RWriteStream& aStream ) const;
-    
-private:
-   
-    /**
-     * C++ default constructor
-     */   
-    CLbsLocationInfo();
-   
-    /**
-     * Copy constructor. Prohibited by default.
-     */    
-    CLbsLocationInfo( CLbsLocationInfo& );
-   
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */    
-    CLbsLocationInfo& operator = ( CLbsLocationInfo& );
-   
-    /**
-     * Symbian 2 phase constructor
-     */    
-    void ConstructL();
-   
-private:
-
-    /**
-     * A collection of geographical area information.
-     */
-    RPointerArray<CLbsAreaInfoBase>  iAreaInfoArray;
-    
-    };
-
-typedef RPointerArray<CLbsLocationInfo> RLbsLocationInfoArray;
-
-   
-#endif //C_LBSLOCATIONINFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationposinfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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: Data class representing a geographical area in terms of 
-* latitude,longitude,altitude,horizontal accuracy and vertical accuracy.
-*
-*/
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBS_COORDINATE_INFO_H
-#define LBS_COORDINATE_INFO_H
-
-
-#include <e32std.h>
-#include <lbs.h>
-#include <lbs/lbslocationcommon.h>
-
-
-/**
- * This class contains the basic coordinates of a location (latitude, longitude 
- * and altitude) along with vertical and horizontal accuracies. This class 
- * is different from TPositionInfo class defined in LBS and cannot be used
- * interchangeably. @see TPositionInfo class for more details. 
- */
-NONSHARABLE_CLASS(CLbsPositionInfo) : public CLbsAreaInfoBase
-    {
-
-public:
-
-    /**
-     * Allocates and constructs a new coordinate info object. In the returned
-     * instance, the longitude, latitude, altitude, horizontal accuracy and 
-     * vertical accuracy are set to NaN.
-     * 
-     * @return Pointer to the new coordinate info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */
-    IMPORT_C static CLbsPositionInfo* NewL();
-    
-    /**
-     * Allocates and constructs a new coordinate info object.
-     * 
-     * @param[in] aLocality Instance of TLocality class that contains 
-     * coordinates along with the error estimates for the horizontal and 
-     * vertical accuracy of the point. 
-     */
-    IMPORT_C static CLbsPositionInfo* NewL( const TLocality& aLocality );
-        
-    /**
-     * Destructor
-     */    
-    IMPORT_C virtual ~CLbsPositionInfo();
-    
-    /**
-     * Initializes the locality information. This includes
-     *      latitude - should be between and including -90 and 90 degrees.
-     *      longitude - should be between and including -180 and 180 degrees.
-     *      altitude - Altitude information in meters.
-     *      datum - datum information. Defaults to the constant for the 
-     *      coordinate system for a specific positioning system.
-     *      horizontal accuracy - horizontal accuracy in meters. 
-     *      vertical accuracy - vertical accuracy in meters.
-     *
-     * @param[in] aLatitude Latitude information.
-     */
-    IMPORT_C void SetLocality( const TLocality& aLocality );
-    
-    /**
-     * Retrieves the Locality information.
-     *
-     * @return NaN if nothing specified or latitude information.
-     * network.
-     */    
-    IMPORT_C void GetLocality( TLocality& aLocality ) const;
-    
-public: // from CLbsAreaInfoBase
-
-    /**
-     * Returns the type of area information instance. 
-     *
-     * @return Area type information
-     */
-    virtual TLbsAreaInfoClassType Type();   
-    
-    /**
-     * Validates position information.
-     * This method checks for boundary conditions as well as the mandatory 
-     * attributes. The latitude, longitude and horizontal accuracy attributes
-     * are mandatory and must be specified in the TLocality instance being 
-     * passed as an argument to instantiate/initialize an instance of this 
-     * class.  
-     * This method is used internally to determine the correctness of 
-     * information provided. Optionally, this method, may also be used by 
-     * client applications to validate their input.
-     * 
-     * @leave KErrArgument If the specified attributes dont meet the boundary
-     * conditions or the mandatory arguments are not specified. 
-     */
-    virtual void ValidateDataL() const;
-    
-protected: // from CLbsAreaInfoBase
-
-    /**
-     * Internalize method to write GSM cell information to a stream.
-     */
-    virtual void DoInternaliseL( RReadStream& aStream );
-
-    /**
-     * Externalize method to read GSM cell information from a stream.
-     */  
-    virtual void DoExternaliseL( RWriteStream& aStream ) const;
-    
-private:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsPositionInfo();
-
-    /**
-     * Copy constructor. Prohibited by default.
-     */    
-    CLbsPositionInfo( CLbsPositionInfo&  );    
-    
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */    
-    CLbsPositionInfo& operator=( CLbsPositionInfo& );     
-    
-    /**
-     * Symbian 2 phase constructor
-     */    
-    void ConstructL();
-    
-    /**
-     * Symbian 2 phase constuctor
-     */
-    void ConstructL( const TLocality& aLocality );
-    
-private: // attributes
-
-    /**
-     *  Locality information
-     */
-    TLocality iLocality;
-    
-    };
-
-#endif //LBS_COORDINATE_INFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwcdmainfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +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: Data class representing a geographical area in terms of 
-* cell information in a WCDMA PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef C_LBSWCDMACELLINFO_H
-#define C_LBSWCDMACELLINFO_H
-
-
-#include <e32base.h>
-#include <lbs/lbslocationcommon.h>
-#include <lbs/lbslocationwcdmaneighbourinfo.h>
-
-
-/**
- * This class contains information related to a cell in WCDMA PLMN. An instance
- * of this class may also contain information of one or more neighbouring 
- * WCDMA cells 
- */
-NONSHARABLE_CLASS(CLbsWcdmaCellInfo) : public CLbsAreaInfoBase
-    {
-    
-public:
-
-    /**
-     * Allocates and constructs a new WCDMA cell info object. In the returned
-     * instance, the country code, network code and cell ID are set to zero.
-     * 
-     * @return Pointer to the new WCDMA cell info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */
-    IMPORT_C static CLbsWcdmaCellInfo* NewL();
-     
-    /**
-     * Allocates and constructs a new WCDMA cell info object. 
-     *
-     * @param[in] aCountryCode Network country code.
-     * @param[in] aNetworkCode Network code.
-     * @param[in] aUniqueCellId Cell ID of a cell in WCDMA PLMN.
-     * @return Pointer to the new WCDMA cell info object.
-     * @leave KErrArgument in case of invalid input or other standard symbian 
-     * error codes, such as KErrNoMemory.
-     */    
-    IMPORT_C static CLbsWcdmaCellInfo* NewL( const TInt aCountryCode,
-                                             const TInt aNetworkCode,
-                                             const TInt aUniqueCellId );     
-    
-    /**
-     * Destructor
-     */
-    IMPORT_C ~CLbsWcdmaCellInfo();
-    
-    /**
-     * Initializes the country code attribute.
-     *
-     * @param[in] aCountryCode Network country code, range 0..999
-     */    
-    IMPORT_C void SetMobileCountryCode( const TInt aCountryCode);
-    
-    /**
-     * Retrieves the country code information.
-
-     * @return Network country code, range 0..999
-               KErrNotFound if the value is undefined.
-     */        
-    IMPORT_C TInt MobileCountryCode() const;
-    
-    /**
-     * Initializes the network code attribute.
-     *
-     * @param[in] aNetworkCode Network code, range 0..999
-     */    
-    IMPORT_C void SetMobileNetworkCode( const TInt aNetworkCode );
-    
-    /**
-     * Retrieves the network code information.
-     *
-     * @return Network code, range 0..999
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt MobileNetworkCode() const;
-    
-    /**
-     * Sets the Cell Identity.
-     *
-     * @param[in] aUniqueCellId Cell Identity, range 0..268435455.
-     */
-    IMPORT_C void SetUniqueCellId( const TInt aUniqueCellId );
-    
-    /**
-     * Retrieves the Cell Identity.
-     *
-     * @return Cell Identity, range 0..268435455.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt UniqueCellId() const; 
-    
-    /**
-     * Sets the scrambling code 
-     *
-     * @param[in] aScramblingCode scrambling code , range 0..511.
-     */    
-    IMPORT_C void SetScramblingCode( const TInt aScramblingCode );
-    
-    /**
-     * Retrieves the scrambling code .
-     *
-     * @return Base scrambling code, range 0..511.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt ScramblingCode() const;
-    
-    /**
-     * Adds a neighbouring cell information.
-     *
-     * @param[in] An instance of TLbsWcdmaNeighbourCellInfo class 
-     * (memory ovnership is being transferred)
-     * @leave KErrArgument if the argument is NULL or one of standard symbian 
-     * error codes
-     */
-    IMPORT_C void AddNeighbouringCellInfoL( 
-                TLbsWcdmaNeighbourCellInfo* aNeighbourCellInfo );
-
-    /**
-     * Retrieves a copy of neighbouring cell information information as an 
-     * array. 
-     *
-     * @param[in] aNeighbourCellInfo WCDMA neighbouring cell information 
-     * (memory ownership is not being transferred to this function therefore
-	 * it is the responsibility of the caller to ensure Close() is called to 
-	 * free resources)
-     */
-    IMPORT_C void GetNeighbouringCellInfoL( 
-                RLbsWcdmaNeighbourCellInfoArray& aNeighbourCellInfo ) const;
-
-    /** 
-     * Removes all neighbouring cell information.
-     */    
-    IMPORT_C void ResetNeighbouringCellInfo();
-
-public: // from CLbsAreaInfoBase
-
-    /**
-     * Returns the type of area information instance. 
-     *
-     * @return Area type information
-     */
-    virtual TLbsAreaInfoClassType Type();   
-    
-    /**
-     * Validates WCDMA information.
-     * This method checks for boundary conditions as well as the mandatory 
-     * attributes. The attributes of this class become mandatory in a 
-     * hierarchical manner. For instance, if scrambling code is specified then, 
-     * all other attributes except the neighbouring cell information become 
-     * mandatory.  However, the mobile country code attribute is always 
-     * mandatory which means client applications must at least specify the MCC 
-     * attribute when specifying WCDMA cell information. 
-     * This method is used internally to determine the correctness of 
-     * information provided. Optionally, this method, may also be used by 
-     * client applications to validate their input.
-     * 
-     * @leave KErrArgument If the specified attributes dont meet the boundary
-     * conditions or the mandatory arguments are not specified.
-     */      
-    virtual void ValidateDataL() const;
-    
-protected: // from CLbsAreaInfoBase
-
-    /**
-     * Internalize method to write WCDMA cell information to a stream.
-     */
-    virtual void DoInternaliseL( RReadStream& aStream );
-  
-    /**
-     * Externalize method to read WCDMA cell information from a stream.
-     */  
-    virtual void DoExternaliseL( RWriteStream& aStream ) const;
-    
-private:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsWcdmaCellInfo();
-
-    /**
-     * Copy constructor. Prohibited by default.
-     */    
-    CLbsWcdmaCellInfo( CLbsWcdmaCellInfo& );    
-    
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */    
-    CLbsWcdmaCellInfo& operator=( CLbsWcdmaCellInfo& );     
-    
-    /**
-     * Symbian 2 phase constructor
-     */    
-    void ConstructL();
-    
-    /**
-     * Symbian 2 phase constructor 
-     */
-    void ConstructL( const TInt aCountryCode, 
-                     const TInt aNetworkCode,
-                     const TInt aUniqueCellId );
-    
-private: // data
-
-    enum _TWcdmaDataValidationMask
-        {
-        EWcdmaDataNull = 0x00,
-        EWcdmaMCC = 0x01,
-        EWcdmaMNC = 0x02,
-        EWcdmaUCid = 0x04,
-        EWcdmaSC = 0x08,
-        };
-    
-    /**
-     * Mobile country code
-     */
-    TInt16      iMCC;
-    
-    /**
-     * Mobile network code
-     */
-    TInt16      iMNC;
-    
-    /**
-     * Unique cell identifier
-     */
-    TInt32      iUCid;
-    
-    /**
-     * Scrambling code
-     */
-    TInt16       iSCode;
-    
-    /**
-     * Data mask to determine initialized data. Used internally.
-     */
-    TInt8       iDataValidationMask;
-    
-    /**
-     * Neighbouring cell info
-     */
-    RLbsWcdmaNeighbourCellInfoArray  iNeighbourCellInfo;
-    
-    };
-
-#endif // C_POSWCDMACELLINFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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: Data class representing a geographical area in terms of 
-* cell information in a Wcdma PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBS_WCDMA_NEIGHB_CELL_INFO_H
-#define LBS_WCDMA_NEIGHB_CELL_INFO_H
-
-
-#include <e32std.h>
-#include <lbs/lbslocationcommon.h>
-
-
-/** 
- * This class contains information related to a Wcdma neighbouring cell information
- */
-NONSHARABLE_CLASS(TLbsWcdmaNeighbourCellInfo)
-    {
-
-public:
-
-    /**
-     * Allocates and constructs a new neighbour Wcdma cell info object. In the returned
-     * instance all data is marked as undefined
-     *
-     * @return Pointer to the new neighbour Wcdma cell info object.
-     */
-    IMPORT_C TLbsWcdmaNeighbourCellInfo();
-    
-    /**
-     * Allocates and constructs a new neighbour Wcdma cell info object. 
-     *
-     * @param[in] aUCid Cell Identity
-     * @param[in] aSCode Scrambling Code
-     * @param[in] aPathloss Pathloss
-     * @param[in] Received Signal Strength Indicator
-     *
-     * @return Pointer to the new neighbour Wcdma cell info object.
-     */
-    IMPORT_C TLbsWcdmaNeighbourCellInfo(const TInt aUCid,
-                                        const TInt aSCode,
-                                        const TInt aPathloss,
-                                        const TInt aRssi );
-        
-    /**
-     * Sets the Cell Identity.
-     *
-     * @param[in] aUniqueCellId Cell Identity, range 0..268435455.
-     */
-    IMPORT_C void SetUniqueCellId( const TInt aUniqueCellId );
-    
-    /**
-     * Retrieves the Cell Identity.
-     *
-     * @return Cell Identity, range 0..268435455.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt UniqueCellId() const; 
-    
-    /**
-     * Sets the scrambling code 
-     *
-     * @param[in] aScramblingCode scrambling code , range 0..511.
-     */    
-    IMPORT_C void SetScramblingCode( const TInt aScramblingCode );
-    
-    /**
-     * Retrieves the scrambling code .
-     *
-     * @return Base scrambling code, range 0..511.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt ScramblingCode() const;
-    
-    /**
-     * Sets the Pathloss parameter 
-     *
-     * @param[in] aPathloss Pathloss, range 46..173.
-     */    
-    IMPORT_C void SetPathloss( const TInt aPathloss );
-    
-    /**
-     * Retrieves the pathloss information.
-     *
-     * @return pathloss, range 46..173.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt Pathloss() const;
-    
-    /**
-     * Sets the RSSI parameter 
-     *
-     * @param[in] aRssi Received Signal Strength Indicator, range 0..127.
-     */    
-    IMPORT_C void SetSignalStrength( const TInt aRssi );
-    
-    /**
-     * Retrieves the RSSI information.
-     *
-     * @return RSSI, range 0..127.
-     *        KErrNotFound if the value is undefined.
-     */    
-    IMPORT_C TInt SignalStrength() const;    
-    
-protected: // attributes
-
-    /** 
-     * Cell Identity 
-     */ 
-    TInt32      iUniqueCellId;
-
-    /** 
-     * Scrambling Code 
-     */ 
-    TInt16       iScramblingCode;
-    
-    /**
-     * Path loss 
-     */
-    TInt16        iPathloss;
-    
-    /**
-     * RSSI
-     */
-    TInt16       iRssi;
-    
-    /** 
-     * Reserved 
-     */
-    TUint8      iReserved[8];
-    
-    };
-
-typedef RArray<TLbsWcdmaNeighbourCellInfo> RLbsWcdmaNeighbourCellInfoArray;
-
-
-#endif //LBS_WCDMA_NEIGHB_CELL_INFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/inc/lbslocationwlaninfo.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +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: Data class representing a geographical area in terms of 
-* WLAN MAC ID. 
-*
-*/
-
-/**
-* @file
-* @publishedPartner
-* @prototype
-*/
-
-
-#ifndef LBSWLANINFO_H
-#define LBSWLANINFO_H
-
-
-#include <e32std.h>
-#include <lbs/lbslocationcommon.h>
-
-
-/** 
- * Length of a WLAN MAC address.
- */
-const TInt KLbsWlanMacAddressLength = 18;
-
-
-/** 
- * WLAN MAC address consists of six hex numbers and is typically represented as
- * a string with 6, colon separated hexadecimal numbers. (e.g. 11:22:33:44:55:66)
- *
- * In order so save memory the LBS subsystem does not use a string. A 6 byte long
- * buffer is used instead.
- *
- * The leftmost number of the MAC address ("11" in the example) is stored in the first 
- * byte of the buffer. The rightmost number of the MAC address ("66" in the example) 
- * is stored in the last byte of the buffer.
- */
-typedef TBuf8<KLbsWlanMacAddressLength> TLbsWlanMacAddress;
-
-
-/**
- *  This class contains information related to a WLAN radio map object. 
- */
-NONSHARABLE_CLASS(CLbsWlanInfo) : public CLbsAreaInfoBase
-    {
-      
-public:
-
-    /**
-     * Allocates and constructs a new WLAN info object. In the returned
-     * instance, the MAC ID and signal strength values are set to zero.
-     * 
-     * @return Pointer to the new WLAN info object.
-     * @leave Standard symbian error codes, such as KErrNoMemory
-     */
-    IMPORT_C static CLbsWlanInfo* NewL();
-    
-    /**
-     * Allocates and constructs a new WLAN info object. 
-     *
-     * The validation for the arguments is hierarchical. For instance, if 
-     * signal strength is given, then specifying MAC ID is mandatory. 
-     * 
-     * @param[in] aMacAddress MAC address of the WLAN AP.
-     * @param[in] aRxStrength AP signal strength received at the SET.
-
-     * @return Pointer to the new WLAN info object.
-     * @leave KErrArgument in case of invalid input or other standard symbian 
-     * error codes, such as KErrNoMemory.
-     */
-    IMPORT_C static CLbsWlanInfo* NewL( const TLbsWlanMacAddress& MacAddress, 
-    									const TInt aRxStrength );
-
-    /**
-     * Destructor
-     */
-    IMPORT_C ~CLbsWlanInfo();
-    
-    /**
-     * Initializes the MAC ID attribute.
-     *
-     * @param[in] aMacAddress MAC address of the WLAN AP
-     */    
-    IMPORT_C void SetMacAddress( const TDesC8& aMacAddress );
-    
-    /**
-     * Retrieves the MAC ID information.
-     */       
-    IMPORT_C void GetMacAddress(TDes8& aMacAddress ) const;
-    
-    /**
-     * Initializes the AP signal strength received at the SET.
-     *
-     * @param[in] aRxStrength AP signal strength received at the SET, range 0..255
-     */    
-    IMPORT_C void SetSignalStrength( const TInt aRxStrength );
-    
-    /**
-     * Retrieves the AP signal strength received at the SET.
-     *
-     * @return AP signal strength received at the SET, range 0..255
-     *            KErrNotFound if the value is undefined.
-     */           
-    IMPORT_C TInt SignalStrength() const;
-    
-public: // from CLbsAreaInfoBase
-
-    /**
-     * Returns the type of area information instance. 
-     *
-     * @return Area type information
-     */
-    virtual TLbsAreaInfoClassType Type();  
-    
-    /**
-     * Validates WLAN information.
-     * This method checks for boundary conditions as well as the mandatory 
-     * attributes. All attributes of this class are mandatory. 
-     * This method is used internally to determine the correctness of 
-     * information provided. Optionally, this method, may also be used by 
-     * client applications to validate their input.
-     * 
-     * @leave KErrArgument If the specified attributes dont meet the boundary
-     * conditions or the mandatory arguments are not specified. 
-     */
-    virtual void ValidateDataL() const;
-    
-protected: // from CLbsAreaInfoBase
-
-    /**
-     * Internalize method to write WLAN information to a stream.
-     */
-    virtual void DoInternaliseL( RReadStream& aStream );
-  
-    /**
-     * Externalize method to read WLAN information from a stream.
-     */      
-    virtual void DoExternaliseL( RWriteStream& aStream ) const;
-    
-private:
-
-    /**
-     * C++ default constructor
-     */
-    CLbsWlanInfo();
-    
-    /**
-     * Copy constructor. Prohibited by default.
-     */    
-    CLbsWlanInfo( CLbsWlanInfo& );  
-    
-    /**
-     * Overloaded assignment operator. Prohibited by default.
-     */    
-    CLbsWlanInfo& operator=( CLbsWlanInfo& );     
-    
-    /**
-     * Symbian 2 phase constructor
-     */        
-    void ConstructL();
-    
-    /**
-     * Symbian 2 phase constructor 
-     */
-    void ConstructL( const TLbsWlanMacAddress& MacAddress,
-                     const TInt aPowRx );
-    
-private: // data
-
-    /**
-     * MAC code
-     */
-    TLbsWlanMacAddress iMacAddress;
-    
-    /** 
-     * Received signal strength
-     */
-    TInt16    iPowRx;
-    
-    };
-
-#endif // LBSWLANINFO_H
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationcommon.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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: Base class for all the class representing
-* location informations.
-*
-*/
-
-
-#include <e32std.h>
-#include <lbs/lbslocationclasstypes.h>
-#include <lbs/lbslocationcommon.h>
-
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfoBase::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsLocationInfoClassType CLbsLocationInfoBase::Type()
-	{
-	return ELbsAreaInfoUnknownClass;
-	}
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfoBase::~CLbsLocationInfoBase()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocationInfoBase::~CLbsLocationInfoBase()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfoBase::InternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsLocationInfoBase::InternaliseL( RReadStream& aStream )
-    {
-    DoInternaliseL( aStream );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfoBase::ExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsLocationInfoBase::ExternaliseL( RWriteStream& aStream ) const
-    {
-    DoExternaliseL( aStream );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfoBase::CLbsLocationInfoBase()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsLocationInfoBase::CLbsLocationInfoBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsAreaInfoBase::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsAreaInfoClassType CLbsAreaInfoBase::Type()
-    {
-	return ELbsAreaInfoUnknownClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsAreaInfoBase::~CLbsAreaInfoBase()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsAreaInfoBase::~CLbsAreaInfoBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsAreaInfoBase::~CLbsAreaInfoBase()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsAreaInfoBase::CLbsAreaInfoBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsAreaInfoBase::InternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsAreaInfoBase::InternaliseL( RReadStream& aStream )
-    {
-    DoInternaliseL( aStream );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsAreaInfoBase::ExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsAreaInfoBase::ExternaliseL( RWriteStream& aStream ) const
-    {
-    DoExternaliseL( aStream );
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationgsminfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,389 +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: Data class representing a geographical area in terms of 
-* cell information in a GSM PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-
-#include <e32std.h>
-#include <lbs/lbslocationgsminfo.h>
-
-
-// ---------------------------------------------------------------------------
-// CPosGsmCellInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsGsmCellInfo* CLbsGsmCellInfo::NewL()
-    {
-    CLbsGsmCellInfo* self = new( ELeave ) CLbsGsmCellInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsGsmCellInfo* CLbsGsmCellInfo::NewL( const TInt aCountryCode, 
-                                                 const TInt aNetworkCode,
-                                                 const TInt aLocationAreaCode, 
-                                                 const TInt aCellId )
-    {
-    CLbsGsmCellInfo* self = new( ELeave ) CLbsGsmCellInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL( aCountryCode, aNetworkCode, aLocationAreaCode, aCellId );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::~CLbsGsmCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsGsmCellInfo::~CLbsGsmCellInfo()
-    {
-    ResetNeighbouringCellInfo();
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetMobileCountryCodeL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetMobileCountryCode( const TInt aCountryCode )
-    {
-    iMCC = aCountryCode;
-    iDataValidationMask |= EGsmMCC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::MobileCountryCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsGsmCellInfo::MobileCountryCode() const
-    {
-    return iMCC;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetMobileNetworkCodeL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetMobileNetworkCode( const TInt aNetworkCode )
-    {
-    iMNC = aNetworkCode;
-    iDataValidationMask |= EGsmMNC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::MobileNetworkCodeL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsGsmCellInfo::MobileNetworkCode() const
-    {
-    return iMNC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetLocationAreaCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetLocationAreaCode( const TInt aLocationAreaCode )
-    {
-    iLAC = aLocationAreaCode;
-    iDataValidationMask |= EGsmLAC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::LocationAreaCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsGsmCellInfo::LocationAreaCode() const
-    {
-    return iLAC;
-    }
-        
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetCellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetCellId( const TInt aCellId )
-    {
-    iCid = aCellId;
-    iDataValidationMask |= EGsmCI;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::CellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsGsmCellInfo::CellId() const
-    {
-    return iCid;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetSetRxLevel()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetRxLevel( const TInt aRxLev )
-    {
-    iRxLev = aRxLev;
-    iDataValidationMask |= EGsmRx;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::RxLevel()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsGsmCellInfo::RxLevel() const
-    {
-    return iRxLev;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetTimingAdvance()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::SetTimingAdvance( const TInt aTimingAdvance )
-    {
-    iTA = aTimingAdvance;
-    iDataValidationMask |= EGsmTA;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::TimingAdvance()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CLbsGsmCellInfo::TimingAdvance() const
-    {
-    return iTA;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::SetNeighbouringCellInfoList()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::AddNeighbouringCellInfoL( 
-                                                 TLbsGsmNeighbourCellInfo*
-                                                 aNeighbourCellInfo )
-    {
-    if( !aNeighbourCellInfo  )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    TLbsGsmNeighbourCellInfo neighbourCellInfo;
-    neighbourCellInfo.SetArfcn( aNeighbourCellInfo->Arfcn() );
-    neighbourCellInfo.SetBsic( aNeighbourCellInfo->Bsic() );
-    neighbourCellInfo.SetRxLevel( aNeighbourCellInfo->RxLevel() );
-    
-    iNeighbourCellInfo.Append( neighbourCellInfo );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::GetNeighbouringCellInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::GetNeighbouringCellInfoL( 
-                                        RLbsGsmNeighbourCellInfoArray&
-                                        aNeighbourCellInfo ) const
-    {
-    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
-        {
-        aNeighbourCellInfo.AppendL( iNeighbourCellInfo[i] );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::ResetNeighbouringCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsGsmCellInfo::ResetNeighbouringCellInfo()
-    {
-    iNeighbourCellInfo.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-TLbsAreaInfoClassType CLbsGsmCellInfo::Type()
-    {
-    return ELbsAreaGsmCellInfoClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::DoInternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsGsmCellInfo::DoInternaliseL( RReadStream& aStream )
-    {
-    iMCC = aStream.ReadInt16L();
-    iMNC = aStream.ReadInt16L();
-    iLAC = aStream.ReadInt32L();
-    iCid = aStream.ReadInt32L();
-    iRxLev = aStream.ReadInt8L();
-    iTA = aStream.ReadInt16L();
-    TInt count = aStream.ReadInt8L();
-    for( TInt i = 0;i < count;i++ )
-        {
-        TLbsGsmNeighbourCellInfo cellInfo;
-        cellInfo.SetArfcn( aStream.ReadInt16L() );
-        cellInfo.SetBsic( aStream.ReadInt8L() );
-        cellInfo.SetRxLevel( aStream.ReadInt8L() );
-        iNeighbourCellInfo.AppendL( cellInfo );
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::DoExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsGsmCellInfo::DoExternaliseL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt16L( iMCC );
-    aStream.WriteInt16L( iMNC );
-    aStream.WriteInt32L( iLAC );
-    aStream.WriteInt32L( iCid );
-    aStream.WriteInt8L( iRxLev );
-    aStream.WriteInt16L( iTA );
-    TInt count = iNeighbourCellInfo.Count();
-    aStream.WriteInt8L( count );
-    for( TInt i = 0;i < count;i++ )
-        {
-        aStream.WriteInt16L( iNeighbourCellInfo[i].Arfcn() );
-        aStream.WriteInt8L( iNeighbourCellInfo[i].Bsic() );
-        aStream.WriteInt8L( iNeighbourCellInfo[i].RxLevel() );
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::ValidateAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsGsmCellInfo::ValidateDataL() const
-    {
-    // The following condition is to check the hierarchy of data values specified 
-    if( ( iMCC < 0 || iMCC > 999 ) || ( iMNC < 0 && iLAC > -1 ) || 
-        ( iLAC < 0 && iCid > -1 ) || ( iCid < 0 && iTA > -1 ) || 
-        ( iCid < 0 && iRxLev > -1 ) ||
-        ( iCid < 0 && iNeighbourCellInfo.Count() ) )
-        User::Leave( KErrArgument );
-
-    // Check for range values if they are set specifically by clients
-    if( iDataValidationMask & EGsmMNC )
-        {
-        if( iMNC < 0 || iMNC > 999 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EGsmLAC )
-        {
-        if( iLAC < 0 || iLAC > 65535 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EGsmCI )
-        {
-        if( iCid < 0 || iCid > 65535 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EGsmRx )
-        {
-        if( iRxLev < 0 || iRxLev > 63 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EGsmTA )
-        {
-        if( iTA < 0 || iTA > 255 )
-            User::Leave( KErrArgument );
-        }
-    
-    // Check neighbouring cell information
-    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
-        {
-        if( iNeighbourCellInfo[i].Arfcn() < 0 || iNeighbourCellInfo[i].Arfcn() > 1023 ||
-            iNeighbourCellInfo[i].Bsic() < 0  || iNeighbourCellInfo[i].Bsic() > 63 ||
-            iNeighbourCellInfo[i].RxLevel() < 0 || iNeighbourCellInfo[i].RxLevel() > 63 )
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::CLbsGsmCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsGsmCellInfo::CLbsGsmCellInfo()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::CLbsGsmCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsGsmCellInfo::ConstructL()
-    {
-    iMCC = -1;
-    iMNC = -1;
-    iLAC = -1;
-    iCid = -1;
-    iRxLev = -1;
-    iTA = -1;
-    iDataValidationMask = EGsmDataNull;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsGsmCellInfo::CLbsGsmCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsGsmCellInfo::ConstructL( const TInt aCountryCode, const TInt aNetworkCode,
-                                  const TInt aLocationAreaCode, const TInt aCellId )
-    {
-    SetMobileCountryCode( aCountryCode );
-    SetMobileNetworkCode( aNetworkCode );
-    SetLocationAreaCode( aLocationAreaCode );
-    SetCellId( aCellId );
-    iRxLev = -1;
-    iTA = -1;
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationgsmneighbourinfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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: Data class representing a neighbouring cell
-* information in a GSM PLMN. 
-*
-*/
-
-
-#include <lbs/lbslocationgsmneighbourinfo.h>
-
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
-    {
-    iARFCN = -1;
-    iBSIC = -1;
-    iRxLev = -1;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo( const TInt aARFCN,
-                                                             const TInt aBSIC,
-                                                             const TInt aRxLev )
-    {
-    iARFCN = aARFCN;
-    iBSIC = aBSIC;
-    iRxLev = aRxLev;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::SetArfcn()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLbsGsmNeighbourCellInfo::SetArfcn( const TInt aARFCN )
-    {
-    iARFCN = aARFCN;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TInt TLbsGsmNeighbourCellInfo::Arfcn() const
-    {
-    return iARFCN;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::SetBsic()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void TLbsGsmNeighbourCellInfo::SetBsic( const TInt aBSIC )
-    {
-    iBSIC = aBSIC;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::Bsic()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLbsGsmNeighbourCellInfo::Bsic() const
-    {
-    return iBSIC;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::SetRxLevel()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void TLbsGsmNeighbourCellInfo::SetRxLevel( const TInt aRxLev )
-    {
-    iRxLev = aRxLev;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsGsmNeighbourCellInfo::RxLevel()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt TLbsGsmNeighbourCellInfo::RxLevel() const
-    {
-    return iRxLev;
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationinfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +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: Container class representing geographical area information as a
-* collection of GSM/WCDMA cell information and WLAN MAC IDs.
-*
-*/
-
-
-#include <e32std.h>
-#include <lbs/lbslocationclasstypes.h>
-#include <lbs/lbslocationinfo.h>
-
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocationInfo* CLbsLocationInfo::NewL()
-    {
-    CLbsLocationInfo* self = new( ELeave ) CLbsLocationInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;    
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::NewLC()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocationInfo* CLbsLocationInfo::NewLC()
-    {
-    CLbsLocationInfo* self = new( ELeave ) CLbsLocationInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;  
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::~CLbsLocationInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsLocationInfo::~CLbsLocationInfo()
-    {
-    iAreaInfoArray.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::AddAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsLocationInfo::AddAreaInfoL( CLbsAreaInfoBase* 
-                                              aAreaInfo )
-    {
-    if( !aAreaInfo )
-        {
-        User::Leave( KErrArgument );
-        }
-    iAreaInfoArray.AppendL( aAreaInfo );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::GetAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsLocationInfo::GetAreaInfoL( RLbsAreaInfoBaseArray& aAreaInfoArray, 
-                                             TAreaInfoMask aAreaInfoMask )
-    {
-    for( TInt i = 0; i < iAreaInfoArray.Count(); i++ )
-        {
-        switch( iAreaInfoArray[i]->Type() )
-            {
-            case ELbsAreaPositionInfoClass:
-                if( aAreaInfoMask & ELbsPosInfo )
-                    {
-                    aAreaInfoArray.AppendL( iAreaInfoArray[i] );
-                    }
-                break;
-                
-            case ELbsAreaGsmCellInfoClass:
-                if( aAreaInfoMask & ELbsGsmInfo )
-                    {
-                    aAreaInfoArray.AppendL( iAreaInfoArray[i] );
-                    }
-                break;
-                
-            case ELbsAreaWcmdaCellInfoClass:
-                if( aAreaInfoMask & ELbsWcdmaInfo )
-                    {
-                    aAreaInfoArray.AppendL( iAreaInfoArray[i] );
-                    }
-                break;
-            
-            case ELbsAreaWlanInfoClass:
-                if( aAreaInfoMask & ELbsWlanInfo )
-                    {
-                    aAreaInfoArray.AppendL( iAreaInfoArray[i] );
-                    }
-                break;
-                
-            default:
-                break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::ResetAreaInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsLocationInfo::ResetAreaInfo( TAreaInfoMask aAreaInfoMask  )
-    {
-    // If the mask reflects reset all,then reset and destroy is called on 
-    // areaInfoArray directly
-    if( aAreaInfoMask == ELbsAreaInfoAll )
-        {
-        iAreaInfoArray.ResetAndDestroy();
-        return;
-        }
-    
-    for( TInt i = 0; i < iAreaInfoArray.Count(); i++ )
-        {
-        switch( iAreaInfoArray[i]->Type() )
-            {
-            case ELbsAreaPositionInfoClass:
-                if( aAreaInfoMask & ELbsPosInfo )
-                    {
-                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
-                    iAreaInfoArray.Remove( i );
-                    delete areaInfo;
-                    }
-                break;
-                
-            case ELbsAreaGsmCellInfoClass:
-                if( aAreaInfoMask & ELbsGsmInfo )
-                    {
-                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
-                    iAreaInfoArray.Remove( i );
-                    delete areaInfo;
-                    }
-                break;
-                
-            case ELbsAreaWcmdaCellInfoClass:
-                if( aAreaInfoMask & ELbsWcdmaInfo )
-                    {
-                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
-                    iAreaInfoArray.Remove( i );
-                    delete areaInfo;
-                    }
-                break;
-            
-            case ELbsAreaWlanInfoClass:
-                if( aAreaInfoMask & ELbsWlanInfo )
-                    {
-                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
-                    iAreaInfoArray.Remove( i );
-                    delete areaInfo;
-                    }
-                break;
-                
-            default:
-                break;
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsLocationInfoClassType CLbsLocationInfo::Type()
-    {
-    return ELbsLocationInfoClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::DoInternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsLocationInfo::DoInternaliseL( RReadStream& aStream )
-    {
-    TInt count = aStream.ReadInt8L();
-    for( TInt i = 0; i < count; i++ )
-        {
-        TLbsAreaInfoClassType type = aStream.ReadUint16L();
-        CLbsAreaInfoBase* area = NULL;
-        if( ELbsAreaPositionInfoClass == type )
-            {
-            area = CLbsPositionInfo::NewL();
-            }
-        if( ELbsAreaGsmCellInfoClass == type )
-            {
-            area = CLbsGsmCellInfo::NewL();
-            }
-        if( ELbsAreaWcmdaCellInfoClass == type )
-            {
-            area = CLbsWcdmaCellInfo::NewL();
-            }
-        if( ELbsAreaWlanInfoClass  == type )
-            {
-            area = CLbsWlanInfo::NewL();
-            }
-        if( area )
-            {
-            area->InternaliseL( aStream );
-            iAreaInfoArray.AppendL( area );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::DoExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsLocationInfo::DoExternaliseL( RWriteStream& aStream ) const
-    {
-    TInt count = iAreaInfoArray.Count();
-    aStream.WriteInt8L( count );
-    for( TInt i = 0; i < count; i++ )
-        {
-        TLbsAreaInfoClassType type = iAreaInfoArray[i]->Type();
-        aStream.WriteUint16L( type );
-        iAreaInfoArray[i]->ExternaliseL( aStream );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::CLbsLocationInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsLocationInfo::CLbsLocationInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsLocationInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsLocationInfo::ConstructL()
-    {
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationposinfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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: Data class representing a geographical area in terms of 
-* latitude,longitude,altitude,horizontal accuracy and vertical accuracy.
-*
-*/
-
-
-#include <e32std.h>
-#include <e32math.h>
-#include <lbs/lbslocationposinfo.h>
-
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsPositionInfo* CLbsPositionInfo::NewL()
-    {
-    CLbsPositionInfo* self = new( ELeave ) CLbsPositionInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;  
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsPositionInfo* CLbsPositionInfo::NewL( const TLocality& aLocality )
-    {
-    CLbsPositionInfo* self = new( ELeave ) CLbsPositionInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL( aLocality );
-    CleanupStack::Pop();
-    return self;  
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::~CLbsPositionInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsPositionInfo::~CLbsPositionInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::SetLocality()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsPositionInfo::SetLocality( 
-                            const TLocality& aLocality )
-    {
-    iLocality = aLocality;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::Locality()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsPositionInfo::GetLocality( TLocality& aLocality ) const
-    {
-    aLocality = iLocality;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-TLbsAreaInfoClassType CLbsPositionInfo::Type()
-    {
-    return ELbsAreaPositionInfoClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::ValidateAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsPositionInfo::ValidateDataL() const
-    {
-    if( Math::IsNaN( iLocality.Latitude() ) || 
-        Math::IsNaN( iLocality.Longitude() ) ||
-        iLocality.HorizontalAccuracy() < 0.0 ) 
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::DoInternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsPositionInfo::DoInternaliseL( RReadStream& aStream )
-    {
-    TReal64 latitude = aStream.ReadReal64L();
-    TReal64 longitude = aStream.ReadReal64L();
-    TReal32  altitude = aStream.ReadReal32L();
-    iLocality.SetCoordinate( latitude, longitude, altitude );
-    TInt datum = aStream.ReadInt32L();
-    iLocality.SetDatum( TUid::Uid( datum ) );
-    TReal32 hAccuracy = aStream.ReadReal32L();
-    TReal32 vAccuracy = aStream.ReadReal32L();
-    iLocality.SetAccuracy( hAccuracy, vAccuracy );    
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::DoExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsPositionInfo::DoExternaliseL( RWriteStream& aStream ) const
-    {
-    aStream.WriteReal64L( iLocality.Latitude() );
-    aStream.WriteReal64L( iLocality.Longitude() );
-    aStream.WriteReal32L( iLocality.Altitude() );
-    aStream.WriteInt32L( iLocality.Datum().iUid );
-    aStream.WriteReal32L( iLocality.HorizontalAccuracy() );
-    aStream.WriteReal32L( iLocality.VerticalAccuracy() );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::CLbsPositionInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsPositionInfo::CLbsPositionInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsPositionInfo::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsPositionInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsPositionInfo::ConstructL( const TLocality& aLocality )
-    {
-    SetLocality( aLocality );
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwcdmainfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +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: Data class representing a geographical area in terms of 
-* cell information in a WCDMA PLMN. This class may also optionally contain
-* neighbouring cell information
-*
-*/
-
-
-#include <e32std.h>
-#include <lbs/lbslocationwcdmainfo.h>
-
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWcdmaCellInfo* CLbsWcdmaCellInfo::NewL()
-    {
-    CLbsWcdmaCellInfo* self = new( ELeave ) CLbsWcdmaCellInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;    
-    }
-  
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWcdmaCellInfo* CLbsWcdmaCellInfo::NewL( const TInt aCountryCode,
-                                               const TInt aNetworkCode,
-                                               const TInt aUniqueCellId )
-    {
-    CLbsWcdmaCellInfo* self = new( ELeave ) CLbsWcdmaCellInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL( aCountryCode, aNetworkCode, aUniqueCellId );
-    CleanupStack::Pop();
-    return self;    
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo()
-    {
-    ResetNeighbouringCellInfo();
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::SetMobileCountryCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::SetMobileCountryCode( const TInt aCountryCode )
-    {
-    iMCC = aCountryCode;
-    iDataValidationMask |= EWcdmaMCC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::MobileCountryCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsWcdmaCellInfo::MobileCountryCode() const
-    {
-    return iMCC;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::SetMobileNetworkCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::SetMobileNetworkCode( const TInt aNetworkCode )
-    {
-    iMNC = aNetworkCode;
-    iDataValidationMask |= EWcdmaMNC;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::MobileNetworkCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsWcdmaCellInfo::MobileNetworkCode() const
-    {
-    return iMNC;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::SetUniqueCellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::SetUniqueCellId( const TInt aUniqueCellId )
-    {
-    iUCid = aUniqueCellId;
-    iDataValidationMask |= EWcdmaUCid;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::UniqueCellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsWcdmaCellInfo::UniqueCellId() const
-    {
-    return iUCid;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::SetScramblingCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::SetScramblingCode( const TInt aScramblingCode )
-    {
-    iSCode = aScramblingCode;
-    iDataValidationMask |= EWcdmaSC;
-    }
-    
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::ScramblingCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsWcdmaCellInfo::ScramblingCode() const
-    {
-    return iSCode;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::AddNeighbouringCellInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::AddNeighbouringCellInfoL(
-                                                TLbsWcdmaNeighbourCellInfo* 
-                                                aNeighbourCellInfo )
-    {
-    if( !aNeighbourCellInfo )
-        {
-        User::Leave( KErrArgument ); 
-        }
-    TLbsWcdmaNeighbourCellInfo wcdmaNeighbourCellInfo;
-    wcdmaNeighbourCellInfo.SetUniqueCellId( aNeighbourCellInfo->UniqueCellId());
-    wcdmaNeighbourCellInfo.SetScramblingCode( aNeighbourCellInfo->ScramblingCode() );
-    wcdmaNeighbourCellInfo.SetSignalStrength( aNeighbourCellInfo->SignalStrength() );
-    wcdmaNeighbourCellInfo.SetPathloss( aNeighbourCellInfo->Pathloss() );
-    iNeighbourCellInfo.AppendL( wcdmaNeighbourCellInfo );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::SetNeighbouringCellInfoList()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::GetNeighbouringCellInfoL( 
-                                       RLbsWcdmaNeighbourCellInfoArray& 
-                                       aNeighbourCellInfoList ) const
-    {
-    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
-        {
-        aNeighbourCellInfoList.AppendL( iNeighbourCellInfo[i] );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::ResetNeighbouringCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWcdmaCellInfo::ResetNeighbouringCellInfo()
-    {
-    iNeighbourCellInfo.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-TLbsAreaInfoClassType CLbsWcdmaCellInfo::Type()
-    {
-    return ELbsAreaWcmdaCellInfoClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::DoInternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWcdmaCellInfo::DoInternaliseL( RReadStream& aStream )
-    {
-    iMCC = aStream.ReadInt16L();
-    iMNC = aStream.ReadInt16L();
-    iUCid = aStream.ReadInt32L();
-    iSCode = aStream.ReadInt16L();
-    TInt count = aStream.ReadInt16L();
-    for( TInt i = 0; i < count; i++ )
-        {
-        TLbsWcdmaNeighbourCellInfo cellInfo;
-        cellInfo.SetUniqueCellId( aStream.ReadInt32L() );
-        cellInfo.SetScramblingCode( aStream.ReadInt16L() );
-        cellInfo.SetPathloss( aStream.ReadInt16L() );
-        cellInfo.SetSignalStrength( aStream.ReadInt16L() );
-        iNeighbourCellInfo.Append( cellInfo );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::DoExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWcdmaCellInfo::DoExternaliseL( RWriteStream& aStream )const
-    {
-    aStream.WriteInt16L( iMCC );
-    aStream.WriteInt16L( iMNC );
-    aStream.WriteInt32L( iUCid );
-    aStream.WriteInt16L( iSCode );
-    TInt count = iNeighbourCellInfo.Count();
-    aStream.WriteInt16L( count );
-    for( TInt i = 0; i < count; i++ )
-        {
-        aStream.WriteInt32L( iNeighbourCellInfo[i].UniqueCellId() );
-        aStream.WriteInt16L( iNeighbourCellInfo[i].ScramblingCode() );
-        aStream.WriteInt16L( iNeighbourCellInfo[i].Pathloss() );
-        aStream.WriteInt16L( iNeighbourCellInfo[i].SignalStrength() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::ValidateAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWcdmaCellInfo::ValidateDataL() const
-    {
-    // The following condition is to check the hierarchy of data values specified 
-    if( ( iMCC < 0 || iMCC > 999 ) || 
-        ( iMNC < 0 && iUCid > -1 ) || 
-        ( iUCid < 0 && iSCode > -1 ) || 
-        ( iUCid < 0 && iNeighbourCellInfo.Count() ) )
-        User::Leave( KErrArgument );
-    
-    // Check for range values if they are set specifically by clients
-    if( iDataValidationMask & EWcdmaMNC )
-        {
-        if( iMNC < 0 || iMNC > 999 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EWcdmaUCid )
-        {
-        if( iUCid < 0 || iUCid > 268435455 )
-            User::Leave( KErrArgument );
-        }
-    if( iDataValidationMask & EWcdmaSC )
-        {
-        if( iSCode < 0 || iSCode > 511 )
-            User::Leave( KErrArgument );
-        }
-    
-    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
-        {
-        if( iNeighbourCellInfo[i].UniqueCellId() < 0 || 
-                iNeighbourCellInfo[i].UniqueCellId() > 268435455 ||
-                iNeighbourCellInfo[i].ScramblingCode() < 0  || 
-                iNeighbourCellInfo[i].ScramblingCode() > 511 ||
-                iNeighbourCellInfo[i].Pathloss() < 46 || 
-                iNeighbourCellInfo[i].Pathloss() > 173 ||
-                iNeighbourCellInfo[i].SignalStrength() < 0 || 
-                iNeighbourCellInfo[i].SignalStrength() > 127 )
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::CLbsWcdmaCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsWcdmaCellInfo::CLbsWcdmaCellInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWcdmaCellInfo::ConstructL()
-    {
-    iMCC = -1;
-    iMNC = -1;
-    iUCid = -1;
-    iSCode = -1;
-    iDataValidationMask = EWcdmaDataNull;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWcdmaCellInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWcdmaCellInfo::ConstructL( const TInt aCountryCode, 
-                                    const TInt aNetworkCode,
-                                    const TInt aUniqueCellId )
-    {
-    SetMobileCountryCode( aCountryCode );
-    SetMobileNetworkCode( aNetworkCode );
-    SetUniqueCellId( aUniqueCellId );
-    iSCode = -1;
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwcdmaneighbourinfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Data class representing a neighbouring cell
-* information in a WCDMA PLMN. 
-*
-*/
-
-
-#include <lbs/lbslocationwcdmaneighbourinfo.h>
-
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
-    {
-    iUniqueCellId = -1;
-    iScramblingCode = -1;
-    iPathloss = -1;
-    iRssi = -1;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo( const TInt aUCid,
-                                                                 const TInt aSCode,
-                                                                 const TInt aPathloss,
-                                                                 const TInt aRssi )
-    {
-    iUniqueCellId = aUCid;
-    iScramblingCode = aSCode;
-    iPathloss = aPathloss;
-    iRssi = aRssi;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::SetUniqueCellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetUniqueCellId( const TInt aUniqueCellId )
-    {
-    iUniqueCellId = aUniqueCellId;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::UniqueCellId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::UniqueCellId() const
-    {
-    return iUniqueCellId;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::SetScramblingCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetScramblingCode( 
-                                          const TInt aScramblingCode )
-    {
-    iScramblingCode = aScramblingCode;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::ScramblingCode()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::ScramblingCode() const 
-    {
-    return iScramblingCode;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::SetPathloss()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetPathloss( const TInt aPathloss )
-    {
-    iPathloss = aPathloss;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::Pathloss()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::Pathloss() const 
-    {
-    return iPathloss;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::SetSignalStrength()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetSignalStrength( const TInt aRssi )
-    {
-    iRssi = aRssi;
-    }
-
-// ---------------------------------------------------------------------------
-// TLbsWcdmaNeighbourCellInfo::SignalStrength()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::SignalStrength() const 
-    {
-    return iRssi;
-    }
--- a/locationmgmt/locmonitor/ConversionDataTypes/src/lbslocationwlaninfo.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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: Data class representing a geographical area in terms of 
-* WLAN MAC ID. 
-*
-*/
-
-
-#include <e32std.h>
-#include <lbs/lbslocationwlaninfo.h>
-
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWlanInfo* CLbsWlanInfo::NewL()
-    {
-    CLbsWlanInfo* self = new( ELeave ) CLbsWlanInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::NewL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWlanInfo* CLbsWlanInfo::NewL( const TLbsWlanMacAddress& MacAddress,
-                                           const TInt aPowRx )
-    {
-    CLbsWlanInfo* self = new( ELeave ) CLbsWlanInfo;
-    CleanupStack::PushL( self );
-    self->ConstructL( MacAddress, aPowRx );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::~CLbsWlanInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLbsWlanInfo::~CLbsWlanInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::SetMacId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWlanInfo::SetMacAddress( const TDesC8& aMacAddress  )
-    {
-    iMacAddress = aMacAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::MacId()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWlanInfo::GetMacAddress(TDes8& aMacAddress ) const
-    {
-    aMacAddress = iMacAddress;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::SetSignalStrength()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLbsWlanInfo::SetSignalStrength( const TInt aPowRx )
-    {
-    iPowRx = aPowRx;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::SignalStrength()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLbsWlanInfo::SignalStrength() const
-    {
-    return iPowRx;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::Type()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-TLbsAreaInfoClassType CLbsWlanInfo::Type()
-    {
-    return ELbsAreaWlanInfoClass;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::DoInternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWlanInfo::DoInternaliseL( RReadStream& aStream )
-    {
-    TInt len = aStream.ReadInt32L();
-    aStream.ReadL( iMacAddress, len );
-    iPowRx = aStream.ReadInt16L();
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::DoExternaliseL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWlanInfo::DoExternaliseL( RWriteStream& aStream )const
-    {
-    TInt len = iMacAddress.Length();
-    aStream.WriteInt32L( len );
-    aStream.WriteL( iMacAddress,len );
-    aStream.WriteInt16L( iPowRx );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::ValidateAreaInfoL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWlanInfo::ValidateDataL() const
-    {
-    if( !iMacAddress.Length() )
-        User::Leave( KErrArgument );
-        
-    if( iPowRx < 0 || iPowRx > 255 ) 
-        User::Leave( KErrArgument );
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::CLbsWlanInfo()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-CLbsWlanInfo::CLbsWlanInfo()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWlanInfo::ConstructL()
-    {
-    iMacAddress.FillZ();
-    iPowRx = -1;
-    }
-
-// ---------------------------------------------------------------------------
-// CLbsWlanInfo::ConstructL()
-// other items were commented in the header
-// ---------------------------------------------------------------------------
-//
-void CLbsWlanInfo::ConstructL( const TLbsWlanMacAddress& MacAddress,
-                               const TInt aPowRx )
-    {
-    SetMacAddress( MacAddress );
-    SetSignalStrength( aPowRx );
-    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/bwins/lbslocmonclient.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,31 @@
+EXPORTS
+	?OpenL@RLbsLocMonitorAreaPositioner@@QAEXAAVRLbsLocMonitorSession@@@Z @ 1 NONAME ; void RLbsLocMonitorAreaPositioner::OpenL(class RLbsLocMonitorSession &)
+	?ConstructL@RLbsLocMonitorAreaPositioner@@MAEXXZ @ 2 NONAME ; void RLbsLocMonitorAreaPositioner::ConstructL(void)
+	?ConvertLocationInfoL@RLbsLocInfoConverter@@QAEXAAV?$RPointerArray@VCLbsLocationInfoBase@@@@KKVTUid@@AAVTRequestStatus@@@Z @ 3 NONAME ; void RLbsLocInfoConverter::ConvertLocationInfoL(class RPointerArray<class CLbsLocationInfoBase> &, unsigned long, unsigned long, class TUid, class TRequestStatus &)
+	?ConstructL@CLbsLocMonitorPtrHolder@@IAEXHH@Z @ 4 NONAME ; void CLbsLocMonitorPtrHolder::ConstructL(int, int)
+	?PtrC@CLbsLocMonitorPtrHolder@@QAEAAVTPtrC8@@H@Z @ 5 NONAME ; class TPtrC8 & CLbsLocMonitorPtrHolder::PtrC(int)
+	?CancelDatabaseWipeOut@RLbsLocMonitorSession@@QBEHXZ @ 6 NONAME ; int RLbsLocMonitorSession::CancelDatabaseWipeOut(void) const
+	?Ptr@CLbsLocMonitorPtrHolder@@QAEAAVTPtr8@@H@Z @ 7 NONAME ; class TPtr8 & CLbsLocMonitorPtrHolder::Ptr(int)
+	?GetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEXAAVTPositionInfoBase@@AAVTRequestStatus@@@Z @ 8 NONAME ; void RLbsLocMonitorAreaPositioner::GetLastKnownPosition(class TPositionInfoBase &, class TRequestStatus &) const
+	?Close@RLbsLocMonitorSession@@UAEXXZ @ 9 NONAME ; void RLbsLocMonitorSession::Close(void)
+	?Destruct@RLbsLocMonitorAreaPositioner@@MAEXXZ @ 10 NONAME ; void RLbsLocMonitorAreaPositioner::Destruct(void)
+	?OpenL@RLbsLocInfoConverter@@QAEXAAVRLbsLocMonitorSession@@@Z @ 11 NONAME ; void RLbsLocInfoConverter::OpenL(class RLbsLocMonitorSession &)
+	?GetLastKnownPositionArea@RLbsLocMonitorAreaPositioner@@QBEXAAVTPositionInfoBase@@AAVTPositionAreaInfoBase@@AAVTPosAreaReqParams@@AAVTRequestStatus@@@Z @ 12 NONAME ; void RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea(class TPositionInfoBase &, class TPositionAreaInfoBase &, class TPosAreaReqParams &, class TRequestStatus &) const
+	?CancelGetLastKnownPositionArea@RLbsLocMonitorAreaPositioner@@QBEHXZ @ 13 NONAME ; int RLbsLocMonitorAreaPositioner::CancelGetLastKnownPositionArea(void) const
+	?CancelConvertLocationInfo@RLbsLocInfoConverter@@QAEXXZ @ 14 NONAME ; void RLbsLocInfoConverter::CancelConvertLocationInfo(void)
+	?Close@RLbsLocInfoConverter@@UAEXXZ @ 15 NONAME ; void RLbsLocInfoConverter::Close(void)
+	?NewL@CLbsLocMonitorPtrHolder@@SAPAV1@HH@Z @ 16 NONAME ; class CLbsLocMonitorPtrHolder * CLbsLocMonitorPtrHolder::NewL(int, int)
+	??0RLbsLocMonitorAreaPositioner@@QAE@XZ @ 17 NONAME ; RLbsLocMonitorAreaPositioner::RLbsLocMonitorAreaPositioner(void)
+	?CancelGetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEHXZ @ 18 NONAME ; int RLbsLocMonitorAreaPositioner::CancelGetLastKnownPosition(void) const
+	??0RLbsLocMonitorSession@@QAE@XZ @ 19 NONAME ; RLbsLocMonitorSession::RLbsLocMonitorSession(void)
+	?WipeOutDatabase@RLbsLocMonitorSession@@QBEXAAVTRequestStatus@@@Z @ 20 NONAME ; void RLbsLocMonitorSession::WipeOutDatabase(class TRequestStatus &) const
+	?ConstructL@RLbsLocInfoConverter@@AAEXXZ @ 21 NONAME ; void RLbsLocInfoConverter::ConstructL(void)
+	?ConvertLocationInfoL@RLbsLocInfoConverter@@QAEXAAVCLbsLocationInfoBase@@KABKVTUid@@AAVTRequestStatus@@@Z @ 22 NONAME ; void RLbsLocInfoConverter::ConvertLocationInfoL(class CLbsLocationInfoBase &, unsigned long, unsigned long const &, class TUid, class TRequestStatus &)
+	?Close@RLbsLocMonitorAreaPositioner@@UAEXXZ @ 23 NONAME ; void RLbsLocMonitorAreaPositioner::Close(void)
+	??1CLbsLocMonitorPtrHolder@@UAE@XZ @ 24 NONAME ; CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder(void)
+	?Version@RLbsLocMonitorSession@@UAE?AVTVersion@@XZ @ 25 NONAME ; class TVersion RLbsLocMonitorSession::Version(void)
+	?Connect@RLbsLocMonitorSession@@QAEHXZ @ 26 NONAME ; int RLbsLocMonitorSession::Connect(void)
+	?SetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEHABVTPositionInfoBase@@@Z @ 27 NONAME ; int RLbsLocMonitorAreaPositioner::SetLastKnownPosition(class TPositionInfoBase const &) const
+	??1RLbsLocInfoConverter@@QAE@XZ @ 28 NONAME ; RLbsLocInfoConverter::~RLbsLocInfoConverter(void)
+	??0RLbsLocInfoConverter@@QAE@XZ @ 29 NONAME ; RLbsLocInfoConverter::RLbsLocInfoConverter(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/eabi/lbslocmonclient.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,47 @@
+EXPORTS
+	_ZN20RLbsLocInfoConverter10ConstructLEv @ 1 NONAME
+	_ZN20RLbsLocInfoConverter20ConvertLocationInfoLER13RPointerArrayI20CLbsLocationInfoBaseEmm4TUidR14TRequestStatus @ 2 NONAME
+	_ZN20RLbsLocInfoConverter20ConvertLocationInfoLER20CLbsLocationInfoBasemRKm4TUidR14TRequestStatus @ 3 NONAME
+	_ZN20RLbsLocInfoConverter25CancelConvertLocationInfoEv @ 4 NONAME
+	_ZN20RLbsLocInfoConverter5CloseEv @ 5 NONAME
+	_ZN20RLbsLocInfoConverter5OpenLER21RLbsLocMonitorSession @ 6 NONAME
+	_ZN20RLbsLocInfoConverterC1Ev @ 7 NONAME
+	_ZN20RLbsLocInfoConverterC2Ev @ 8 NONAME
+	_ZN20RLbsLocInfoConverterD1Ev @ 9 NONAME
+	_ZN20RLbsLocInfoConverterD2Ev @ 10 NONAME
+	_ZN21RLbsLocMonitorSession5CloseEv @ 11 NONAME
+	_ZN21RLbsLocMonitorSession7ConnectEv @ 12 NONAME
+	_ZN21RLbsLocMonitorSession7VersionEv @ 13 NONAME
+	_ZN21RLbsLocMonitorSessionC1Ev @ 14 NONAME
+	_ZN21RLbsLocMonitorSessionC2Ev @ 15 NONAME
+	_ZN23CLbsLocMonitorPtrHolder10ConstructLEii @ 16 NONAME
+	_ZN23CLbsLocMonitorPtrHolder3PtrEi @ 17 NONAME
+	_ZN23CLbsLocMonitorPtrHolder4NewLEii @ 18 NONAME
+	_ZN23CLbsLocMonitorPtrHolder4PtrCEi @ 19 NONAME
+	_ZN23CLbsLocMonitorPtrHolderD0Ev @ 20 NONAME
+	_ZN23CLbsLocMonitorPtrHolderD1Ev @ 21 NONAME
+	_ZN23CLbsLocMonitorPtrHolderD2Ev @ 22 NONAME
+	_ZN28RLbsLocMonitorAreaPositioner10ConstructLEv @ 23 NONAME
+	_ZN28RLbsLocMonitorAreaPositioner5CloseEv @ 24 NONAME
+	_ZN28RLbsLocMonitorAreaPositioner5OpenLER21RLbsLocMonitorSession @ 25 NONAME
+	_ZN28RLbsLocMonitorAreaPositioner8DestructEv @ 26 NONAME
+	_ZN28RLbsLocMonitorAreaPositionerC1Ev @ 27 NONAME
+	_ZN28RLbsLocMonitorAreaPositionerC2Ev @ 28 NONAME
+	_ZNK21RLbsLocMonitorSession15WipeOutDatabaseER14TRequestStatus @ 29 NONAME
+	_ZNK21RLbsLocMonitorSession21CancelDatabaseWipeOutEv @ 30 NONAME
+	_ZNK28RLbsLocMonitorAreaPositioner20GetLastKnownPositionER17TPositionInfoBaseR14TRequestStatus @ 31 NONAME
+	_ZNK28RLbsLocMonitorAreaPositioner20SetLastKnownPositionERK17TPositionInfoBase @ 32 NONAME
+	_ZNK28RLbsLocMonitorAreaPositioner24GetLastKnownPositionAreaER17TPositionInfoBaseR21TPositionAreaInfoBaseR17TPosAreaReqParamsR14TRequestStatus @ 33 NONAME
+	_ZNK28RLbsLocMonitorAreaPositioner26CancelGetLastKnownPositionEv @ 34 NONAME
+	_ZNK28RLbsLocMonitorAreaPositioner30CancelGetLastKnownPositionAreaEv @ 35 NONAME
+	_ZTI20RLbsLocInfoConverter @ 36 NONAME
+	_ZTI21RLbsLocMonitorSession @ 37 NONAME
+	_ZTI23CLbsLocMonitorPtrHolder @ 38 NONAME
+	_ZTI28CLbsLocInfoConversionHandler @ 39 NONAME
+	_ZTI28RLbsLocMonitorAreaPositioner @ 40 NONAME
+	_ZTV20RLbsLocInfoConverter @ 41 NONAME
+	_ZTV21RLbsLocMonitorSession @ 42 NONAME
+	_ZTV23CLbsLocMonitorPtrHolder @ 43 NONAME
+	_ZTV28CLbsLocInfoConversionHandler @ 44 NONAME
+	_ZTV28RLbsLocMonitorAreaPositioner @ 45 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,23 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_EXPORTS
+lbslocmonclient.iby			/epoc32/rom/include/lbslocmonclient.iby
+
+../../cenrep/20026814.txt c:/private/10202be9/20026814.txt
+
+
+PRJ_MMPFILES
+lbslocmonclient.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/lbslocmonclient.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_LOCMONCLIENT_IBY__
+#define __LBS_LOCMONCLIENT_IBY__
+
+//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+file=ABI_DIR\DEBUG_DIR\lbslocmonclient.dll			sys\bin\lbslocmonclient.dll
+
+//#endif // SYMBIAN_EXCLUDE_LOCATION
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/group/lbslocmonclient.mmp	Fri May 28 18:01:03 2010 +0100
@@ -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:
+*
+*/
+
+
+TARGET		lbslocmonclient.dll
+TARGETTYPE	dll
+UID		0x1000008d 0x102869DE
+
+CAPABILITY ALL -TCB
+
+MACRO ENABLE_LBS_DEV_LOGGER
+
+NOSTRICTDEF
+
+SOURCEPATH	../src
+SOURCE		rlbslocmonitorareapositioner.cpp
+SOURCE		rlbslocmonitorsession.cpp
+SOURCE		clbslocmonitorptrholder.cpp
+SOURCE      rlbslocinfoconverter.cpp
+SOURCE      clbslocinfoconversionhandler.cpp
+//
+// Server framework stuff
+//
+SOURCEPATH	../../../../locationcore/LbsLocCommon/ServerFramework/src
+SOURCE	tserverstartparams.cpp
+SOURCE	rsecuresessionbase.cpp
+SOURCE	cserverlaunch.cpp
+SOURCE	tstartparamsbase.cpp
+
+USERINCLUDE	../inc
+USERINCLUDE	../../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE	../../../lbslocmonitorserver/inc
+USERINCLUDE	../../../../locationcore/LbsInternalApi/inc
+USERINCLUDE ../../../../locationcore/lbsrootapi/inc
+USERINCLUDE ../../../../locationcore/LbsPartnerCommon/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY		euser.lib 
+LIBRARY		estor.lib 
+LIBRARY		lbs.lib
+LIBRARY		lbsloccommon.lib
+LIBRARY		lbspartnercommon.lib
+LIBRARY		lbsrootapi.lib
+LIBRARY     lbslocationinfodatatypes.lib
+
+SMPSAFE
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocinfoconversionhandler.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CLbsLocInfoConversionHandler class.
+*
+*/
+#ifndef C_LBSLOCINFOCONVERSIONHANDLER_H_
+#define C_LBSLOCINFOCONVERSIONHANDLER_H_
+
+#include <e32base.h>
+
+// Forward declaration
+class RLbsLocInfoConverter;
+class CLbsLocationInfo;
+
+/**
+ * Class waits for location information completion event and 
+ * notifies the observer on completion. 
+ */
+class CLbsLocInfoConversionHandler : public CActive
+    {
+public:
+    enum TAyncRequestType
+        {
+        EGetBuffersizeForSingleArea,
+        
+        EGetSingleConvertedArea,
+        
+        EGetBuffersizeForMultipleArea,
+                
+        EGetMultipleConvertedArea
+        };
+public:
+    /**
+     * Allocates and construct a new CLbsLocInfoConversionHandler object
+     */
+    static CLbsLocInfoConversionHandler* NewL( RLbsLocInfoConverter& aLocInfoConverter );
+    
+    /**
+     * Destructor.
+     */
+    ~CLbsLocInfoConversionHandler();
+    
+    /**
+     * Starts the asyncronous operation by setting the iStatus to active.
+     */
+    void Start( TAyncRequestType aType);
+    
+    /**
+     * Adds the buffer into the object.
+     */
+    void SetBuffer( CBufFlat* aBuffer );
+    
+    /**
+     * Stores the client's status.
+     */
+    void SetStatus( TRequestStatus& aStatus );
+    
+    /**
+     * Adds client specified requested info.
+     */
+    void SetClientRequestedInfo( TLbsConversionOutputInfoMask aRequestedInfo );
+    
+    /**
+     * Sets client's location info array.
+     */
+    void SetClientLocationInfoArray( RLbsLocationInfoBaseArray*
+                                     aLocationInfoArray );
+    
+    /**
+     * Sets client's location info object.
+     */
+    void SetClientLocationInfo( CLbsLocationInfoBase& aLocationInfo );
+    
+    /**
+     * Releases all the resources used by earlier request.
+     */
+    void ReleaseAllResources();
+    
+    
+protected: // from CActive
+    void RunL();
+    void DoCancel();
+    
+private: 
+    CLbsLocInfoConversionHandler( RLbsLocInfoConverter& aLocInfoConverter );
+    
+    void ConstructL();
+    
+    void HandleSingleConversionL();
+    
+    
+    void HandleMultipleConversionL();
+    
+    void GetPositionInfoArrayL( RBufReadStream& readStream, 
+                                CLbsLocationInfo& aDesLocationInfo );
+    
+    void GetGsmCellInfoArrayL( RBufReadStream& readStream, 
+                               CLbsLocationInfo& aDesLocationInfo);
+    
+    void GetWcdmaCellInfoArrayL( RBufReadStream& readStream, 
+                                 CLbsLocationInfo& aDesLocationInfo );
+
+    void GetWlanInfoArrayL( RBufReadStream& readStream, 
+                            CLbsLocationInfo& aDesLocationInfo );
+
+    
+private: // Member variables
+    /**
+     * Handle to loc info converter subsession.
+     */
+    RLbsLocInfoConverter&  iLocInfoConverter;
+    
+    /**
+     * Pointer to buffer
+     */
+    CBufFlat* iBuffer; 
+    
+    /**
+     * Pointer to client's TRequestStatus
+     */
+    TRequestStatus*  iClientStatus;
+    
+    /**
+     * Pointer to client's location info list
+     * Not Own.
+     */
+    RLbsLocationInfoBaseArray* iClientLocationInfoList;
+    
+    /**
+     * Pointer to client's location info
+     */
+    CLbsLocationInfoBase* iClientLocationInfo;
+    
+    /**
+     * Client specified request info
+     */
+    TLbsConversionOutputInfoMask iRequestedInfo;
+    
+    /**
+     * Type of async operation requested 
+     */ 
+    TAyncRequestType iRequestType;
+    };
+
+#endif /*C_LBSLOCINFOCONVERSIONHANDLER_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocmonitorptrholder.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORPTRHOLDER_H
+#define CLBSLOCMONITORPTRHOLDER_H
+
+#include <e32base.h>
+
+class CLbsLocMonitorPtrHolder : public CBase
+/**
+Holds the TPtr8 and TPtrC8 arrays for all RPositionServer requests.
+@internalComponent
+ */
+	{
+public:
+	
+	enum TParameter
+		{
+		EPosForGetLastKnownPosition = 0,
+		EPosForGetLastKnownPositionArea,
+		EAreaForGetLastKnownPositionArea,
+		EParamsForGetLastKnownPositionArea,
+		ELastParam, // Keep this the last
+		};
+	
+public:
+	IMPORT_C static CLbsLocMonitorPtrHolder* NewL(TInt aNumberOfPtrs,
+	                                            TInt aNumberOfPtrCs);
+	IMPORT_C ~CLbsLocMonitorPtrHolder();
+	IMPORT_C TPtr8& Ptr(TInt aIndex);
+	IMPORT_C TPtrC8& PtrC(TInt aIndex);
+protected:
+	IMPORT_C void ConstructL(TInt aNumberOfPtrs, TInt aNumberOfPtrCs);
+private:
+	/** modifiable pointer array */ 
+	RArray<TPtr8> iPtrArray;
+	/** non-modifiable pointer array */ 
+	RArray<TPtrC8> iPtrCArray;
+	};
+
+#endif // CLBSLOCMONITORPTRHOLDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/lbslocmonitorclientconsts.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBSLOCMONITORCLIENTCONSTS_H_
+#define LBSLOCMONITORCLIENTCONSTS_H_
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <e32cmn.h>
+
+/**
+ * Message parameters index in a message of RMessage2. The server has to use
+ * the parameter index defined below to write and read data into the IPC message.
+ */
+
+// This position in the IPC is used by the client library to receive 
+// buffer size.
+const TInt KParamBufferSize = 0;
+
+
+// This position in the IPC is used by the client library to send location
+// information.
+const TInt KParamLocationInfo = 1;
+
+// This position in the IPC is used by the client library to send client preferences.
+const TInt KParamClientPrefs = 2;
+
+// This position in the IPC is used by the server to send converted info
+const TInt KParamConvertedInfo = 0;
+
+/**
+ * This structure holds conversion prefs,location info mask and 
+ * the conversion module id.
+ */
+struct TLbsClientPrefs
+    {
+    TLbsConversionPrefs iConversionPrefs;
+    
+    TLbsConversionOutputInfoMask iRequestedInfo;
+    
+    TUid iConverterModuleId;
+    };
+
+#endif /*LBSLOCMONITORCLIENTCONSTS_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocinfoconverter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef R_LBSLOCINFOCONVERTER_H_
+#define R_LBSLOCINFOCONVERTER_H_
+
+
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include "rlbslocmonitorsession.h"
+#include "rsecuresessionbase.h"
+
+
+// Forward declaration
+class CLbsLocInfoConversionHandler;
+class CLbsLocMonitorPtrHolder;
+struct TLbsClientPrefs;
+
+
+/**
+ *  
+ * This class provides services pertaining to conversion of geographical
+ * area information represented as a collection of GSM/WCDMA or WLAN 
+ * information to corresponding geographical coordinates. This class is
+ * used to create sub-session with the location monitor server. 
+ *
+ * Before using the class, a primary connection must have already been
+ * established with the server with RLbsLocMonitorSession::Connect().
+ *
+ */
+class RLbsLocInfoConverter : public RSecureSubSessionBase
+    {
+public:
+
+    /**
+     * C++ constructor
+     */
+    IMPORT_C RLbsLocInfoConverter();
+    
+    /**
+     * Destructor
+     */
+    IMPORT_C ~RLbsLocInfoConverter();
+    
+    /**
+     * Opens a subsession with Location Monitor Server.
+     *
+     * A subsession must be opened before any other service can be used.
+     * 
+     * @param[in] aServer Reference to the Location Monitor Server 
+     * session.
+     *
+     * @return KErrNone if successful. Otherwise, Symbian standard 
+     * error code is returned, such as KErrNoMemory, KErrServerBusy, etc.
+     */
+    IMPORT_C void OpenL( RLbsLocMonitorSession& aLocMonSession );
+    
+    /**
+     * Closes the subsession with Location Monitor Server.
+     */
+    IMPORT_C void Close();
+    
+    /**
+     * Converts one area info to position info
+     * @param[in] aLocationInfo location information corresponding to 
+     * a geographical location is passed and on successful completion of this 
+     * method,position information corresponding to the location information 
+     * is returned in the observer callback.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested. 
+     * @param[in] aConverterModuleId Module ID of the converter plugin to be
+     * used
+     * @param[out] aStatus Contains the error code when the request is completed.
+     *
+     * @leave KErrArgument If the location info pointer is NULL or one of system
+     * wide error codes.     
+     */
+     IMPORT_C void ConvertLocationInfoL( CLbsLocationInfoBase& aLocationInfo,
+                                         TLbsConversionPrefs aConversionPrefs, 
+                                         const TLbsConversionOutputInfoMask& aRequestedInfo,
+                                         const TUid aConverterModuleId,
+                                         TRequestStatus& aStatus );
+    
+    /**
+     * Converts the area informations of a group of geographical locations
+     * to its corresponding position information.
+     *
+     * @param[in] aLocationInfoArray Array of Location information to be 
+     * converted.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client.
+     * @param[in] aRequestedInfo Location information that is requested.
+     * @param[in] aConversionModuleId Module ID of the converter plugin to be
+     * used  
+     * @param[out] aStatus Contains the error code when the request is completed.
+     * 
+     * @leave KErrArgument If the location info array is empty or if array count 
+     * exceeds KPositionMaxBatchSize or one of system wide error codes.
+     */
+    IMPORT_C void ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray,
+                                        TLbsConversionPrefs aConversionPrefs,
+                                        TLbsConversionOutputInfoMask aRequestedInfo,
+                                        const TUid aConverterModuleId,
+                                        TRequestStatus& aStatus );
+    
+    /**
+     * Cancel outstanding request to convert location information.
+     */
+    IMPORT_C void CancelConvertLocationInfo();
+    
+    /**
+     * Handles buffer size passed from the server to store single converted 
+     * location info. 
+     */
+    void HandleSingleConversionBufferSizeL(); 
+
+    /**
+     * Handles buffer size passed from the server to store multiple converted 
+     * location info. 
+     */
+    void HandleMultipleConversionBufferSizeL(); 
+    
+    /**
+     * Validates location information.
+     */
+    void ValidateLocationInfoL( CLbsLocationInfoBase* aLocationInfo );
+    
+
+private:
+    /**
+     * Symbian 2 phase constructor
+     */
+    void ConstructL();
+
+    
+private: // Member variables
+    /**
+     * Pointer to location info conversion handler
+     */
+    CLbsLocInfoConversionHandler* iConversionHandler;
+    
+    /** 
+     * A pointer to a container that holds pointer descriptors, needed to point
+     * to the clients request data during asynchronous requests 
+     */
+    CLbsLocMonitorPtrHolder* iPtrHolder;
+    
+    /**
+     * Size of the buffer required to receive information
+     * from server.
+     */
+    TInt iBufferSize;
+    
+    /**
+     * Client preferences
+     */
+    TLbsClientPrefs* iClientPrefs;
+    };
+
+#endif /*R_LBSLOCINFOCONVERTER_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+/**
+@file
+@InternalTechnology
+*/
+
+#ifndef RLBSLOCMONITORAREAPOSITIONER_H
+#define RLBSLOCMONITORAREAPOSITIONER_H
+
+#include <lbspositioninfo.h>
+#include <lbsareainfo.h>
+#include "rlbslocmonitorsession.h"
+#include "lbslocmonitorserverdata.h"
+#include "clbslocmonitorptrholder.h"
+
+/**
+This class is used by clients of the Location Monitor server to
+create a sub-session with the server.
+
+Before using the class, a primary connection must have already been
+established with the server with RLbsLocMonitorSession::Connect().
+
+@see RLbsLocMonitorSession
+*/
+class RLbsLocMonitorAreaPositioner : public RSecureSubSessionBase
+	{
+
+public:
+
+	IMPORT_C RLbsLocMonitorAreaPositioner();
+	IMPORT_C void OpenL(RLbsLocMonitorSession& aLocMonSession);
+	IMPORT_C void Close();
+
+   	/* Called by the Location Server to report the last
+   	 Position obtained from any of its PSYs that are not otherwise
+   	 available to the Location Monitor. The position
+   	 will be stored in a database.
+   	 */
+   	IMPORT_C TInt SetLastKnownPosition(const TPositionInfoBase& aPosInfo) const;
+   	
+   	/* Retrieve the position last stored in the database */
+    IMPORT_C void GetLastKnownPosition(TPositionInfoBase& aPosInfo,
+                                	 TRequestStatus& aStatus) const;
+    
+    /* Cancel a previous call to GetLastKnownPosition*/
+    IMPORT_C TInt CancelGetLastKnownPosition() const;                 
+
+  	/* Returns in aPosInfo a position which had been previously stored 
+  	in association with "context information" that is bound to a 
+  	geographical area (e.g. Global Cell Id).
+  	
+  	Current context information will be sensed by the server and used
+  	to search for a position in the database. If found, the position 
+  	will be an approximation of the current position of the handset.
+  	If no position is found in the database for the current context
+  	information, the position last stored in the database is returned.
+  	
+  	The method returns in aAreaInfo a rough indication of how accurate the
+  	returned position is based on an estimation of the size of the
+  	geographical area covered by the sensed context information.
+   	*/
+   	IMPORT_C void GetLastKnownPositionArea(TPositionInfoBase& aPosInfo,
+				      				 TPositionAreaInfoBase& aAreaInfo,
+				      				 TPosAreaReqParams& aParameters,
+                                	 TRequestStatus& aStatus) const;
+
+    /* Cancel a call to GetLastKnownPositionArea */
+    IMPORT_C TInt CancelGetLastKnownPositionArea() const;
+
+                                	 	 
+protected:
+
+	IMPORT_C virtual void ConstructL();
+	IMPORT_C virtual void Destruct();
+
+private:
+
+	/** A pointer to a container that holds pointer descriptors, needed to point
+	to the clients request data during asynchronous requests */
+	CLbsLocMonitorPtrHolder* iPtrHolder;                                	 
+	};
+	
+#endif // RLBSLOCMONITORAREAPOSITIONER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorsession.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* 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:
+*
+*/
+
+
+/**
+@InternalTechnology
+@prototype
+*/
+
+#ifndef RLBSLOCMONITORSESSION_H
+#define RLBSLOCMONITORSESSION_H
+
+#include "rsecuresessionbase.h"
+
+/**
+Client-side session with the Location Monitor server.
+ */
+class RLbsLocMonitorSession : public RSecureSessionBase
+	{
+	
+public:
+
+	IMPORT_C RLbsLocMonitorSession();
+	
+	IMPORT_C TInt Connect();
+
+	IMPORT_C void Close();
+
+	/* Close the database and wipe out the DB file.
+	*/
+	IMPORT_C void WipeOutDatabase(TRequestStatus& aStatus) const;
+   	
+   	/* Cancel previous request to delete the Database
+   	of positions.
+   	*/
+   	IMPORT_C TInt CancelDatabaseWipeOut() const;
+   	
+   	IMPORT_C TVersion Version();
+   	
+protected:
+	
+	// From RSecureSessionBase
+	TInt StartServer(TServerStartParams& aParams);
+	};
+
+#endif // RLBSLOCMONITORSESSION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocinfoconversionhandler.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,378 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CLbsLocInfoConversionHandler class.
+*
+*/
+
+#include <s32strm.h>
+#include <s32mem.h>
+#include <lbs/lbslocationinfo.h>
+#include "rlbslocinfoconverter.h"
+#include "clbslocinfoconversionhandler.h"
+
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocInfoConversionHandler* CLbsLocInfoConversionHandler::NewL( 
+                            RLbsLocInfoConverter& aLocInfoConverter )
+    {
+    CLbsLocInfoConversionHandler* self = new ( ELeave ) 
+                                CLbsLocInfoConversionHandler( aLocInfoConverter );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::CLbsLocInfoConversionHandler
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocInfoConversionHandler::CLbsLocInfoConversionHandler( 
+                            RLbsLocInfoConverter& aLocInfoConverter ):
+                            CActive( EPriorityStandard ),
+                            iLocInfoConverter( aLocInfoConverter )
+    {
+    CActiveScheduler::Add( this );
+    }
+                            
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::SetBuffer
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler::SetBuffer( CBufFlat* aBuffer )
+    {
+    if( iBuffer )
+        {
+        delete iBuffer;
+        iBuffer = NULL;
+        }
+    iBuffer = aBuffer;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::SetStatus
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler:: SetStatus( TRequestStatus& aStatus )
+    {
+    iClientStatus = &aStatus;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::SetClientLocationInfoArray
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler::SetClientLocationInfoArray( 
+                                  RLbsLocationInfoBaseArray*
+                                  aLocationInfoArray )
+    {
+    iClientLocationInfoList = aLocationInfoArray;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::SetClientLocationInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler::SetClientLocationInfo(
+                              CLbsLocationInfoBase& aLocationInfo )
+    {
+    iClientLocationInfo = &aLocationInfo;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::SetClientLocationInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler::SetClientRequestedInfo( 
+                            TLbsConversionOutputInfoMask aRequestedInfo )
+    {
+    iRequestedInfo = aRequestedInfo;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::ReleaseAllResources
+// (other items were commented in a header).
+//----------------------------------------------------------------     
+void CLbsLocInfoConversionHandler::ReleaseAllResources()
+    {
+    if( iBuffer )
+        {
+        delete iBuffer;
+        iBuffer = NULL;
+        }
+    iClientLocationInfoList = NULL;
+    iClientLocationInfo = NULL;
+    iClientStatus = NULL;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::~CLbsLocInfoConversionHandler
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocInfoConversionHandler::~CLbsLocInfoConversionHandler()
+    {
+    if( IsActive() )
+        {
+        Cancel();
+        }
+    delete iBuffer;
+    iBuffer = NULL;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::RunL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocInfoConversionHandler::RunL()
+    {
+    TInt error = iStatus.Int();
+    if( error == KErrNone )
+        {
+        switch( iRequestType )
+            {
+            case EGetBuffersizeForSingleArea:
+                {
+                iLocInfoConverter.HandleSingleConversionBufferSizeL();
+                break;
+                }
+            case EGetSingleConvertedArea:
+                {
+                HandleSingleConversionL();
+                break;
+                }
+            case EGetBuffersizeForMultipleArea:
+                {
+                iLocInfoConverter.HandleMultipleConversionBufferSizeL();
+                break;
+                }
+            case EGetMultipleConvertedArea:
+                {
+                HandleMultipleConversionL();
+                break;
+                }
+            }
+        }
+    // Incase of error, report it to the client through observer.
+    else
+        {
+        User::RequestComplete( iClientStatus,error );
+        }
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::HandleSingleConversionL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocInfoConversionHandler::HandleSingleConversionL()
+    {
+    RBufReadStream readStream( *iBuffer );
+    CleanupClosePushL( readStream );
+    
+    CLbsLocationInfo* clientLocInfo = static_cast<CLbsLocationInfo*> 
+                                                       ( iClientLocationInfo );
+    
+    // Get the client requested area info from location info object.
+    switch( iRequestedInfo )
+        {
+        case ELbsConversionOutputPosition:
+            GetPositionInfoArrayL( readStream,*clientLocInfo );
+            break;
+            
+        case ELbsConversionOutputGsm:
+            GetGsmCellInfoArrayL( readStream,*clientLocInfo );
+            break;
+            
+        case ELbsConversionOutputWcdma:
+            GetWcdmaCellInfoArrayL( readStream,*clientLocInfo );
+            break;
+            
+        case ELbsConversionOutputWlan:
+            GetWlanInfoArrayL( readStream,*clientLocInfo );
+            break;
+        
+        }
+    
+    // Complete client status
+    CleanupStack::PopAndDestroy( &readStream ); 
+    User::RequestComplete( iClientStatus,KErrNone );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::HandleMultipleConversionL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocInfoConversionHandler::HandleMultipleConversionL()
+    {
+    RBufReadStream readStream( *iBuffer );
+    CleanupClosePushL( readStream );
+    
+    // Extract the converted info array from the stream.
+    TInt locInfoArrayCount = readStream.ReadInt8L();
+    
+    // Get the client requested area info from the each object of location 
+    // info in the array
+    for( TInt i=0;i<locInfoArrayCount;i++ )
+        {
+        // Each element in the client's array are extracted to fill the corresponding 
+        // converted area info.
+        CLbsLocationInfo* clientLocInfo = static_cast<CLbsLocationInfo*> 
+                                                           ( (*iClientLocationInfoList)[i] );
+        
+        switch( iRequestedInfo )
+            {
+            case ELbsConversionOutputPosition:
+                GetPositionInfoArrayL( readStream,*clientLocInfo );
+                break;
+                
+            case ELbsConversionOutputGsm:
+                GetGsmCellInfoArrayL( readStream,*clientLocInfo );
+                break;
+                
+            case ELbsConversionOutputWcdma:
+                GetWcdmaCellInfoArrayL( readStream,*clientLocInfo );
+                break;
+                
+            case ELbsConversionOutputWlan:
+                GetWlanInfoArrayL( readStream,*clientLocInfo );
+                break;
+            }     
+        }
+    
+    // Complete client status
+    CleanupStack::PopAndDestroy( &readStream ); 
+    User::RequestComplete( iClientStatus,KErrNone );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::DoCancel
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocInfoConversionHandler::DoCancel()
+    {
+    User::RequestComplete(iClientStatus, iStatus.Int());
+    }
+
+//----------------------------------------------------------------
+// CLbsLocInfoConversionHandler::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocInfoConversionHandler::ConstructL()
+    {
+    // Nothing to be done here.
+    }
+
+// ---------------------------------------------------------
+// CLbsLocInfoConversionHandler::Start
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CLbsLocInfoConversionHandler::Start( TAyncRequestType aType )
+    {
+    iRequestType = aType;
+    SetActive();
+    }
+
+// ---------------------------------------------------------
+// CLbsLocInfoConversionHandler::GetPositionInfoArrayL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CLbsLocInfoConversionHandler::GetPositionInfoArrayL(
+                                              RBufReadStream& readStream, 
+                                              CLbsLocationInfo& aDesLocationInfo  )
+    {
+    // Read the count of converted info.
+    TInt convertedInfoCount = readStream.ReadInt8L();
+    
+    for( TInt i=0;i<convertedInfoCount;i++ )
+        {
+        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL();
+        CleanupStack::PushL( positionInfo );
+        positionInfo->InternaliseL( readStream );
+        aDesLocationInfo.AddAreaInfoL( positionInfo );
+        CleanupStack::Pop( positionInfo );
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CLbsLocInfoConversionHandler::GetGsmCellInfoArrayL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CLbsLocInfoConversionHandler::GetGsmCellInfoArrayL(
+                                              RBufReadStream& readStream, 
+                                              CLbsLocationInfo& aDesLocationInfo )
+    {
+    // Read the count of converted info.
+    TInt convertedInfoCount = readStream.ReadInt8L();
+    
+    for( TInt i=0;i<convertedInfoCount;i++ )
+        {
+        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL();
+        CleanupStack::PushL( gsmCellInfo );
+        gsmCellInfo->InternaliseL( readStream );
+        aDesLocationInfo.AddAreaInfoL( gsmCellInfo );
+        CleanupStack::Pop( gsmCellInfo );
+        }
+    }
+
+// ---------------------------------------------------------
+// CLbsLocInfoConversionHandler::GetWcdmaCellInfoArrayL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CLbsLocInfoConversionHandler::GetWcdmaCellInfoArrayL(
+                                               RBufReadStream& readStream, 
+                                               CLbsLocationInfo& aDesLocationInfo )
+    {
+    // Read the count of converted info.
+    TInt convertedInfoCount = readStream.ReadInt8L();
+    
+    for( TInt i=0;i<convertedInfoCount;i++ )
+        {
+        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL();
+        CleanupStack::PushL( wcdmaCellInfo );
+        wcdmaCellInfo->InternaliseL( readStream );
+        aDesLocationInfo.AddAreaInfoL( wcdmaCellInfo );
+        CleanupStack::Pop( wcdmaCellInfo );
+        }
+    }
+
+// ---------------------------------------------------------
+// CLbsLocInfoConversionHandler::GetWlanInfoArrayL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//    
+void CLbsLocInfoConversionHandler::GetWlanInfoArrayL(
+                                              RBufReadStream& readStream, 
+                                              CLbsLocationInfo& aDesLocationInfo )
+    {
+    // Read the count of converted info.
+    TInt convertedInfoCount = readStream.ReadInt8L();
+    
+    for( TInt i=0;i<convertedInfoCount;i++ )
+        {
+        CLbsWlanInfo* wlanInfo = CLbsWlanInfo::NewL();
+        CleanupStack::PushL( wlanInfo );
+        wlanInfo->InternaliseL( readStream );
+        aDesLocationInfo.AddAreaInfoL( wlanInfo );
+        CleanupStack::Pop( wlanInfo );
+        }
+    }
+
+// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocmonitorptrholder.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "clbslocmonitorptrholder.h"
+
+
+//-----------------------------------------------------------------------------
+// CLbsLocMonitorPtrHolder
+//-----------------------------------------------------------------------------
+
+/**
+ Allocates and constructs a CLbsLocMonitorPtrHolder object.
+
+ The function leaves if there is insufficient memory.
+
+@internalComponent
+@param aNumberOfPtrs is the number of modifiable pointer descriptors to
+  create. These are used for asynchronous 'get' requests.
+@param aNumberOfPtrCs is the number of read-only pointer descriptors to
+  create. These are used for asynchronous 'set' requests.
+@return a newly created CLbsLocMonitorPtrHolder object.
+ */
+EXPORT_C CLbsLocMonitorPtrHolder* CLbsLocMonitorPtrHolder::NewL(TInt aNumberOfPtrs,
+                                                            TInt aNumberOfPtrCs)
+	{
+	CLbsLocMonitorPtrHolder* self = new (ELeave) CLbsLocMonitorPtrHolder;
+	CleanupStack::PushL(self);
+	self->ConstructL(aNumberOfPtrs, aNumberOfPtrCs);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C void CLbsLocMonitorPtrHolder::ConstructL(TInt aNumberOfPtrs,
+                                                TInt aNumberOfPtrCs)
+
+	{
+	TPtr8 ptr(NULL, 0);
+	TInt i;
+	for (i = 0; i < aNumberOfPtrs; i++)
+		{
+		User::LeaveIfError(iPtrArray.Append(ptr));
+		}
+
+	TPtrC8 ptrC(NULL, 0);
+	for (i = 0; i < aNumberOfPtrCs; i++)
+		{
+		User::LeaveIfError(iPtrCArray.Append(ptrC));
+		}
+	}
+
+/**
+Destructor for CLbsLocMonitorPtrHolder.
+
+@internalComponent
+*/
+EXPORT_C CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder()
+	{
+	iPtrCArray.Close();
+	iPtrArray.Close();
+	}
+
+/**
+An accessor for the modifiable pointer descriptors.
+
+@internalComponent
+@param aIndex specifies the descriptor to return.
+@return a reference to one of our contained pointer descriptors.
+ */
+EXPORT_C TPtr8& CLbsLocMonitorPtrHolder::Ptr(TInt aIndex)
+	{
+	return iPtrArray[aIndex];
+	}
+
+/**
+An accessor for the read-only pointer descriptors.
+
+@internalComponent
+@param aIndex specifies the descriptor to return.
+@return a reference to one of our contained pointer descriptors.
+*/
+EXPORT_C TPtrC8& CLbsLocMonitorPtrHolder::PtrC(TInt aIndex)
+	{
+	return iPtrCArray[aIndex];
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocinfoconverter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,357 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of RLbsLocInfoConverter class.
+*
+*/
+
+#include <s32mem.h>
+#include <lbs/lbslocerrors.h>
+#include "rlbslocinfoconverter.h"
+#include "clbslocinfoconversionhandler.h"
+#include "lbslocmonitorclientconsts.h"
+#include "clbslocmonitorptrholder.h"
+#include "lbslocmonitorserverdata.h"
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+void CleanUpAreaInfoArray(TAny* aArray)
+    {
+	 	static_cast<RLbsAreaInfoBaseArray*>(aArray)->ResetAndDestroy();
+    }
+
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::RLbsLocInfoConverter
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C RLbsLocInfoConverter::RLbsLocInfoConverter():
+                                iConversionHandler( NULL ),
+                                iPtrHolder( NULL )
+    {
+    //iConversionHandler = NULL;
+    //iPtrHolder = NULL;
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::~RLbsLocInfoConverter
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C RLbsLocInfoConverter::~RLbsLocInfoConverter()
+    {
+    delete iConversionHandler;
+    iConversionHandler = NULL;
+    
+    delete iPtrHolder;
+    iPtrHolder = NULL;
+    
+    delete iClientPrefs;
+    iClientPrefs = NULL;
+    }
+
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::OpenL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::OpenL( RLbsLocMonitorSession& 
+                                           aLocMonSession )
+    {
+    __ASSERT_ALWAYS(aLocMonSession.Handle() != 0, User::Invariant()); // trying to open twice
+    TInt err(KErrNone);
+    ConstructL();
+    
+    // Call Server Framework 'Open'
+    TLbsLocMonitorConversionPositionerData emptyData;
+    TLbsLocMonitorSubSessionType type(ELocMonitorSubSessionTypeConversionPositiner);
+    err = RSecureSubSessionBase::Open<TLbsLocMonitorSubSessionType, 
+                                      TLbsLocMonitorConversionPositionerData>
+                                      (aLocMonSession, type, emptyData);
+    User::LeaveIfError(err);
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::Close
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::Close()
+    {
+    // Call Server Framework 'Close'
+    RSecureSubSessionBase::Close();
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::ConvertLocationInfoL( 
+                                    CLbsLocationInfoBase& aLocationInfo,
+                                    TLbsConversionPrefs aConversionPrefs, 
+                                    const TLbsConversionOutputInfoMask& aRequestedInfo,
+                                    const TUid aConverterModuleId,
+                                    TRequestStatus& aStatus )
+    {
+    __ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+    
+    // If there is any outstanding request,panic the client with error code 
+    // ELocMonitorDuplicateRequest
+    if( iConversionHandler->IsActive() )
+        {
+        User::Panic( KLocationMonitorFault,ELocMonitorDuplicateRequest );
+        }
+    
+    aStatus = KRequestPending;
+    
+    // Validate area information
+    ValidateLocationInfoL( &aLocationInfo );
+    
+    // Release the resources used by the earlier request.
+    iConversionHandler->ReleaseAllResources();
+    
+    // Store the handle to client's location info. This is required to 
+    // update it with the converted info.
+    iConversionHandler->SetClientLocationInfo( aLocationInfo );
+    iConversionHandler->SetClientRequestedInfo( aRequestedInfo );
+    
+    iPtrHolder->Ptr(0).Set( reinterpret_cast<TUint8*>(&iBufferSize),
+                            sizeof(iBufferSize),sizeof(iBufferSize) );
+
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupStack::PushL( buffer );
+    RBufWriteStream writeStream;
+    writeStream.Open( *buffer );
+    CleanupClosePushL( writeStream );
+    
+    // Write location info content to the stream.
+    aLocationInfo.ExternaliseL( writeStream );
+    writeStream.CommitL();
+    CleanupStack::PopAndDestroy( &writeStream );
+    CleanupStack::Pop( buffer );
+    
+    // Store the buffer handle in the handler object.
+    iConversionHandler->SetBuffer( buffer );
+    
+    // Store handle to client's status in handler object.Handler 
+    // object will complete client's status on conversion completion.
+    iConversionHandler->SetStatus( aStatus );
+    
+    TPtr8 ptr = buffer->Ptr(0);
+    iPtrHolder->Ptr(1).Set( ptr );
+    
+    // Client preferences are packed into a structure in order to send it in 
+    // a single IPC slot.
+    iClientPrefs->iConversionPrefs = aConversionPrefs;
+    iClientPrefs->iRequestedInfo = aRequestedInfo;
+    iClientPrefs->iConverterModuleId = aConverterModuleId;
+    TPckg<TLbsClientPrefs> clientPrefsPckg( *iClientPrefs );
+    
+    TIpcArgs ipcArgs;
+    ipcArgs.Set( KParamBufferSize,&iPtrHolder->Ptr(0) );
+    ipcArgs.Set( KParamLocationInfo,&iPtrHolder->Ptr(1) );
+    ipcArgs.Set( KParamClientPrefs,&clientPrefsPckg );
+    
+    SendReceive( EConvertSingleLocationInfoBufferSize,ipcArgs,iConversionHandler->iStatus );
+    iConversionHandler->Start( CLbsLocInfoConversionHandler::EGetBuffersizeForSingleArea );
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::ConvertLocationInfoL( 
+                                   RLbsLocationInfoBaseArray& aLocationInfoArray,
+                                   TLbsConversionPrefs aConversionPrefs,
+                                   TLbsConversionOutputInfoMask aRequestedInfo,
+                                   const TUid aConverterModuleId,
+                                   TRequestStatus& aStatus )
+    {
+    __ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+    
+    // If there is any outstanding request,panic the client with error code 
+    // ELocMonitorDuplicateRequest
+    if( iConversionHandler->IsActive() )
+        {
+        User::Panic( KLocationMonitorFault,ELocMonitorDuplicateRequest );
+        }
+    
+    aStatus = KRequestPending;
+    
+    TInt count = aLocationInfoArray.Count();
+    // Leave with error code if array count is zero or count exceeds KPositionMaxBatchSize
+    if( !count || count > KPositionMaxBatchSize  )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Validate each location info object in the array.
+    for( TInt i=0;i<count;i++ )
+        {
+        ValidateLocationInfoL( aLocationInfoArray[i] );
+        }
+    
+    // Release the resources used by the earlier request.
+    iConversionHandler->ReleaseAllResources();
+    
+    // Store the handle to client's location info array. This is required to 
+    // update it with the converted info.
+    iConversionHandler->SetClientLocationInfoArray( &aLocationInfoArray );
+    iConversionHandler->SetClientRequestedInfo( aRequestedInfo );
+    
+    iPtrHolder->Ptr(0).Set( reinterpret_cast<TUint8*>(&iBufferSize),
+                            sizeof(iBufferSize),sizeof(iBufferSize) );
+
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupStack::PushL( buffer );
+    RBufWriteStream writeStream;
+    writeStream.Open( *buffer );
+    CleanupClosePushL( writeStream );
+    
+    TInt arrayCount = aLocationInfoArray.Count();
+    // Write the array count to the stream.     
+    writeStream.WriteInt8L( arrayCount );
+    
+    // Write location info array contents to the stream.
+    for( TInt i=0;i<arrayCount;i++ )
+        {
+        aLocationInfoArray[i]->ExternaliseL( writeStream );
+        }
+    writeStream.CommitL();
+    CleanupStack::PopAndDestroy( &writeStream );
+    CleanupStack::Pop( buffer );
+        
+    // Store the buffer handle in the handler object.
+    iConversionHandler->SetBuffer( buffer );
+    
+    // Store handle to client's status in handler object.Handler 
+    // object will complete client's status on conversion completion.
+    iConversionHandler->SetStatus( aStatus );
+
+    TPtr8 ptr = buffer->Ptr(0);
+    iPtrHolder->Ptr(1).Set( ptr );
+    
+    // Client preferences are packed into a structure in order to send it in 
+    // a single IPC slot.
+    iClientPrefs->iConversionPrefs = aConversionPrefs;
+    iClientPrefs->iRequestedInfo = aRequestedInfo;
+    iClientPrefs->iConverterModuleId = aConverterModuleId;
+    TPckg<TLbsClientPrefs> clientPrefsPckg( *iClientPrefs );
+    
+    TIpcArgs ipcArgs;
+    ipcArgs.Set( KParamBufferSize,&iPtrHolder->Ptr(0) );
+    ipcArgs.Set( KParamLocationInfo,&iPtrHolder->Ptr(1) );
+    ipcArgs.Set( KParamClientPrefs,&clientPrefsPckg );
+    
+    SendReceive( EConvertMultipleLocationInfoBufferSize,ipcArgs,iConversionHandler->iStatus );
+    iConversionHandler->Start( CLbsLocInfoConversionHandler::EGetBuffersizeForMultipleArea );
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::CancelConvertLocationInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::CancelConvertLocationInfo()
+    {
+    __ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+    SendReceive( ECancelConvertLocationInfo );
+    if( iConversionHandler->iStatus.Int() != KRequestPending )
+        iConversionHandler->Cancel();
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::HandleSingleConversionBufferSizeL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void RLbsLocInfoConverter::HandleSingleConversionBufferSizeL()
+    {
+    CBufFlat* buffer = CBufFlat::NewL(256);
+    CleanupStack::PushL( buffer );
+    buffer->ResizeL( iBufferSize );
+    CleanupStack::Pop( buffer );
+    iConversionHandler->SetBuffer( buffer );
+    
+    TPtr8 bufPtr = buffer->Ptr(0);
+    iPtrHolder->Ptr(0).Set( bufPtr );
+    TIpcArgs ipcArgs;
+    ipcArgs.Set( KParamConvertedInfo,&iPtrHolder->Ptr(0) );
+    
+    SendReceive( EGetSingleLocationInfo,ipcArgs,iConversionHandler->iStatus );
+    iConversionHandler->Start( CLbsLocInfoConversionHandler::EGetSingleConvertedArea );
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::HandleMultipleConversionBufferSizeL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void RLbsLocInfoConverter::HandleMultipleConversionBufferSizeL()
+    {
+    CBufFlat* buffer = CBufFlat::NewL(256);
+    CleanupStack::PushL( buffer );
+    buffer->ResizeL( iBufferSize );
+    CleanupStack::Pop( buffer );
+    iConversionHandler->SetBuffer( buffer );
+    
+    TPtr8 bufPtr = buffer->Ptr(0);
+    iPtrHolder->Ptr(0).Set( bufPtr );
+    TIpcArgs ipcArgs;
+    ipcArgs.Set( KParamConvertedInfo,&iPtrHolder->Ptr(0) );
+    
+    SendReceive( EGetMultipleLocationInfo,ipcArgs,iConversionHandler->iStatus );
+    iConversionHandler->Start( CLbsLocInfoConversionHandler::EGetMultipleConvertedArea );
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void RLbsLocInfoConverter::ConstructL()
+    {
+    iConversionHandler = CLbsLocInfoConversionHandler::NewL( *this );
+    iPtrHolder = CLbsLocMonitorPtrHolder::NewL(CLbsLocMonitorPtrHolder::ELastParam, 0);
+    iClientPrefs = new( ELeave ) TLbsClientPrefs;
+    }
+
+//----------------------------------------------------------------
+// RLbsLocInfoConverter::ValidateLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void RLbsLocInfoConverter::ValidateLocationInfoL( CLbsLocationInfoBase*
+                                                  aLocationInfo )
+    {
+    CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*>
+                                                     ( aLocationInfo );
+    
+    RLbsAreaInfoBaseArray areaInfoArray;    
+ 
+ 	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &areaInfoArray ));
+
+    locationInfo->GetAreaInfoL( areaInfoArray );                                                     
+    
+    // Leave with error if array count is zero.
+    TInt count = areaInfoArray.Count();
+    if( !count )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Validate each and every area info object.
+    for( TInt i=0;i<count;i++ )
+        {
+        areaInfoArray[i]->ValidateDataL();
+        }
+    CleanupStack::PopAndDestroy( &areaInfoArray );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorareapositioner.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <e32base.h>
+#include <e32debug.h>
+#include <e32cmn.h>
+#include <lbsposition.h>
+#include "rlbslocmonitorareapositioner.h"
+
+
+EXPORT_C RLbsLocMonitorAreaPositioner::RLbsLocMonitorAreaPositioner()
+  : RSecureSubSessionBase(), 
+    iPtrHolder(NULL)
+	{
+	}
+	
+EXPORT_C void RLbsLocMonitorAreaPositioner::ConstructL()
+	{
+	iPtrHolder = CLbsLocMonitorPtrHolder::NewL(CLbsLocMonitorPtrHolder::ELastParam, 0);
+	}
+
+EXPORT_C void RLbsLocMonitorAreaPositioner::Destruct()
+	{
+	delete iPtrHolder;
+	iPtrHolder = NULL;
+	}
+
+EXPORT_C void RLbsLocMonitorAreaPositioner::OpenL(RLbsLocMonitorSession& aLocMonSession)
+	{
+	__ASSERT_ALWAYS(aLocMonSession.Handle() != 0, User::Invariant()); // trying to open twice
+	TInt err(KErrNone);
+	ConstructL();
+	
+	// Call Server Framework 'Open'
+	TLbsLocMonitorAreaPositionerData emptyData;
+	TLbsLocMonitorSubSessionType type(ELocMonitorSubSessionTypeAreaPositioner);
+	err = RSecureSubSessionBase::Open<TLbsLocMonitorSubSessionType, TLbsLocMonitorAreaPositionerData>(aLocMonSession, type, emptyData);
+	if (err != KErrNone)
+		{
+		Destruct();
+		}
+	User::LeaveIfError(err);
+	}
+
+EXPORT_C void RLbsLocMonitorAreaPositioner::Close()
+	{
+	// Call Server Framework 'Close'
+	RSecureSubSessionBase::Close();
+	Destruct();
+	}
+
+/**
+Method called by the Location Server to send the Last Known Position to the Location Monitor
+for storing together with Local Area information if possible.
+
+@param aPosInfo the position object to be sent to the server (only the TPositionInfo portion 
+		will be sent)
+@return KErrNone if position is succesfully sent to server
+		KErrArgument if aPosInfo is not a TPositionInfo class or derived class.
+		Any of the error codes returned by RSessionBase::SendReceive
+*/
+EXPORT_C TInt RLbsLocMonitorAreaPositioner::SetLastKnownPosition(const TPositionInfoBase& aPosInfo) const
+	{
+	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
+	// Verify aPosInfo is of a type that contains a position
+	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
+    TUint32 classType = infoBase.PositionClassType();
+    if (!(classType & EPositionInfoClass))
+        {
+        return KErrArgument;
+        }
+
+	// Get the TPosition in aPosInfo and send to the Location Monitor
+	const TPositionInfo& posInfo = static_cast<const TPositionInfo&>(aPosInfo);
+	TPosition position;
+	posInfo.GetPosition(position);
+
+	TPckgC<TPosition> posPckg(position);
+	return SendReceive(ESetLastKnownPosition, TIpcArgs(&posPckg));
+	}
+
+
+/* Retrieve the position last stored in the database */
+EXPORT_C void RLbsLocMonitorAreaPositioner::GetLastKnownPosition(TPositionInfoBase& aPosInfo,
+                                	 TRequestStatus& aStatus) const
+	{
+	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
+	
+	// Ensure aPosInfo output parameter is at TPositionInfo or derived class
+	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
+    TUint32 classType = infoBase.PositionClassType();
+    if (!(classType & EPositionInfoClass))
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrArgument);
+		return;
+        }
+
+	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPosition).Set(
+		reinterpret_cast<TUint8*>(&aPosInfo),
+		aPosInfo.PositionClassSize(),
+		aPosInfo.PositionClassSize());
+
+	SendReceive(EGetLastKnownPosition,
+				TIpcArgs(&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPosition)),
+						aStatus);
+	}                              
+
+EXPORT_C TInt RLbsLocMonitorAreaPositioner::CancelGetLastKnownPosition() const
+	{
+	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+
+	return SendReceive(ECancelGetLastKnownPosition);
+	}
+
+
+/**
+Returns in aPosInfo a position which had been previously stored 
+in association with "context information" that is bound to a 
+geographical area (e.g. Global Cell Id).
+
+Current context information will be sensed by the server and used
+to search for a position in the database. If found, the position 
+will be an approximation of the current position of the handset.
+If no position is found in the database for the current context
+information, the position last stored in the database is returned.
+
+The method returns in aAreaInfo a rough indication of how accurate the
+returned position is based on an estimation of the size of the
+geographical area covered by the sensed context information.
+*/
+EXPORT_C void RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea(TPositionInfoBase& aPosInfo,
+				      				 TPositionAreaInfoBase& aAreaInfo,
+				      				 TPosAreaReqParams& aParameters,
+                                	 TRequestStatus& aStatus) const
+	{
+	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
+
+	// Ensure aPosInfo output parameter is at TPositionInfo or derived class
+	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
+    TUint32 classType = infoBase.PositionClassType();
+    if (!(classType & EPositionInfoClass))
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrArgument);
+		return;
+        }
+	 
+	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPositionArea).Set(
+		reinterpret_cast<TUint8*>(&aPosInfo),
+		aPosInfo.PositionClassSize(),
+		aPosInfo.PositionClassSize());
+
+	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EAreaForGetLastKnownPositionArea).Set(
+		reinterpret_cast<TUint8*>(&aAreaInfo),
+		aAreaInfo.PositionClassSize(),
+		aAreaInfo.PositionClassSize());
+
+	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EParamsForGetLastKnownPositionArea).Set(
+		reinterpret_cast<TUint8*>(&aParameters),
+		sizeof(TPosAreaReqParams),
+		sizeof(TPosAreaReqParams));
+		  
+	SendReceive(EGetLastKnownPositionArea,
+	 	 		TIpcArgs(&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPositionArea),
+	 	 				&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EAreaForGetLastKnownPositionArea),
+	 	 				&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EParamsForGetLastKnownPositionArea)),
+	 	 				aStatus);
+	}
+
+EXPORT_C TInt RLbsLocMonitorAreaPositioner::CancelGetLastKnownPositionArea() const
+	{
+	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
+	return SendReceive(ECancelGetLastKnownPositionArea);
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorsession.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "rlbslocmonitorsession.h"
+#include "lbsdevloggermacros.h"
+#include "tserverstartparams.h"
+#include "cserverlaunch.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsprocessuiddefs.h"
+#include "lbsipc.h"
+
+
+//-----------------------------------------------------------------------------
+// RLbsLocMonitorSession
+//-----------------------------------------------------------------------------
+EXPORT_C RLbsLocMonitorSession::RLbsLocMonitorSession()
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::RLbsLocMonitorSession() lbslocmonitor.exe\n");
+	}
+
+/**
+Creates a session with the location monitor server.
+This method starts the server if not yet started.
+
+@return Standard Symbian OS error code.
+*/
+EXPORT_C TInt RLbsLocMonitorSession::Connect()
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Connect()\n");
+	TInt ret(KErrNone);
+    TServerStartParams params;
+	params.SetServerFileName(KLocMonitorExeName);
+	params.SetServerName(KLocMonitorServerName);
+	params.SetNumberOfServerSlots(KLbsDefaultMessageSlots);
+	params.SetServerUids(KNullUid, KNullUid, KLbsLocMonitorUid);
+	
+	// Base class creates the session (and the server if required)	
+	ret = RSecureSessionBase::Connect(params);
+	
+	LBSLOG2(ELogP9, "  Return  = %d\n", ret);
+	return ret;
+	}
+
+EXPORT_C void RLbsLocMonitorSession::Close()
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Close() lbslocationmonitor.exe\n");
+	RSecureSessionBase::Close();
+	}
+
+/**
+Attempts to Cancel a previously issued asynchronous request to delete the
+database of area-locations.
+
+The TRequestStatus of the original request will be set to KErrCancel if
+the cancellation request was successful, or any other Symbian OS error code
+if CancelRequest was called too late.
+
+@return Standard Symbian OS error code.
+ */
+EXPORT_C TInt RLbsLocMonitorSession::CancelDatabaseWipeOut() const
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::CancelDatabaseWipeOut() lbslocationmonitor.exe\n");	
+	__ASSERT_ALWAYS(Handle(), User::Invariant());
+	return SendReceive(ECancelDbWipeOut);
+	}
+
+EXPORT_C void RLbsLocMonitorSession::WipeOutDatabase(TRequestStatus& aStatus) const
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::WipeOutDatabase() lbslocationmonitor.exe\n");	
+	__ASSERT_ALWAYS(Handle(), User::Invariant());
+	return SendReceive(EWipeOutDb, aStatus);
+	}
+
+EXPORT_C TVersion RLbsLocMonitorSession::Version()
+/**
+Obtains the current version number of the location monitor.
+
+@return the version of the client API.
+ */
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Version() lbslocationmonitor.exe\n");	
+	LBSLOG4(ELogP9, "  Return TVersion  = (%d, %d, %d)\n", KLbsLocMonitorMajorVersionNumber,
+														   KLbsLocMonitorMinorVersionNumber,
+														   KLbsLocMonitorBuildVersionNumber);
+	return TVersion(
+		KLbsLocMonitorMajorVersionNumber,
+		KLbsLocMonitorMinorVersionNumber,
+		KLbsLocMonitorBuildVersionNumber);
+	}
+
+TInt RLbsLocMonitorSession::StartServer(TServerStartParams& aParams)
+	{
+	return RSecureSessionBase::StartServer(aParams);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/BWINS/lbslocationinfoconverteru.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,17 @@
+EXPORTS
+	?NewL@CLbsLocationResolver@@SAPAV1@AAVMLbsLocationResolverObserver@@@Z @ 1 NONAME ; class CLbsLocationResolver * CLbsLocationResolver::NewL(class MLbsLocationResolverObserver &)
+	?NewL@CLbsLocationInfoConverter@@SAPAV1@AAVMLbsLocationInfoConverterObserver@@VTUid@@@Z @ 2 NONAME ; class CLbsLocationInfoConverter * CLbsLocationInfoConverter::NewL(class MLbsLocationInfoConverterObserver &, class TUid)
+	?NewL@CLbsLocationInfoConverter@@SAPAV1@AAVMLbsLocationInfoConverterObserver@@@Z @ 3 NONAME ; class CLbsLocationInfoConverter * CLbsLocationInfoConverter::NewL(class MLbsLocationInfoConverterObserver &)
+	?CancelResolveLocation@CLbsLocationResolver@@QAEXXZ @ 4 NONAME ; void CLbsLocationResolver::CancelResolveLocation(void)
+	?NewL@CLbsLocationResolver@@SAPAV1@AAVMLbsLocationResolverObserver@@VTUid@@@Z @ 5 NONAME ; class CLbsLocationResolver * CLbsLocationResolver::NewL(class MLbsLocationResolverObserver &, class TUid)
+	?ConvertLocationInfoL@CLbsLocationInfoConverter@@QAEXAAV?$RPointerArray@VCLbsLocationInfoBase@@@@KK@Z @ 6 NONAME ; void CLbsLocationInfoConverter::ConvertLocationInfoL(class RPointerArray<class CLbsLocationInfoBase> &, unsigned long, unsigned long)
+	??1CLbsLocationResolver@@UAE@XZ @ 7 NONAME ; CLbsLocationResolver::~CLbsLocationResolver(void)
+	?ResolveLocationL@CLbsLocationResolver@@QAEXABVCLbsLocationInfo@@@Z @ 8 NONAME ; void CLbsLocationResolver::ResolveLocationL(class CLbsLocationInfo const &)
+	?Version@MLbsLocationInfoConverterObserver@@UBE?AVTVersion@@XZ @ 9 NONAME ; class TVersion MLbsLocationInfoConverterObserver::Version(void) const
+	??1CLbsLocationInfoConverter@@UAE@XZ @ 10 NONAME ; CLbsLocationInfoConverter::~CLbsLocationInfoConverter(void)
+	?Version@MLbsLocationResolverObserver@@UBE?AVTVersion@@XZ @ 11 NONAME ; class TVersion MLbsLocationResolverObserver::Version(void) const
+	?ConvertLocationInfoL@CLbsLocationInfoConverter@@QAEXAAVCLbsLocationInfoBase@@KK@Z @ 12 NONAME ; void CLbsLocationInfoConverter::ConvertLocationInfoL(class CLbsLocationInfoBase &, unsigned long, unsigned long)
+	?CancelConvertLocationInfo@CLbsLocationInfoConverter@@QAEXXZ @ 13 NONAME ; void CLbsLocationInfoConverter::CancelConvertLocationInfo(void)
+	?SetConversionPreferences@CLbsLocationResolver@@QAEHK@Z @ 14 NONAME ; int CLbsLocationResolver::SetConversionPreferences(unsigned long)
+	?ConversionPreferences@CLbsLocationResolver@@QAEKXZ @ 15 NONAME ; unsigned long CLbsLocationResolver::ConversionPreferences(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/EABI/lbslocationinfoconverteru.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,29 @@
+EXPORTS
+	_ZN20CLbsLocationResolver16ResolveLocationLERK16CLbsLocationInfo @ 1 NONAME
+	_ZN20CLbsLocationResolver21CancelResolveLocationEv @ 2 NONAME
+	_ZN20CLbsLocationResolver4NewLER28MLbsLocationResolverObserver @ 3 NONAME
+	_ZN20CLbsLocationResolver4NewLER28MLbsLocationResolverObserver4TUid @ 4 NONAME
+	_ZN20CLbsLocationResolverD0Ev @ 5 NONAME
+	_ZN20CLbsLocationResolverD1Ev @ 6 NONAME
+	_ZN20CLbsLocationResolverD2Ev @ 7 NONAME
+	_ZN25CLbsLocationInfoConverter20ConvertLocationInfoLER13RPointerArrayI20CLbsLocationInfoBaseEmm @ 8 NONAME
+	_ZN25CLbsLocationInfoConverter20ConvertLocationInfoLER20CLbsLocationInfoBasemm @ 9 NONAME
+	_ZN25CLbsLocationInfoConverter25CancelConvertLocationInfoEv @ 10 NONAME
+	_ZN25CLbsLocationInfoConverter4NewLER33MLbsLocationInfoConverterObserver @ 11 NONAME
+	_ZN25CLbsLocationInfoConverter4NewLER33MLbsLocationInfoConverterObserver4TUid @ 12 NONAME
+	_ZN25CLbsLocationInfoConverterD0Ev @ 13 NONAME
+	_ZN25CLbsLocationInfoConverterD1Ev @ 14 NONAME
+	_ZN25CLbsLocationInfoConverterD2Ev @ 15 NONAME
+	_ZNK28MLbsLocationResolverObserver7VersionEv @ 16 NONAME
+	_ZNK33MLbsLocationInfoConverterObserver7VersionEv @ 17 NONAME
+	_ZTI24CLbsLocationResolverImpl @ 18 NONAME
+	_ZTI28MLbsLocationResolverObserver @ 19 NONAME
+	_ZTI29CLbsLocationInfoConverterImpl @ 20 NONAME
+	_ZTI33MLbsLocationInfoConverterObserver @ 21 NONAME
+	_ZTV24CLbsLocationResolverImpl @ 22 NONAME
+	_ZTV28MLbsLocationResolverObserver @ 23 NONAME
+	_ZTV29CLbsLocationInfoConverterImpl @ 24 NONAME
+	_ZTV33MLbsLocationInfoConverterObserver @ 25 NONAME
+	_ZN20CLbsLocationResolver21ConversionPreferencesEv @ 26 NONAME
+	_ZN20CLbsLocationResolver24SetConversionPreferencesEm @ 27 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+PRJ_EXPORTS
+../inc/lbslocationinfoconverter.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationinfoconverter.h)
+../inc/lbslocationresolver.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationresolver.h)
+
+
+lbslocationinfoconverter.iby      /epoc32/rom/include/lbslocationinfoconverter.iby
+
+
+PRJ_MMPFILES
+lbslocationinfoconverter.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_LOCATIONINFOCONVERTER_IBY__
+#define __LBS_LOCATIONINFOCONVERTER_IBY__
+//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+file=ABI_DIR\DEBUG_DIR\lbslocationinfoconverter.dll			sys\bin\lbslocationinfoconverter.dll
+
+//#endif // SYMBIAN_EXCLUDE_LOCATION
+
+#endif //__LBS_LOCATIONINFOCONVERTER_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/group/lbslocationinfoconverter.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,44 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+TARGET          lbslocationinfoconverter.dll
+TARGETTYPE      dll
+UID             0x1000008d 0x102871F9
+
+VENDORID        0x70000001
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          lbslocationinfoconverter.cpp 
+SOURCE          lbslocationinfoconverterimpl.cpp
+SOURCE          lbslocationresolver.cpp 
+SOURCE          lbslocationresolverimpl.cpp
+
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../../../CommonClientServerApi/inc
+USERINCLUDE     ../../../../../locationcore/LbsLocCommon/ServerFramework/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY         euser.lib
+LIBRARY         lbslocationinfodatatypes.lib
+LIBRARY         lbslocmonclient.lib
+LIBRARY			lbs.lib
+LIBRARY			estor.lib 
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,226 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 used by client applications to convert location 
+* information
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+#ifndef LBS_LOCATION_INFO_CONVERTER_H
+#define LBS_LOCATION_INFO_CONVERTER_H
+
+
+// OS wide
+#include <e32base.h>
+
+// LBS wide
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+
+class CLbsLocationInfoConverterImpl;
+
+
+/**
+* The MLbsLocationInfoConverterObserver class is used in partnership with
+* CLbsLocationInfoConverter. The observer interface is used by the LBS
+* subsystem to inform a client application when a Locality conversion
+* process initiated through the CLbsLocationInfoConverter class has been
+* finished. In OnResolveLocationComplete the results will be returned 
+* as an argument of the function, while OnConversionComplete indicates that the results
+* have been written in to the data that was passed in using ConvertLocationInfoL.
+*
+* Although all the interface methods in the MLbsLocationInfoConverterObserver 
+* class are synchronous, the client application should ensure they return quickly
+* (e.g. any extensive processing of the received data is scheduled in another 
+* active object).
+*/
+class MLbsLocationInfoConverterObserver
+    {
+        
+public:
+
+    /** 
+     * Gets the current version of the observer interface.
+     * Derived classes should not change the implementation.
+     *
+     * @return Version number (currently 1.0.0) 
+     */
+    IMPORT_C virtual TVersion Version()  const;
+    
+     /** 
+     * The callback is used by the LBS subsystem to inform a client application 
+     * that a general purpose Locality conversion process initiated through the 
+     * CLbsLocationInfoConverter::ConvertLocationInfoL method has been finished.
+     *
+     * Receiving the callback indicates that, unless the conversion was not successful,
+     * the location data structures passed through the 
+     * CLbsLocationInfoConverter::ConvertLocationInfoL method have been updated with the
+     * requested information.
+     *
+     * @param aStatusCode Result of the conversion operation; 
+     * KErrNone if at least one conversion have been successful and 
+     *   the related location data structure(s) passed through the 
+     *   CLbsLocationInfoConverter::ConvertLocationInfoL method 
+     *   have been updated with the requested information;
+     * KErrNotSupported if the conversion type specified by 
+     *       aRequestedInfo is not supported by converter plugin
+     * KErrNotFound if none of conversions have been successful;
+     * Or other system wide error code othervise.
+In here I think we should say that when the caller uses ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray, ..) then on  OnConversionComplete the caller should iterate around all 'n' of the  entries of the aLocationInfoArray and call GetAreaInfoL to see if there is any conversion results.  OH I see below that you say something near the ConvertLocationInfoL method. Maybe should say it here as well to ti e together
+     */
+    virtual void OnConversionComplete(TInt aStatusCode) = 0;
+
+    };
+
+
+
+
+/**
+* The CLbsLocationInfoConverter interface is used in partnership with MLbsLocationInfoConverterObserver 
+* and provides the services to convert location information between different formats.
+*
+* Completion of conversions is indicated by the LBS subsystem by invoking callbacks defined
+* by the MLbsLocationInfoConverterObserver class.
+*
+* Currently the only supported conversion is from WLAN and/or GSM and/or WCDMA info into a geographic
+* Locality.
+*/
+NONSHARABLE_CLASS(CLbsLocationInfoConverter) : public CBase
+    {
+
+public:
+
+    /**
+     * Allocates and construct a new CLbsLocationInfoConverter
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aConverterModuleId UID of the conversion plugin to be used.
+     */
+    IMPORT_C static CLbsLocationInfoConverter* NewL( 
+                                                MLbsLocationInfoConverterObserver& aObserver,
+                                                const TUid aConverterModuleId);
+    
+    /** 
+     * Allocates and construct a new CLbsLocationInfoConverter
+     * Note here to say that impementations for both  OnResolveLocationComplete and OnConversionComplete MUST be provided even though only  interested in say, ConvertLocationFingerPrintToLocalityL
+     * Opens the default module. 
+     * @param[in] aObserver An observer for location conversion event.
+     */
+    IMPORT_C static CLbsLocationInfoConverter* NewL( 
+                                                MLbsLocationInfoConverterObserver& aObserver);
+
+    /** 
+     * Destructor. 
+     */
+    IMPORT_C ~CLbsLocationInfoConverter();
+    
+    /** 
+     * A general purpose function that converts a single locationinfo.
+     * Completion of the conversion is indicated by the LBS subsystem by invoking the
+     * MLbsLocationInfoConverterObserver::OnConversionComplete 
+     * and the caller can then iterate through the results returned in aLocationInfo
+     *   
+     * @capability Location
+     *
+     * @param[in] aLocationInfo location information to be converted.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested. Currently
+     * the only supported conversion is from WLAN and/or GSM and/or WCDMA info into 
+     * a geographic position, hence the parameter should be set to ELbsConversionOutputPosition)
+     * Need to say that can only do one of either ConvertLocationFingerPrintToLocalityL  or ConvertLocationInfoL at a time or else user is panicked
+
+     * @leave KErrNoMemory if there is not enough memory available to perform the conversion.
+     *       KErrArgument If the location info pointer is NULL.
+     */
+    IMPORT_C void ConvertLocationInfoL( CLbsLocationInfoBase& aLocationInfo,
+               const TLbsConversionPrefs aConversionPrefs,
+               const TLbsConversionOutputInfoMask aRequestedInfo );    
+
+
+    /** 
+     * A general purpose function that converts multiple locationinfos. 
+     * The maximum allowable batch size is defined by KPositionMaxBatchSize which is 500. 
+     * Exceeding KPositionMaxBatchSize will result in KErrNotSupported being reported.
+     *
+     * Completion of the conversion is indicated by the LBS subsystem by invoking the
+     * MLbsLocationInfoConverterObserver::OnConversionComplete
+     * and the caller can then iterate through the results returned in aLocationInfoArray
+     *
+     * @capability Location
+     *
+     * @param[in] aLocationInfo An array of location information to be converted.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested. Currently
+     * the only supported conversion is from WLAN and/or GSM and/or WCDMA info into 
+     * a geographic position, hence the parameter should be set to ELbsConversionOutputPosition)
+     *
+     * @leave KErrNoMemory if there is not enough memory available to perform the conversion.
+     *       KErrArgument If the location info pointer is NULL.
+     *       KErrNotSupported if the conversion type specified by 
+     *       aRequestedInfo is not supported or if the bitmask specified by the
+     *       client has all options set. This error is also returned if the 
+     *       batch size exceeds KPositionMaxBatchSize.
+     */
+    IMPORT_C void ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray,
+                                       const TLbsConversionPrefs aConversionPrefs, 
+                                       const TLbsConversionOutputInfoMask aRequestedInfo );
+    
+    /** 
+     * Cancels an ongoing conversion operation.
+     * If there is no ongoing conversion the cancellation request is ignored.
+     *
+     * Neither of the The MLbsLocationInfoConverterObserver callbacks will not be invoked if cancellation is successful.
+     */
+    IMPORT_C void CancelConvertLocationInfo();
+
+private:
+   
+    /** 
+     * Default constructor 
+     */
+    CLbsLocationInfoConverter();
+    
+    /** 
+     * Symbian 2nd phase constructor. 
+     */
+    void ConstructL(MLbsLocationInfoConverterObserver& aObserver,
+                              const TUid aConverterModuleId);
+
+    /** 
+     * Copy constructor. Restricted by default. 
+     */
+    CLbsLocationInfoConverter( CLbsLocationInfoConverter& );
+    
+    /** 
+     * Overloaded assignment operator. Restricted by default. 
+     */
+    CLbsLocationInfoConverter& operator=( CLbsLocationInfoConverter& );
+    
+private:
+
+    /** 
+     * Pointer to implementation class 
+     */
+    CLbsLocationInfoConverterImpl* iLocationInfoConverterImpl;
+    
+    };
+
+
+
+#endif // LBS_LOCATION_INFO_CONVERTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverterimpl.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class that implements location information converter 
+* information
+*
+*/
+
+
+#ifndef LBSLOCATIONINFOCONVERTERIMPL_H_
+#define LBSLOCATIONINFOCONVERTERIMPL_H_
+
+
+#include <e32base.h>
+#include <lbs/lbslocationinfo.h>
+#include "rlbslocmonitorsession.h"
+#include "rlbslocinfoconverter.h"
+#include <lbs/lbslocationinfoconvertercommon.h>
+
+
+// forward declaration
+class MLbsLocationInfoConverterObserver;
+
+
+/**
+ * Class implements the services exposed by CLbsLocationInfoConverter
+ */
+class CLbsLocationInfoConverterImpl : public CActive
+    {
+public:
+    /**
+     * Allocates and construct a new CLbsLocationInfoConverterImpl
+     *
+     * @param[in] aObserver Handle to the observer implementation
+     * @param[in] aConversionModuleId ID of the conversion plugin to be used.
+     * @return  Pointer to the implementation class of Location Info converter.
+     */
+    static CLbsLocationInfoConverterImpl* NewL( MLbsLocationInfoConverterObserver& aObserver,
+                      		                    const TUid aConversionModuleId  );
+    
+    /**
+     * Destructor
+     */
+    ~CLbsLocationInfoConverterImpl();
+    
+    /**
+     * Converts one area info to position info
+     * @param[in] aLocationInfo location information corresponding to 
+     * a geographical location is passed and on successful completion of this 
+     * method,position information corresponding to the location information 
+     * is returned in the observer callback.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested. 
+     *
+     * @leave KErrArgument If the location info array is empty or one of system
+     * wide error codes.     
+     */
+    void ConvertLocationInfoL( CLbsLocationInfoBase& aLocationInfo,
+                               TLbsConversionPrefs aConversionPrefs, 
+                               const TLbsConversionOutputInfoMask aRequestedInfo );
+
+    /**
+     * Converts the area informations of a group of geographical locations
+     * to its corresponding position information. 
+     * @param[in][out] aLocationInfoArray Array of location informations  
+     * corresponding to geographical locations are passed and on successful  
+     * completion of this method,position information corresponding to the 
+     * location informations are returned in the observer callback.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     *
+     * @leave KErrArgument If the location info array is empty or one of 
+     * system wide error codes.
+     */                                                       
+    void ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray,
+            			       TLbsConversionPrefs aConversionPrefs,
+            			       const TLbsConversionOutputInfoMask aRequestedInfo );
+    
+    /**
+     * Cancels get location info operation.
+     */                                                                                    
+    void CancelConvertLocationInfo();
+    
+protected: // From CActive
+    void RunL();
+    
+    void DoCancel();
+    
+private:
+    /**
+     * Default constructor
+     */
+    CLbsLocationInfoConverterImpl( MLbsLocationInfoConverterObserver& aObserver );
+    
+    /**
+     * Copy constructor. Restricted by default.
+     */
+    CLbsLocationInfoConverterImpl( CLbsLocationInfoConverterImpl& );
+    
+    /**
+     * Overloaded assignment operator. Restricted by default.
+     */
+    CLbsLocationInfoConverterImpl& operator=( CLbsLocationInfoConverterImpl& );
+    
+    /**
+     * Symbian 2 phase constructor.
+     */
+    void ConstructL( const TUid aConversionModuleId );
+  
+private: // data
+    
+    /**
+     * Reference to the observer.
+     */
+    MLbsLocationInfoConverterObserver& iObserver;
+
+    /**
+     * Handle to session
+     */
+    RLbsLocMonitorSession iLocMoniterSession;
+    
+    /** 
+     * Handle to subsession
+     */
+    RLbsLocInfoConverter iLocInfoConverter;   
+    
+    /**
+     * Client specified conversion module id.
+     */
+    TUid iConversionModuleId;
+    };
+
+#endif // LBSLOCATIONINFOCONVERTERIMPL_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class used by client applications to convert data 
+* such as such as WlanInfo or CellIds into TLocality position information
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+#ifndef LBS_LOCATIONRESOLVER_H
+#define LBS_LOCATIONRESOLVER_H
+
+
+#include <e32base.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+
+class CLbsLocationResolverImpl;
+
+
+class MLbsLocationResolverObserver
+    {
+        
+public:
+
+    /** 
+     * Gets the current version of the observer interface.
+     * Derived classes should not change the implementation.
+     *
+     * @return Version number (currently 1.0.0) 
+     */
+    IMPORT_C virtual TVersion Version()  const;
+    
+    /**
+     * The callback is used by the LBS subsystem to inform a client application 
+     * that a simple CLbsLocationResolver conversion process initiated through the 
+     * CLbsLocationResolver::ResolveLocationL method has been finished.
+     * 
+     * @param aStatus status of conversion, KErrNone for success, standard system error code
+     *  in other cases. Note that in the event of a cancellation this method will not execute.
+     * @param aBasicLocationInfo the location conversion that was requested. 
+     * If the conversion has failed the values will be uninitialised 
+     */
+    virtual void OnResolveLocationComplete(TInt aStatus, const TLocality& aLocality) = 0;
+    
+    };
+
+
+NONSHARABLE_CLASS(CLbsLocationResolver) : public CBase
+    {
+
+public:
+
+    /**
+     * Allocates and construct a new CLbsLocationResolver
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aConverterModuleId UID of the conversion plugin to be used.
+     */
+    IMPORT_C static CLbsLocationResolver* NewL(MLbsLocationResolverObserver& aObserver,
+                                                const TUid aConverterModuleId);
+    
+    /** 
+     * Allocates and construct a new CLbsLocationResolver
+     * @param[in] aObserver An observer for location conversion event.
+     */
+    IMPORT_C static CLbsLocationResolver* NewL(MLbsLocationResolverObserver& aObserver);
+
+    /** 
+     * Destructor. 
+     */
+    IMPORT_C ~CLbsLocationResolver();
+    
+    /**
+     * A simple function that converts a single Location Info into a TLocality
+     * No preferences or masks may be set. 
+     * The result is returned in the MLbsLocationResolverObserver 
+     * callback via OnResolveLocationComplete
+     * 
+     * Only one outstanding conversion can be open at a time for each client.
+     * Attempting to perform more than one will result in a leave with KErrInUse
+     * 
+     * @param[in] aLocationInfo the information to be converted into a location.
+     */
+    IMPORT_C void ResolveLocationL(const CLbsLocationInfo& aLocationInfo); 
+   
+    /**
+     * Sets the option for the conversion module's connection preferences [ eg. "online without prompt"]
+     * @param[in] aConversionPref - Enum specifying the connection preferences 
+     * @return KErrArgument if the value is invalid, KErrNone otherwise
+     */
+    IMPORT_C TInt SetConversionPreferences(TLbsConversionPrefs aConversionPrefs);
+
+    /**
+     * Returns the option currently set for the conversion module's 
+     * connection preference [ eg. "local cache"]
+     * @return The enum corresponding to the currently set connection preferences (ELbsConversionNotDefined will be	
+     * returned if the conversion preferences have not been set yet)
+     */
+    IMPORT_C TLbsConversionPrefs ConversionPreferences();
+    
+    /** 
+     * Cancels an ongoing conversion operation.
+     * If there is no ongoing conversion the cancellation request is ignored.
+     *
+     * The MLbsLocationResolverObserver callback will not be invoked 
+     * if cancellation is successful.
+     */
+    IMPORT_C void CancelResolveLocation();
+
+protected:
+    /** 
+     * Default constructor 
+     */
+    CLbsLocationResolver();
+    
+    /** 
+     * Symbian 2nd phase constructor. 
+     */
+    void ConstructL(MLbsLocationResolverObserver& aObserver, const TUid aConverterModuleId);
+
+
+private:
+    /** 
+     * Copy constructor. Restricted by default. 
+     */
+    CLbsLocationResolver(CLbsLocationResolver&);
+    
+    /** 
+     * Overloaded assignment operator. Restricted by default. 
+     */
+    CLbsLocationResolver& operator=(CLbsLocationResolver&);
+    
+private:
+
+    /** 
+     * Pointer to implementation class 
+     */
+    CLbsLocationResolverImpl* iLocationResolverImpl;
+    
+    };
+
+
+#endif // LBS_LOCATIONRESOLVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolverimpl.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class that implements location information converter 
+* information
+*
+*/
+
+
+#ifndef LBSLOCATIONINFOCONVERTERIMPL_H_
+#define LBSLOCATIONINFOCONVERTERIMPL_H_
+
+
+#include <e32base.h>
+#include <lbs/lbslocationinfo.h>
+#include "rlbslocmonitorsession.h"
+#include "rlbslocinfoconverter.h"
+#include <lbs/lbslocationinfoconvertercommon.h>
+
+
+// forward declaration
+class MLbsLocationResolverObserver;
+
+
+/**
+ * Class implements the services exposed by CLbsLocationInfoConverter
+ */
+class CLbsLocationResolverImpl : public CActive
+    {
+public:
+    /**
+     * Allocates and construct a new CLbsLocationResolverImpl
+     *
+     * @param[in] aObserver Handle to the observer implementation
+     * @param[in] aConversionModuleId ID of the conversion plugin to be used.
+     * @return  Pointer to the implementation class of Location Info converter.
+     */
+    static CLbsLocationResolverImpl* NewL( MLbsLocationResolverObserver& aObserver,
+                      		                    const TUid aConversionModuleId  );
+    
+    /**
+     * Destructor
+     */
+    ~CLbsLocationResolverImpl();
+    
+    /**
+     * Converts one area info to position info
+     * @param[in] aLocationInfo location information corresponding to 
+     * a geographical location is passed and on successful completion of this 
+     * method,position information corresponding to the location information 
+     * is returned in the observer callback.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested. 
+     *
+     * @leave KErrArgument If the location info array is empty or one of system
+     * wide error codes.     
+     */
+    void ResolveLocationL(const CLbsLocationInfoBase& aLocationInfo);
+
+    /**
+     * Cancels get location info operation.
+     */                                                                                    
+    void CancelResolveLocation();
+    
+    /**
+     * Sets the option for the conversion module's connection preferences [ eg. "online without prompt"]
+     * @param[in] aConversionPrefs - Enum specifying the connection preference
+     * @return KErrArgument if the value is invalid, KErrNone otherwise
+     */
+    TInt SetConversionPreferences(TLbsConversionPrefs aConversionPrefs);
+
+    /**
+     * Returns the option currently set for the conversion module's 
+     * connection preference [ eg. "local cache"]
+     * @return The enum corresponding to the currently set connection preferences (ELbsConversionNotDefined will be	
+     * returned if the conversion preferences have not been set yet)
+     */
+    TLbsConversionPrefs ConversionPreferences();
+    
+protected: // From CActive
+    void RunL();
+    
+    void DoCancel();
+    
+private:
+    /**
+     * Default constructor
+     */
+    CLbsLocationResolverImpl( MLbsLocationResolverObserver& aObserver );
+    
+    /**
+     * Copy constructor. Restricted by default.
+     */
+    CLbsLocationResolverImpl( CLbsLocationResolverImpl& );
+    
+    /**
+     * Overloaded assignment operator. Restricted by default.
+     */
+    CLbsLocationResolverImpl& operator=( CLbsLocationResolverImpl& );
+    
+    /**
+     * Symbian 2 phase constructor.
+     */
+    void ConstructL( const TUid aConversionModuleId );
+  
+private: // data
+    
+    /**
+     * Copy of locationinfo passed in by client
+     */
+    CLbsLocationInfo* iLocationInfo;
+    
+    /**
+     * Reference to the observer.
+     */
+    MLbsLocationResolverObserver& iObserver;
+
+    /**
+     * Handle to session
+     */
+    RLbsLocMonitorSession iLocMoniterSession;
+    
+    /** 
+     * Handle to subsession
+     */
+    RLbsLocInfoConverter iLocInfoConverter;   
+    
+    /**
+     * Client specified conversion module id.
+     */
+    TUid iConversionModuleId;
+    
+    /**
+     * Conversion module's specific connection preferences
+     */
+    TLbsConversionPrefs iConversionPrefs;
+    };
+
+#endif // LBSLOCATIONINFOCONVERTERIMPL_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class used by client applications to convert location 
+* information
+*
+*/
+
+#include <e32base.h>
+#include <lbs/lbslocationinfoconverter.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include "lbslocationinfoconverterimpl.h"
+
+
+EXPORT_C TVersion MLbsLocationInfoConverterObserver::Version()  const
+	{
+	return TVersion(1, 0, 0);
+	}
+
+
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationInfoConverter* CLbsLocationInfoConverter::NewL(
+                                     MLbsLocationInfoConverterObserver& aObserver, 
+                                     const TUid aConverterModuleId )
+    {
+    CLbsLocationInfoConverter* self = new( ELeave ) CLbsLocationInfoConverter;
+    CleanupStack::PushL( self );
+    self->ConstructL( aObserver,aConverterModuleId );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationInfoConverter* CLbsLocationInfoConverter::NewL(
+                                     MLbsLocationInfoConverterObserver& aObserver )
+    {
+    CLbsLocationInfoConverter* self = new( ELeave ) CLbsLocationInfoConverter;
+    CleanupStack::PushL( self );
+    self->ConstructL( aObserver,TUid::Uid( KNullUidValue ) );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::~CLbsLocationInfoConverter
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationInfoConverter::~CLbsLocationInfoConverter()
+    {
+    delete iLocationInfoConverterImpl;
+    iLocationInfoConverterImpl = NULL;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL( 
+                                CLbsLocationInfoBase& aLocationInfo,
+                                const TLbsConversionPrefs aConversionPrefs,
+                                const TLbsConversionOutputInfoMask aRequestedInfo )
+    {
+    iLocationInfoConverterImpl->ConvertLocationInfoL( aLocationInfo,aConversionPrefs,
+                                                  aRequestedInfo );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL( 
+                                RLbsLocationInfoBaseArray& aLocationInfoArray,
+                                const TLbsConversionPrefs aConversionPrefs, 
+                                const TLbsConversionOutputInfoMask aRequestedInfo )
+    {
+    iLocationInfoConverterImpl->ConvertLocationInfoL( aLocationInfoArray,
+                                            aConversionPrefs,aRequestedInfo );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::CancelConvertLocationInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void CLbsLocationInfoConverter::CancelConvertLocationInfo()
+    {
+    iLocationInfoConverterImpl->CancelConvertLocationInfo();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverter::ConstructL( 
+                        MLbsLocationInfoConverterObserver& aObserver, 
+                        const TUid aConverterModuleId )
+    {
+    iLocationInfoConverterImpl = CLbsLocationInfoConverterImpl::NewL(
+                                         aObserver,aConverterModuleId );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverter::CLbsLocationInfoConverter
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationInfoConverter::CLbsLocationInfoConverter()
+    {
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverterimpl.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CLbsLocationInfoConverterImpl class.
+*
+*/
+
+#include "lbslocationinfoconverterimpl.h"
+#include <lbs/lbslocationinfoconverter.h>
+
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationInfoConverterImpl* CLbsLocationInfoConverterImpl::NewL(
+                                     MLbsLocationInfoConverterObserver& aObserver, 
+                                     const TUid aConverterModuleId )
+    {
+    CLbsLocationInfoConverterImpl* self = new( ELeave ) CLbsLocationInfoConverterImpl(
+                                                                  aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL( aConverterModuleId );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::~CLbsLocationInfoConverterImpl
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationInfoConverterImpl::~CLbsLocationInfoConverterImpl()
+    {
+    iLocInfoConverter.Close();
+    iLocMoniterSession.Close();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::CLbsLocationInfoConverterImpl
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationInfoConverterImpl::CLbsLocationInfoConverterImpl( 
+                                  MLbsLocationInfoConverterObserver& aObserver ):
+                                  CActive( EPriorityStandard ),
+                                  iObserver( aObserver )
+                                  
+    {
+    CActiveScheduler::Add( this );
+    }
+                                  
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverterImpl::ConstructL( const TUid aConverterModuleId )
+    {
+    iConversionModuleId = aConverterModuleId;
+    User::LeaveIfError( iLocMoniterSession.Connect() );
+    iLocInfoConverter.OpenL( iLocMoniterSession );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverterImpl::ConvertLocationInfoL( 
+                                  CLbsLocationInfoBase& aLocationInfo,
+                                  const TLbsConversionPrefs aConversionPrefs,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo )
+    {
+    iLocInfoConverter.ConvertLocationInfoL( aLocationInfo,aConversionPrefs,aRequestedInfo,
+                                           iConversionModuleId,iStatus );
+    SetActive();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverterImpl::ConvertLocationInfoL(
+                                  RLbsLocationInfoBaseArray& aLocationInfoArray,
+                                  TLbsConversionPrefs aConversionPrefs,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo )
+    {
+    iLocInfoConverter.ConvertLocationInfoL( aLocationInfoArray,aConversionPrefs,aRequestedInfo,
+                                            iConversionModuleId,iStatus );
+    SetActive();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::CancelConvertLocationInfoL
+// (other items were commented in a header).
+//-------;---------------------------------------------------------
+void CLbsLocationInfoConverterImpl::CancelConvertLocationInfo()
+    {   
+    Cancel();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::RunL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverterImpl::RunL()
+    {   
+    if( iStatus.Int() != KErrCancel )
+        {
+        iObserver.OnConversionComplete( iStatus.Int() );
+        }
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationInfoConverterImpl::DoCancel
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationInfoConverterImpl::DoCancel()
+    {   
+    iLocInfoConverter.CancelConvertLocationInfo();
+    }
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 used by client applications to convert location 
+* information
+*
+*/
+
+#include <e32base.h>
+#include <lbs/lbslocationresolver.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include "lbslocationresolverimpl.h"
+
+
+EXPORT_C TVersion MLbsLocationResolverObserver::Version()  const
+	{
+	return TVersion(1, 0, 0);
+	}
+
+
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationResolver* CLbsLocationResolver::NewL(
+                                     MLbsLocationResolverObserver& aObserver, 
+                                     const TUid aConverterModuleId )
+    {
+    CLbsLocationResolver* self = new( ELeave ) CLbsLocationResolver;
+    CleanupStack::PushL( self );
+    self->ConstructL( aObserver,aConverterModuleId );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationResolver* CLbsLocationResolver::NewL(
+                                     MLbsLocationResolverObserver& aObserver )
+    {
+    CLbsLocationResolver* self = new( ELeave ) CLbsLocationResolver;
+    CleanupStack::PushL( self );
+    self->ConstructL( aObserver,TUid::Uid( KNullUidValue ) );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::~CLbsLocationResolver
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C CLbsLocationResolver::~CLbsLocationResolver()
+    {
+    delete iLocationResolverImpl;
+    iLocationResolverImpl = NULL;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::ResolveLocationL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void CLbsLocationResolver::ResolveLocationL(const CLbsLocationInfo& aLocationInfo)
+    {
+    iLocationResolverImpl->ResolveLocationL(aLocationInfo);
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::SetConversionPreferences
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C TInt CLbsLocationResolver::SetConversionPreferences(TLbsConversionPrefs aConversionPrefs)
+    {
+    return iLocationResolverImpl->SetConversionPreferences(aConversionPrefs);
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::GetConversionPref
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C TLbsConversionPrefs CLbsLocationResolver::ConversionPreferences()
+    {
+    return iLocationResolverImpl->ConversionPreferences();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::CancelResolveLocation
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void CLbsLocationResolver::CancelResolveLocation()
+    {
+    iLocationResolverImpl->CancelResolveLocation();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationResolver::ConstructL( 
+                        MLbsLocationResolverObserver& aObserver, 
+                        const TUid aConverterModuleId )
+    {
+    iLocationResolverImpl = CLbsLocationResolverImpl::NewL(
+                                         aObserver,aConverterModuleId );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolver::CLbsLocationResolver
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationResolver::CLbsLocationResolver()
+    {
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolverimpl.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,235 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CLbsLocationResolverImpl class.
+*
+*/
+
+#include <s32mem.h>
+#include "lbslocationresolverimpl.h"
+#include <lbs/lbslocationresolver.h>
+
+
+void CleanUpAreaInfoArray(TAny* aArray)
+    {
+	 	static_cast<RLbsAreaInfoBaseArray*>(aArray)->ResetAndDestroy();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationResolverImpl* CLbsLocationResolverImpl::NewL(
+                                     MLbsLocationResolverObserver& aObserver, 
+                                     const TUid aConverterModuleId )
+    {
+    CLbsLocationResolverImpl* self = new( ELeave ) CLbsLocationResolverImpl(
+                                                                  aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL( aConverterModuleId );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::~CLbsLocationResolverImpl
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationResolverImpl::~CLbsLocationResolverImpl()
+    {
+    if(iLocationInfo)
+        {
+        delete iLocationInfo;
+        iLocationInfo = NULL;
+        }
+    iLocInfoConverter.Close();
+    iLocMoniterSession.Close();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::CLbsLocationResolverImpl
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocationResolverImpl::CLbsLocationResolverImpl( 
+                                  MLbsLocationResolverObserver& aObserver):
+    CActive(EPriorityStandard),
+    iObserver(aObserver)
+    {
+    CActiveScheduler::Add( this );
+    }
+                                  
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationResolverImpl::ConstructL( const TUid aConverterModuleId )
+    {
+    iConversionModuleId = aConverterModuleId;
+    User::LeaveIfError( iLocMoniterSession.Connect() );
+    iLocInfoConverter.OpenL( iLocMoniterSession );
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::ConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationResolverImpl::ResolveLocationL(const CLbsLocationInfoBase& aLocationInfo)
+    {
+    if(IsActive())
+        {
+        User::Leave(KErrInUse);
+        }
+    
+    CBufFlat* buffer = CBufFlat::NewL(512);
+    CleanupStack::PushL(buffer);
+    RBufWriteStream writeStream;
+    writeStream.Open(*buffer);
+    CleanupClosePushL(writeStream);
+        
+        
+    aLocationInfo.ExternaliseL(writeStream);
+    writeStream.CommitL();
+            
+    RBufReadStream readStream(*buffer);
+    CleanupClosePushL(readStream);
+    iLocationInfo = CLbsLocationInfo::NewL();
+    iLocationInfo->InternaliseL(readStream);
+    
+    iLocInfoConverter.ConvertLocationInfoL(*iLocationInfo, iConversionPrefs, 
+                                            ELbsConversionOutputPosition,
+                                           iConversionModuleId, iStatus);
+    CleanupStack::PopAndDestroy(&readStream);
+    CleanupStack::PopAndDestroy(&writeStream);
+    CleanupStack::PopAndDestroy(buffer);
+    
+    SetActive();
+    }
+
+
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::CancelConvertLocationInfoL
+// (other items were commented in a header).
+//-------;---------------------------------------------------------
+void CLbsLocationResolverImpl::CancelResolveLocation()
+    {   
+    Cancel();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::RunL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationResolverImpl::RunL()
+    {   
+    TLocality result;
+    
+    if(iStatus.Int() == KErrNone)
+      {
+      if(iLocationInfo)
+        {
+        RLbsAreaInfoBaseArray areaInfoArray;
+     	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &areaInfoArray ));
+        iLocationInfo->GetAreaInfoL(areaInfoArray, CLbsLocationInfo::ELbsPosInfo);
+        TInt count = areaInfoArray.Count();
+        if(count >0)
+          {
+          CLbsPositionInfo* posInfo = static_cast<CLbsPositionInfo*>(areaInfoArray[0]);
+          posInfo->GetLocality(result); 
+          }         
+        else
+          {
+          iObserver.OnResolveLocationComplete(KErrGeneral, result);        
+          }  
+        CleanupStack::PopAndDestroy( &areaInfoArray );
+        delete iLocationInfo;
+        iLocationInfo = NULL;
+        }
+      }
+    if(iStatus.Int() != KErrCancel)
+        {
+        iObserver.OnResolveLocationComplete(iStatus.Int(), result);
+        }
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::DoCancel
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocationResolverImpl::DoCancel()
+    {   
+    iLocInfoConverter.CancelConvertLocationInfo();
+    if(iLocationInfo)
+        {
+        delete iLocationInfo;
+        iLocationInfo = NULL;
+        }
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::SetConversionPreferences
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TInt CLbsLocationResolverImpl::SetConversionPreferences(TLbsConversionPrefs aConversionPrefs)
+    {
+    TInt retVal = KErrNone;
+    //The acceptable values for the TLbsConversionPrefs Enums are such that only one of the 32 bits is set
+    //and bit combinations are not permitted.
+    TLbsConversionPrefs copyConvPrefs = aConversionPrefs;
+    TUint bitCount = 0;
+    for (TUint count = 1; count <= 32; count++)
+        {
+        //Check if the LeastSignificantBit is set to 1
+        if ( (copyConvPrefs) & (1) )
+            {
+            bitCount++;
+            if (bitCount > 1)
+                {
+                break;
+                }
+            }
+        copyConvPrefs = (copyConvPrefs >> 1);
+        if (copyConvPrefs == 0)
+            {
+            break;
+            }
+        }
+
+    //Check if only one of the 32 bits is set in aConversionPref
+    if (bitCount == 1)
+        {
+        iConversionPrefs = aConversionPrefs;
+        }
+    else
+        {
+        retVal = KErrArgument;
+        }
+
+    return retVal;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocationResolverImpl::ConversionPreferences
+// (other items were commented in a header).
+//----------------------------------------------------------------
+ TLbsConversionPrefs CLbsLocationResolverImpl::ConversionPreferences()
+    {
+    return iConversionPrefs;
+    }
+
+
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,18 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_EXPORTS
+../inc/lbslocationinfoconvertercommon.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationinfoconvertercommon.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 enumerations used by client applications and plugins 
+* for conversion of location information.
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+#ifndef LBS_LOCATION_INFO_CONVERTER_COMMON_H
+#define LBS_LOCATION_INFO_CONVERTER_COMMON_H
+
+#include <e32std.h>
+
+/**
+ * Conversion preferences
+ */ 
+typedef TUint32 TLbsConversionPrefs;
+
+
+/**
+ * Enumeration to define the preferences a client can specify while requesting
+ * location information. The conversion preferences enumeration shall not be 
+ * used as a bitmask. 
+ * The preferences are used by conversion module in order to decide if/how
+ * a connection to an external server should be established.
+ */
+enum _TLbsConversionPrefs
+    {
+    	
+    /**
+     * Indicates that no preferences are specified.
+     */
+    ELbsConversionNotDefined = 0x0000,
+    	
+    /**
+     * Use only local cache to retrieve information.
+     */
+    ELbsConversionCacheOnly  = 0x0001,
+  
+    /**
+     * Disable prompt while making a connection to an external service for
+     * conversion.
+	 * Ignored if a conversion module does not require external connection.
+     */
+    ELbsConversionSilent     = 0x0002,
+  
+    /**
+     * Allow prompt while making a connection to an external service for 
+     * conversion.
+     * * Ignored if a conversion module does not require external connection.
+     */
+    ELbsConversionPrompt     = 0x0004,
+  
+    /**
+     * 
+     * Allow Wlan Only to make a connection only using W-Lan.
+     * 
+     */
+    ELbsWlanOnly             = 0x0008
+
+    };  
+
+
+/**
+ * Output Location Information
+ */ 
+typedef TUint32 TLbsConversionOutputInfoMask;
+
+
+/**
+ * Enumeration to define the type(s) of location information being communicated
+ */
+enum _TLbsConversionOutputInfoMask
+    { 
+    
+    /**
+     * Used to initialise data only. Should not be used when requesting conversions.
+     */
+    ELbsConversionOutputNotDefined = 0x0000,
+
+    /**
+     * Indicates that the input data should be converted to a geographical coordinate
+	 * @see CLbsPositionInfo
+     */
+    ELbsConversionOutputPosition = 0x0001,
+    
+    /**
+     * Indicates that the input data should be converted to a GSM Cell information 
+	 * @see CLbsGsmCellInfo
+     */
+    ELbsConversionOutputGsm = 0x0002,
+    
+    /**
+     * Indicates that the input data should be converted to a WCDMA Cell information 
+	 * @see CLbsWcdmaCellInfo
+     */
+    ELbsConversionOutputWcdma = 0x0004,
+    
+    /**
+     * Indicates that the input data should be converted to a WLAN information 
+	 * @see CLbsWlanInfo
+     */
+    ELbsConversionOutputWlan = 0x0008
+    };
+
+#endif // LBS_LOCATION_INFO_CONVERTER_COMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/BWINS/lbslocationinfoconverterpluginu.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,18 @@
+EXPORTS
+	?ExtendedInterface@MLbsLocInfoConverterPluginObserver@@EAEPAXHPAX0@Z @ 1 NONAME ; void * MLbsLocInfoConverterPluginObserver::ExtendedInterface(int, void *, void *)
+	?NewL@CLbsLocInfoConverterPluginBase@@SAPAV1@VTUid@@AAVTLbsLocInfoConverterPluginParams@@@Z @ 2 NONAME ; class CLbsLocInfoConverterPluginBase * CLbsLocInfoConverterPluginBase::NewL(class TUid, class TLbsLocInfoConverterPluginParams &)
+	?ClassType@TLbsLocInfoConverterPluginClassTypeBase@@QBEKXZ @ 3 NONAME ; unsigned long TLbsLocInfoConverterPluginClassTypeBase::ClassType(void) const
+	??0TLbsLocInfoConverterPluginClassTypeBase@@IAE@XZ @ 4 NONAME ; TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase(void)
+	?Observer@TLbsLocInfoConverterPluginParams@@QBEAAVMLbsLocInfoConverterPluginObserver@@XZ @ 5 NONAME ; class MLbsLocInfoConverterPluginObserver & TLbsLocInfoConverterPluginParams::Observer(void) const
+	?Version@CLbsLocInfoConverterPluginBase@@UBE?AVTVersion@@XZ @ 6 NONAME ; class TVersion CLbsLocInfoConverterPluginBase::Version(void) const
+	??1CLbsLocInfoConverterPluginBase@@UAE@XZ @ 7 NONAME ; CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase(void)
+	??0TLbsLocInfoConverterPluginParams@@QAE@AAVMLbsLocInfoConverterPluginObserver@@@Z @ 8 NONAME ; TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams(class MLbsLocInfoConverterPluginObserver &)
+	?ClassSize@TLbsLocInfoConverterPluginClassTypeBase@@QBEIXZ @ 9 NONAME ; unsigned int TLbsLocInfoConverterPluginClassTypeBase::ClassSize(void) const
+	?ExtendedInterface@CLbsLocInfoConverterPluginBase@@UAEPAXHPAX0@Z @ 10 NONAME ; void * CLbsLocInfoConverterPluginBase::ExtendedInterface(int, void *, void *)
+	?Version@MLbsLocInfoConverterPluginObserver@@UBE?AVTVersion@@XZ @ 11 NONAME ; class TVersion MLbsLocInfoConverterPluginObserver::Version(void) const
+	?IsPluginPositionToBeCached@TLbsConversionPluginInfo@@QBEHXZ @ 12 NONAME ; int TLbsConversionPluginInfo::IsPluginPositionToBeCached(void) const
+	??0TLbsConversionPluginInfo@@QAE@XZ @ 13 NONAME ; TLbsConversionPluginInfo::TLbsConversionPluginInfo(void)
+	?SetPluginCapabilitiesMask@TLbsConversionPluginInfo@@QAEXK@Z @ 14 NONAME ; void TLbsConversionPluginInfo::SetPluginCapabilitiesMask(unsigned long)
+	?SetIsPluginPositionToBeCached@TLbsConversionPluginInfo@@QAEXH@Z @ 15 NONAME ; void TLbsConversionPluginInfo::SetIsPluginPositionToBeCached(int)
+	?PluginCapabilitiesMask@TLbsConversionPluginInfo@@QBEKXZ @ 16 NONAME ; unsigned long TLbsConversionPluginInfo::PluginCapabilitiesMask(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/EABI/lbslocationinfoconverterpluginu.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,27 @@
+EXPORTS
+	_ZN30CLbsLocInfoConverterPluginBase17ExtendedInterfaceEiPvS0_ @ 1 NONAME
+	_ZN30CLbsLocInfoConverterPluginBase4NewLE4TUidR32TLbsLocInfoConverterPluginParams @ 2 NONAME
+	_ZN30CLbsLocInfoConverterPluginBaseD0Ev @ 3 NONAME
+	_ZN30CLbsLocInfoConverterPluginBaseD1Ev @ 4 NONAME
+	_ZN30CLbsLocInfoConverterPluginBaseD2Ev @ 5 NONAME
+	_ZN32TLbsLocInfoConverterPluginParamsC1ER34MLbsLocInfoConverterPluginObserver @ 6 NONAME
+	_ZN32TLbsLocInfoConverterPluginParamsC2ER34MLbsLocInfoConverterPluginObserver @ 7 NONAME
+	_ZN34MLbsLocInfoConverterPluginObserver17ExtendedInterfaceEiPvS0_ @ 8 NONAME
+	_ZN39TLbsLocInfoConverterPluginClassTypeBaseC1Ev @ 9 NONAME
+	_ZN39TLbsLocInfoConverterPluginClassTypeBaseC2Ev @ 10 NONAME
+	_ZNK30CLbsLocInfoConverterPluginBase7VersionEv @ 11 NONAME
+	_ZNK32TLbsLocInfoConverterPluginParams8ObserverEv @ 12 NONAME
+	_ZNK34MLbsLocInfoConverterPluginObserver7VersionEv @ 13 NONAME
+	_ZNK39TLbsLocInfoConverterPluginClassTypeBase9ClassSizeEv @ 14 NONAME
+	_ZNK39TLbsLocInfoConverterPluginClassTypeBase9ClassTypeEv @ 15 NONAME
+	_ZTI30CLbsLocInfoConverterPluginBase @ 16 NONAME
+	_ZTI34MLbsLocInfoConverterPluginObserver @ 17 NONAME
+	_ZTV30CLbsLocInfoConverterPluginBase @ 18 NONAME
+	_ZTV34MLbsLocInfoConverterPluginObserver @ 19 NONAME
+	_ZN24TLbsConversionPluginInfo25SetPluginCapabilitiesMaskEm @ 20 NONAME
+	_ZN24TLbsConversionPluginInfo29SetIsPluginPositionToBeCachedEi @ 21 NONAME
+	_ZN24TLbsConversionPluginInfoC1Ev @ 22 NONAME
+	_ZN24TLbsConversionPluginInfoC2Ev @ 23 NONAME
+	_ZNK24TLbsConversionPluginInfo22PluginCapabilitiesMaskEv @ 24 NONAME
+	_ZNK24TLbsConversionPluginInfo26IsPluginPositionToBeCachedEv @ 25 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -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:
+//
+
+
+PRJ_EXPORTS
+../inc/lbslocinfoconverterpluginbase.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocinfoconverterpluginbase.h)
+../inc/lbslocinfoconverterpluginclasstypes.h    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocinfoconverterpluginclasstypes.h)
+../inc/lbslocinfoconverterplugincommon.h        SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocinfoconverterplugincommon.h)
+../inc/lbslocinfoconverterpluginbase.hrh        SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocinfoconverterpluginbase.hrh)
+
+lbslocationinfoconverterplugin.iby      /epoc32/rom/include/lbslocationinfoconverterplugin.iby
+
+
+PRJ_MMPFILES
+lbslocationinfoconverterplugin.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+//#ifndef __LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
+#define __LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
+//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+file=ABI_DIR\DEBUG_DIR\lbslocationinfoconverterplugin.dll			sys\bin\lbslocationinfoconverterplugin.dll
+
+
+//#endif // SYMBIAN_EXCLUDE_LOCATION
+
+//#endif //__LBS_LOCATIONINFOCONVERTERPLUGIN_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/group/lbslocationinfoconverterplugin.mmp	Fri May 28 18:01:03 2010 +0100
@@ -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:
+//
+
+
+TARGET          lbslocationinfoconverterplugin.dll
+TARGETTYPE      dll
+UID             0x1000008d 0x102871FA
+
+VENDORID        0x70000001
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          lbslocinfoconverterpluginbase.cpp
+SOURCE          lbslocinfoconverterplugincommon.cpp
+
+USERINCLUDE     ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY         euser.lib
+LIBRARY			ecom.lib
+LIBRARY         lbslocationinfodatatypes.lib
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,303 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Location information converter plug in API
+*
+*/
+
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
+#define LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
+
+
+// System wide
+#include <e32base.h>
+
+// Common LBS data types
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+
+// Component specific
+#include <lbs/lbslocinfoconverterplugincommon.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+
+
+class TLbsLocInfoConverterPluginParams;
+
+
+/**
+* The MLbsLocInfoConverterPluginObserver class is used in partnership with
+* CLbsLocInfoConverterPluginBase. The observer interface is used by a 
+* conversion plugin to inform LBS when a coordinate conversion process 
+* initiated through the CLbsLocInfoConverterPluginBase class is completed. 
+*
+* Although all the interface methods in the MLbsLocInfoConverterPluginObserver
+* class are synchronous, the LBS subsystem ensures they return quickly.
+*/
+class MLbsLocInfoConverterPluginObserver
+    {
+    
+public:
+
+	/** 
+	 * Gets the current version of the observer interface.
+	 * Derived classes should not change the implementation.
+	 * 
+	 * @return Version number (currently 1.0.0) 
+     */
+	IMPORT_C virtual TVersion Version() const;
+	
+	/**
+	 * The callback is used by the conversion plugin to inform the LBS
+	 * subsystem that a validation request initiated through the 
+	 * CLbsLocInfoConverterPluginBase::ValidateClient method is completed. 
+	 *
+	 * @param aStatusCode Result of the validation operation. 
+	 *         KErrNone if the access is granted.
+	 *         KErrPermissionDenied due to a potential security violation.
+         *         Other system wide error codes.
+	 */
+	IMPORT_C virtual void OnValidationComplete( TInt aStatusCode ) = 0;
+
+    /** 
+     * The callback is used by the conversion plugin to inform the LBS 
+     * subsystem that a coordinate conversion process initiated through the 
+     * CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method is 
+     * completed.
+     *
+     * Receiving the callback indicates that, unless the conversion was not 
+     * successful, the location data structures passed through the 
+     * CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method have been 
+     * updated with the requested information.
+     *
+     * @param aStatusCode Result of the conversion operation. 
+     *         KErrNone if at least one conversion have been successful and 
+     *         the related location data structure(s) passed through the 
+     *         CLbsLocInfoConverterPluginBase::ConvertLocationInfoL method 
+     *         have been updated with the requested information;
+     *         KErrKErrNotFound if none of conversions have been successful
+     *         Or other system wide error code otherwise.
+     */
+    IMPORT_C virtual void OnConversionComplete( TInt aStatusCode ) = 0;
+
+private:
+    
+	/** 
+	 * This methods is reserved for future expansion and should not be used or 
+	 * implemented by derived classes.
+	 */	
+	IMPORT_C virtual TAny* ExtendedInterface( TInt aFunctionNumber, 
+                                              TAny* aPtr1, 
+                                              TAny* aPtr2 );
+	
+    };
+
+
+/**
+* The CLbsLocInfoConverterPluginBase is the abstract Ecom interface to a 
+* coordinate conversion Plugin. All coordinate conversion Plugins must derive 
+* from and implement this interface.
+*
+* The interface is used in partnership with MLbsLocInfoConverterPluginObserver
+* and is used by the LBS subsystem to request conversion of location 
+* information between different formats.
+*
+* Completion of conversions must be indicated by a plugin by invoking 
+* callback(s) defined by the MLbsLocInfoConverterPluginObserver class.
+*
+* Although all the interface methods in the class are synchronous they must 
+* return immediately. When the LBS subsystem makes a request via 
+* CLbsLocInfoConverterPluginBase the Plugin must queue the request internally 
+* and return control to the caller immediately. Later on, when plugin provides
+* a response, it uses the corresponding notification method in the
+* MLbsLocInfoConverterPluginObserver class.
+*/
+class CLbsLocInfoConverterPluginBase : public CBase
+    {
+    	
+public:
+    
+    /**
+     * Loads a coordinate conversion Plugin and initalises it.
+     *
+     * @param[in] aImplementationUid An implementation Uid of the module to be 
+     * loaded.
+     * @param[in] aParams Arguments sent to conversion plugin.
+     *
+     * @return Pointer to the new coordinate conversion plugin.
+     */
+    IMPORT_C static CLbsLocInfoConverterPluginBase* NewL( 
+                                   TUid aImplementationUid,
+                                   TLbsLocInfoConverterPluginParams& aParams );
+                                                           
+    /**
+     * Destructor 
+     */
+    IMPORT_C virtual ~CLbsLocInfoConverterPluginBase();
+
+	/** 
+	 * Gets the current version of the interface implemented by a Plugin.
+     * Derived classes should not change the implementation.
+     *
+     * @return Version number (currently 1.0.0) 
+     */
+	IMPORT_C virtual TVersion Version() const;
+	
+	/**
+	 * Validates a client before a request is processed. This method is called
+	 * by the Location Monitor Server, everytime, before a conversion request is 
+	 * sent. 
+	 * The result of validation is indicated by the plugin by invoking the 
+	 * MLbsLocInfoConverterPluginObserver::OnValidationComplete callback.
+	 *
+	 * @param[in] aSecureId The secure ID of the client application/process
+	 * @param[in] aVendorId The vendor ID of the client application/process
+	 * @param{in] aRequestedInfo The requested converted information. This 
+	 * bit field would be checked by the plugin to determine if the specified
+	 * conversion can be supported for the requesting client. 
+	 */
+	IMPORT_C virtual void ValidateClient( const TSecureId& aSecureId, 
+	                    const TVendorId& aVendorId, 
+	                    const TLbsConversionOutputInfoMask aRequestedInfo) = 0;
+	                    
+	/**
+	 * Cancels an ongoing validation operation.
+	 * If there is no ongoing validation operation, the cancellation request 
+	 * is ignored.
+	 *
+	 * The MLbsLocInfoConverterPluginObserver::OnValidationComplete callback is
+	 * not invoked.
+	 */
+	IMPORT_C virtual void CancelValidateClient() = 0;
+    
+    /** 
+     * Converts multiple location information.
+     * 
+     * Completion of the conversion is indicated by a Plugin by invoking the
+     * MLbsLocInfoConverterPluginObserver::OnConversionComplete callback
+     *
+     * @param[in] aLocationInfo An array of location information for which 
+     * corresponding position information is expected.
+     * @param[in] aConversionPrefs Conversion preferences suggested by client
+     * @param[in] aRequestedInfo Location information that is requested.
+        
+     * @leave KErrNoMemory if there is not enough memory available to perform 
+     * the conversion.
+     *   KErrArgument If the location info pointer is NULL.
+     *   KErrNotSupported if the conversion type specified by aRequestedInfo is 
+     *   not supported.
+     *   Or any other system wide error code.
+     */                                                       
+    IMPORT_C virtual void ConvertLocationInfoL( 
+                       RLbsLocationInfoArray& aLocationInfoArray,
+                       const TLbsConversionPrefs aConversionPrefs, 
+                       const TLbsConversionOutputInfoMask aRequestedInfo ) = 0;
+
+    /** 
+     * Cancels an ongoing conversion operation.
+     * If there is no ongoing conversion the cancellation request is ignored.
+     *
+     * The MLbsLocInfoConverterPluginObserver::OnConversionComplete callback is 
+     * not invoked.
+     */
+    IMPORT_C virtual void CancelConvertLocationInfo() = 0;
+
+    
+    /**
+     * This method is used to read the conversion plugin's preferences such as
+     * its capability to use wlan/gsm/wcdma/pos information to perform the requested conversion
+     * or whether position that it returns after conversion should be retained in the cache.
+     */
+    IMPORT_C virtual void ConversionPluginPreferences(
+            TLbsConversionPluginInfo& aPluginInfo ) = 0;
+    
+	/** 
+	 * This method is reserved for future expansion and should not be used 
+	 * or implemented by derived classes.
+	 */								
+	IMPORT_C virtual TAny* ExtendedInterface( TInt aFunctionNumber, 
+                                               TAny* aPtr1, 
+                                               TAny* aPtr2 );
+
+private: // data
+
+    /**
+     * Instance identifier key. When instance of an implementation is
+     * created by ECOM framework, the framework will assign UID
+     * for it. The UID is used in destructor to notify framework that 
+     * this instance is being destroyed and resources can be released.
+     */
+     TUid iDtor_ID_Key;
+     
+    };
+
+
+/**
+* This class encapsulates the construction parameters for a Coordinate 
+* Conversion plugin.
+*
+* These parameters are passed by the LBS subsystem to the implementation
+* of the Plugin module via ECom. The ECom constructor
+* should take a single TAny* parameter. That parameter should be cast to
+* a variable of type TLbsLocInfoConverterPluginParams.
+*
+* @see CLbsLocInfoConverterPluginBase::NewL
+*/
+class TLbsLocInfoConverterPluginParams : public TLbsLocInfoConverterPluginClassTypeBase
+	{
+	
+public:
+    
+	/**
+	 * This class encapsulates the construction parameters for a Coordinate 
+	 * Conversion plugin implementation.
+     *
+	 * When created, the LBS subsystem must provide a reference to the 
+	 * plugin's observer.  
+     *
+	 * @see MLbsLocInfoConverterPluginObserver
+     * @see CLbsLocInfoConverterPluginBase::NewL
+     */
+    IMPORT_C TLbsLocInfoConverterPluginParams( 
+		MLbsLocInfoConverterPluginObserver& aObserver );
+
+	/**
+	 * Returns a reference to the observer.
+     *
+	 * @see MLbsLocInfoConverterPluginObserver
+	 * @see CLbsLocInfoConverterPluginBase::NewL
+	 */
+	IMPORT_C MLbsLocInfoConverterPluginObserver& Observer() const;
+	
+protected:
+    
+	/**
+	 *  Handle to the plugin observer
+	 */
+    MLbsLocInfoConverterPluginObserver& iObserver;
+    
+    /**
+     * Reserved for future use
+     */
+	TUint8 iReserved[20];
+	
+	};
+
+#endif // LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.hrh	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* 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 headers for project
+*
+*/
+
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBSLOCINFOCONVERTERPLUGINBASE_HRH
+#define LBSLOCINFOCONVERTERPLUGINBASE_HRH
+
+// ECom interface ID for Location information converter Plugin API
+#define KLbsLocInfoConverterPlugInInterfaceId (0x10287201)
+
+
+#endif // LBSLOCINFOCONVERTERPLUGINBASE_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Common enumerations used by client applications and plugins 
+* for conversion of location information.
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+
+#ifndef LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
+#define LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
+
+
+/** Type used for identifying class types */
+typedef TUint32 TLbsLocInfoConverterPluginParamsClassType;
+
+
+/**
+ * Class types for TLbsLocInfoConverterPluginParams and its derived classes 
+ */
+enum _TLbsLocInfoConverterPluginParamsClassType
+	{
+	/** Should be used for data initialisation only */
+	ELbsLocInfoConverterPluginParamsUnknownClass = 0x00,
+
+	/** Identifier for TLbsLocInfoConverterPluginParams class */
+	ELbsLocInfoConverterPluginParamsClass        = 0x01,
+
+	/** Not used. */
+	ELbsLocInfoConverterPluginParamsLastClass    = 0xFFFFFFFF
+	};
+
+
+#endif // LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Base class for all the class representing
+* location informations.
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+#ifndef LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
+#define LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
+
+#include <e32std.h>
+
+
+/**
+The generic base for classes that store conversion Plugin Interface 
+related information
+*/
+class TLbsLocInfoConverterPluginClassTypeBase
+	{
+public:
+	IMPORT_C TUint32 ClassType() const;
+	IMPORT_C TUint ClassSize() const;
+
+protected:
+	IMPORT_C TLbsLocInfoConverterPluginClassTypeBase();
+
+protected:
+	/** The type of the derived class */
+	TUint32 iClassType;
+	/** The size of the derived class */
+	TUint iClassSize;
+	};
+
+/**
+ * Conversion plugin's capabilities
+ */
+typedef TUint32 TLbsConversionPluginCapabilityMask;
+
+/**
+ * Enums that are used as bitmasks to define the capabilities of the conversion plugin.
+ */
+enum _TLbsConversionPluginCapabilityMask
+    {
+    /**
+     * Bitmask indicating the conversion plugin's capability has not been defined.
+     */
+    ELbsPluginCapabilityNotDefined = 0x00,
+            
+    /**
+     * Bitmask indicating the conversion plugin's capability to use position information
+     * for the conversion.
+     */
+    ELbsPluginCapabilityPosInfo = 0x01,
+    
+    /**
+     * Bitmask indicating the conversion plugin's capability to use GSM cell information
+     * for the conversion. 
+     */
+    ELbsPluginCapabilityGsmInfo = 0x02,
+    
+    /**
+     * Bitmask indicating the conversion plugin's capability to use WCDMA cell information
+     * for the conversion. 
+     */
+    ELbsPluginCapabilityWcdmaInfo = 0x04,
+    
+    /**
+     * Bitmask indicating the conversion plugin's capability to use WLAN AP information
+     * for the conversion.
+     */
+    ELbsPluginCapabilityWlanInfo = 0x08,
+    
+    /**
+     * Bitmask indicating the conversion plugin's capability to use all area information
+     * for the conversion.
+     */
+    ELbsPluginCapabilityAreaInfoAll = 0xFFFFFFFF
+    };
+
+
+/**
+ * Class used to read the preferences of the conversion plugin such as its capability to use
+ * gsm/wlan/wcdma information during conversion and whether the position that it returns is to be 
+ * stored in the cache.
+ */
+class TLbsConversionPluginInfo
+    {
+public:
+    IMPORT_C TLbsConversionPluginInfo();
+
+public:
+    /**
+     * Read the flag indicating if the conversion result is to be cached
+     */
+    IMPORT_C TBool IsPluginPositionToBeCached() const;
+    
+    /**
+     * Read the currently set capabilities
+     */
+    IMPORT_C TLbsConversionPluginCapabilityMask PluginCapabilitiesMask() const;
+    
+    /**
+     * Sets the flag indicating if the conversion result returned from the plugin is 
+     * to be cached.
+     */
+    IMPORT_C void  SetIsPluginPositionToBeCached(TBool aCachePluginPosition);
+    
+    /**
+     * Sets the bitmask representing the capabilities of the conversion plugin.
+     */
+    IMPORT_C void  SetPluginCapabilitiesMask(TLbsConversionPluginCapabilityMask aCapabilitiesMask);
+
+private:
+    TBool                               iIsPluginPositionToBeCached;
+    TLbsConversionPluginCapabilityMask  iCapabilitiesMask;
+    TUint32                             iReserved[8];
+    };
+
+#endif // LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implentation of functions shared between all 
+* implementations of the LBS Network Protocol Module 
+* interface/ECom plugin.
+*
+*/
+
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+
+
+// ---------------------------------------------------------------------------
+// MLbsLocInfoConverterPluginObserver::ExtendedInterface()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVersion MLbsLocInfoConverterPluginObserver::Version() const
+    {
+    return TVersion( 1, 0, 0 );
+    }
+
+// ---------------------------------------------------------------------------
+// MLbsLocInfoConverterPluginObserver::ExtendedInterface()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TAny* MLbsLocInfoConverterPluginObserver::ExtendedInterface( 
+                TInt  /*aFunctionNumber*/,
+                TAny* /*aPtr1*/,
+                TAny* /*aPtr2*/ )
+    {
+    return NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocInfoConverterPluginBase::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocInfoConverterPluginBase* CLbsLocInfoConverterPluginBase::NewL( 
+                                    TUid aImplementationUid,
+                                    TLbsLocInfoConverterPluginParams& aParams )
+    {
+    TAny* ptr = REComSession::CreateImplementationL( aImplementationUid, 
+                         _FOFF( CLbsLocInfoConverterPluginBase, iDtor_ID_Key ),
+                         reinterpret_cast<TAny*>( &aParams ) );
+
+    return reinterpret_cast<CLbsLocInfoConverterPluginBase*>(ptr);
+    }  
+
+// ---------------------------------------------------------------------------
+// CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase()
+    {
+    REComSession::DestroyedImplementation( iDtor_ID_Key );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocInfoConverterPluginBase::Version()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVersion CLbsLocInfoConverterPluginBase::Version() const
+    {
+    return TVersion( 1, 0, 0 );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocInfoConverterPluginBase::ExtendedInterface()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TAny* CLbsLocInfoConverterPluginBase::ExtendedInterface(
+                                    TInt  /*aFunctionNumber*/,
+                                    TAny* /*aPtr1*/,
+                                    TAny* /*aPtr2*/ )
+    {
+    return NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams(
+           MLbsLocInfoConverterPluginObserver& aObserver ):iObserver(aObserver)
+    {
+    iClassType = ELbsLocInfoConverterPluginParamsClass;
+    iClassSize = sizeof(TLbsLocInfoConverterPluginParams);
+    }
+		
+// ---------------------------------------------------------------------------
+// TLbsLocInfoConverterPluginParams::Observer()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C MLbsLocInfoConverterPluginObserver& TLbsLocInfoConverterPluginParams::Observer() const
+	{
+	return iObserver;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implentation of functions shared between all 
+* implementations of the LBS Network Protocol Module 
+* interface/ECom plugin.
+*
+*/
+
+#include <e32base.h>
+#include <lbs/lbslocinfoconverterplugincommon.h>
+
+
+// ---------------------------------------------------------------------------
+// TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase()
+// Default constructor for TLbsLocInfoConverterPluginClassTypeBase
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsLocInfoConverterPluginClassTypeBase::TLbsLocInfoConverterPluginClassTypeBase()
+:   iClassType(0),
+    iClassSize(0)
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsLocInfoConverterPluginClassTypeBase::ClassSize()
+// Returns the size of the TLbsLocInfoConverterPluginClassTypeBase-derived class
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TUint TLbsLocInfoConverterPluginClassTypeBase::ClassSize() const
+    {
+    return iClassSize;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsLocInfoConverterPluginClassTypeBase::ClassType()
+// Returns the type of the TLbsLocInfoConverterPluginClassTypeBase-derived class
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TUint32 TLbsLocInfoConverterPluginClassTypeBase::ClassType() const
+    {
+    return iClassType;
+    }
+
+//----------------------------------------------------------------
+// TLbsConversionPluginInfo::TLbsConversionPluginInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C TLbsConversionPluginInfo::TLbsConversionPluginInfo() :
+    iIsPluginPositionToBeCached(EFalse), 
+    iCapabilitiesMask(ELbsPluginCapabilityNotDefined)
+    {
+
+    }
+
+//----------------------------------------------------------------
+// TLbsConversionPluginInfo::TLbsConversionPluginInfo
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C TBool TLbsConversionPluginInfo::IsPluginPositionToBeCached() const
+    {
+    return iIsPluginPositionToBeCached;
+    }
+
+//----------------------------------------------------------------
+// TLbsConversionPluginInfo::PluginCapabilitiesMask
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C TLbsConversionPluginCapabilityMask TLbsConversionPluginInfo::PluginCapabilitiesMask() const
+    {
+    return iCapabilitiesMask;
+    }
+
+//----------------------------------------------------------------
+// TLbsConversionPluginInfo::SetPluginPositionToBeCached
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void TLbsConversionPluginInfo::SetIsPluginPositionToBeCached(
+        TBool aCachePluginPosition)
+    {
+    iIsPluginPositionToBeCached = aCachePluginPosition;
+    }
+
+//----------------------------------------------------------------
+// TLbsConversionPluginInfo::SetPluginCapabilitiesMask
+// (other items were commented in a header).
+//----------------------------------------------------------------
+EXPORT_C void TLbsConversionPluginInfo::SetPluginCapabilitiesMask(
+        TLbsConversionPluginCapabilityMask aCapabilitiesMask)
+    {
+    iCapabilitiesMask = aCapabilitiesMask;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/BWINS/lbslocationinfodatatypesu.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,85 @@
+EXPORTS
+	??1CLbsLocationInfo@@UAE@XZ @ 1 NONAME ; CLbsLocationInfo::~CLbsLocationInfo(void)
+	?SetMobileNetworkCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 2 NONAME ; void CLbsWcdmaCellInfo::SetMobileNetworkCode(int)
+	?SetMobileCountryCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 3 NONAME ; void CLbsWcdmaCellInfo::SetMobileCountryCode(int)
+	??1CLbsWlanInfo@@UAE@XZ @ 4 NONAME ; CLbsWlanInfo::~CLbsWlanInfo(void)
+	??1CLbsAreaInfoBase@@UAE@XZ @ 5 NONAME ; CLbsAreaInfoBase::~CLbsAreaInfoBase(void)
+	?MobileCountryCode@CLbsGsmCellInfo@@QBEHXZ @ 6 NONAME ; int CLbsGsmCellInfo::MobileCountryCode(void) const
+	?ScramblingCode@CLbsWcdmaCellInfo@@QBEHXZ @ 7 NONAME ; int CLbsWcdmaCellInfo::ScramblingCode(void) const
+	?Bsic@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 8 NONAME ; int TLbsGsmNeighbourCellInfo::Bsic(void) const
+	?AddNeighbouringCellInfoL@CLbsGsmCellInfo@@QAEXPAVTLbsGsmNeighbourCellInfo@@@Z @ 9 NONAME ; void CLbsGsmCellInfo::AddNeighbouringCellInfoL(class TLbsGsmNeighbourCellInfo *)
+	?SetCellId@CLbsGsmCellInfo@@QAEXH@Z @ 10 NONAME ; void CLbsGsmCellInfo::SetCellId(int)
+	?ScramblingCode@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 11 NONAME ; int TLbsWcdmaNeighbourCellInfo::ScramblingCode(void) const
+	?Pathloss@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 12 NONAME ; int TLbsWcdmaNeighbourCellInfo::Pathloss(void) const
+	?GetMacAddress@CLbsWlanInfo@@QBEXAAVTDes8@@@Z @ 13 NONAME ; void CLbsWlanInfo::GetMacAddress(class TDes8 &) const
+	?NewL@CLbsWcdmaCellInfo@@SAPAV1@XZ @ 14 NONAME ; class CLbsWcdmaCellInfo * CLbsWcdmaCellInfo::NewL(void)
+	?SetUniqueCellId@CLbsWcdmaCellInfo@@QAEXH@Z @ 15 NONAME ; void CLbsWcdmaCellInfo::SetUniqueCellId(int)
+	?SetSignalStrength@CLbsWlanInfo@@QAEXH@Z @ 16 NONAME ; void CLbsWlanInfo::SetSignalStrength(int)
+	?AddNeighbouringCellInfoL@CLbsWcdmaCellInfo@@QAEXPAVTLbsWcdmaNeighbourCellInfo@@@Z @ 17 NONAME ; void CLbsWcdmaCellInfo::AddNeighbouringCellInfoL(class TLbsWcdmaNeighbourCellInfo *)
+	?NewL@CLbsLocationInfo@@SAPAV1@XZ @ 18 NONAME ; class CLbsLocationInfo * CLbsLocationInfo::NewL(void)
+	?GetNeighbouringCellInfoL@CLbsWcdmaCellInfo@@QBEXAAV?$RArray@VTLbsWcdmaNeighbourCellInfo@@@@@Z @ 19 NONAME ; void CLbsWcdmaCellInfo::GetNeighbouringCellInfoL(class RArray<class TLbsWcdmaNeighbourCellInfo> &) const
+	?GetAreaInfoL@CLbsLocationInfo@@QAEXAAV?$RPointerArray@VCLbsAreaInfoBase@@@@K@Z @ 20 NONAME ; void CLbsLocationInfo::GetAreaInfoL(class RPointerArray<class CLbsAreaInfoBase> &, unsigned long)
+	??0TLbsWcdmaNeighbourCellInfo@@QAE@HHHH@Z @ 21 NONAME ; TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo(int, int, int, int)
+	?AddAreaInfoL@CLbsLocationInfo@@QAEXPAVCLbsAreaInfoBase@@@Z @ 22 NONAME ; void CLbsLocationInfo::AddAreaInfoL(class CLbsAreaInfoBase *)
+	??0TLbsWcdmaNeighbourCellInfo@@QAE@XZ @ 23 NONAME ; TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo(void)
+	?NewL@CLbsGsmCellInfo@@SAPAV1@HHHH@Z @ 24 NONAME ; class CLbsGsmCellInfo * CLbsGsmCellInfo::NewL(int, int, int, int)
+	?Type@CLbsLocationInfoBase@@UAEKXZ @ 25 NONAME ; unsigned long CLbsLocationInfoBase::Type(void)
+	?SetMacAddress@CLbsWlanInfo@@QAEXABVTDesC8@@@Z @ 26 NONAME ; void CLbsWlanInfo::SetMacAddress(class TDesC8 const &)
+	?NewLC@CLbsLocationInfo@@SAPAV1@XZ @ 27 NONAME ; class CLbsLocationInfo * CLbsLocationInfo::NewLC(void)
+	?SetRxLevel@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 28 NONAME ; void TLbsGsmNeighbourCellInfo::SetRxLevel(int)
+	?ExternaliseL@CLbsLocationInfoBase@@QBEXAAVRWriteStream@@@Z @ 29 NONAME ; void CLbsLocationInfoBase::ExternaliseL(class RWriteStream &) const
+	??1CLbsWcdmaCellInfo@@UAE@XZ @ 30 NONAME ; CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo(void)
+	?RxLevel@CLbsGsmCellInfo@@QBEHXZ @ 31 NONAME ; int CLbsGsmCellInfo::RxLevel(void) const
+	?Arfcn@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 32 NONAME ; int TLbsGsmNeighbourCellInfo::Arfcn(void) const
+	?CellId@CLbsGsmCellInfo@@QBEHXZ @ 33 NONAME ; int CLbsGsmCellInfo::CellId(void) const
+	?Type@CLbsLocationInfo@@MAEKXZ @ 34 NONAME ; unsigned long CLbsLocationInfo::Type(void)
+	??1CLbsGsmCellInfo@@UAE@XZ @ 35 NONAME ; CLbsGsmCellInfo::~CLbsGsmCellInfo(void)
+	?SetArfcn@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 36 NONAME ; void TLbsGsmNeighbourCellInfo::SetArfcn(int)
+	?TimingAdvance@CLbsGsmCellInfo@@QBEHXZ @ 37 NONAME ; int CLbsGsmCellInfo::TimingAdvance(void) const
+	?ResetNeighbouringCellInfo@CLbsGsmCellInfo@@QAEXXZ @ 38 NONAME ; void CLbsGsmCellInfo::ResetNeighbouringCellInfo(void)
+	?NewL@CLbsWcdmaCellInfo@@SAPAV1@HHH@Z @ 39 NONAME ; class CLbsWcdmaCellInfo * CLbsWcdmaCellInfo::NewL(int, int, int)
+	?InternaliseL@CLbsLocationInfoBase@@QAEXAAVRReadStream@@@Z @ 40 NONAME ; void CLbsLocationInfoBase::InternaliseL(class RReadStream &)
+	??0TLbsGsmNeighbourCellInfo@@QAE@HHH@Z @ 41 NONAME ; TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo(int, int, int)
+	?SignalStrength@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 42 NONAME ; int TLbsWcdmaNeighbourCellInfo::SignalStrength(void) const
+	?MobileNetworkCode@CLbsGsmCellInfo@@QBEHXZ @ 43 NONAME ; int CLbsGsmCellInfo::MobileNetworkCode(void) const
+	?SetRxLevel@CLbsGsmCellInfo@@QAEXH@Z @ 44 NONAME ; void CLbsGsmCellInfo::SetRxLevel(int)
+	?GetLocality@CLbsPositionInfo@@QBEXAAVTLocality@@@Z @ 45 NONAME ; void CLbsPositionInfo::GetLocality(class TLocality &) const
+	?ExternaliseL@CLbsAreaInfoBase@@QAEXAAVRWriteStream@@@Z @ 46 NONAME ; void CLbsAreaInfoBase::ExternaliseL(class RWriteStream &)
+	?SetScramblingCode@CLbsWcdmaCellInfo@@QAEXH@Z @ 47 NONAME ; void CLbsWcdmaCellInfo::SetScramblingCode(int)
+	?MobileCountryCode@CLbsWcdmaCellInfo@@QBEHXZ @ 48 NONAME ; int CLbsWcdmaCellInfo::MobileCountryCode(void) const
+	?RxLevel@TLbsGsmNeighbourCellInfo@@QBEHXZ @ 49 NONAME ; int TLbsGsmNeighbourCellInfo::RxLevel(void) const
+	?SetScramblingCode@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 50 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetScramblingCode(int)
+	?SetLocationAreaCode@CLbsGsmCellInfo@@QAEXH@Z @ 51 NONAME ; void CLbsGsmCellInfo::SetLocationAreaCode(int)
+	?SignalStrength@CLbsWlanInfo@@QBEHXZ @ 52 NONAME ; int CLbsWlanInfo::SignalStrength(void) const
+	?SetTimingAdvance@CLbsGsmCellInfo@@QAEXH@Z @ 53 NONAME ; void CLbsGsmCellInfo::SetTimingAdvance(int)
+	?GetNeighbouringCellInfoL@CLbsGsmCellInfo@@QBEXAAV?$RArray@VTLbsGsmNeighbourCellInfo@@@@@Z @ 54 NONAME ; void CLbsGsmCellInfo::GetNeighbouringCellInfoL(class RArray<class TLbsGsmNeighbourCellInfo> &) const
+	?SetSignalStrength@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 55 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetSignalStrength(int)
+	?NewL@CLbsWlanInfo@@SAPAV1@XZ @ 56 NONAME ; class CLbsWlanInfo * CLbsWlanInfo::NewL(void)
+	?SetPathloss@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 57 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetPathloss(int)
+	??0TLbsGsmNeighbourCellInfo@@QAE@XZ @ 58 NONAME ; TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo(void)
+	?NewL@CLbsGsmCellInfo@@SAPAV1@XZ @ 59 NONAME ; class CLbsGsmCellInfo * CLbsGsmCellInfo::NewL(void)
+	?ResetAreaInfo@CLbsLocationInfo@@QAEXK@Z @ 60 NONAME ; void CLbsLocationInfo::ResetAreaInfo(unsigned long)
+	?SetBsic@TLbsGsmNeighbourCellInfo@@QAEXH@Z @ 61 NONAME ; void TLbsGsmNeighbourCellInfo::SetBsic(int)
+	?SetMobileCountryCode@CLbsGsmCellInfo@@QAEXH@Z @ 62 NONAME ; void CLbsGsmCellInfo::SetMobileCountryCode(int)
+	?UniqueCellId@CLbsWcdmaCellInfo@@QBEHXZ @ 63 NONAME ; int CLbsWcdmaCellInfo::UniqueCellId(void) const
+	?SetLocality@CLbsPositionInfo@@QAEXABVTLocality@@@Z @ 64 NONAME ; void CLbsPositionInfo::SetLocality(class TLocality const &)
+	?UniqueCellId@TLbsWcdmaNeighbourCellInfo@@QBEHXZ @ 65 NONAME ; int TLbsWcdmaNeighbourCellInfo::UniqueCellId(void) const
+	?LocationAreaCode@CLbsGsmCellInfo@@QBEHXZ @ 66 NONAME ; int CLbsGsmCellInfo::LocationAreaCode(void) const
+	?NewL@CLbsWlanInfo@@SAPAV1@ABV?$TBuf8@$0BC@@@H@Z @ 67 NONAME ; class CLbsWlanInfo * CLbsWlanInfo::NewL(class TBuf8<18> const &, int)
+	?NewL@CLbsPositionInfo@@SAPAV1@XZ @ 68 NONAME ; class CLbsPositionInfo * CLbsPositionInfo::NewL(void)
+	?NewL@CLbsPositionInfo@@SAPAV1@ABVTLocality@@@Z @ 69 NONAME ; class CLbsPositionInfo * CLbsPositionInfo::NewL(class TLocality const &)
+	?InternaliseL@CLbsAreaInfoBase@@QAEXAAVRReadStream@@@Z @ 70 NONAME ; void CLbsAreaInfoBase::InternaliseL(class RReadStream &)
+	?SetMobileNetworkCode@CLbsGsmCellInfo@@QAEXH@Z @ 71 NONAME ; void CLbsGsmCellInfo::SetMobileNetworkCode(int)
+	??1CLbsPositionInfo@@UAE@XZ @ 72 NONAME ; CLbsPositionInfo::~CLbsPositionInfo(void)
+	?Type@CLbsAreaInfoBase@@UAEKXZ @ 73 NONAME ; unsigned long CLbsAreaInfoBase::Type(void)
+	??1CLbsLocationInfoBase@@UAE@XZ @ 74 NONAME ; CLbsLocationInfoBase::~CLbsLocationInfoBase(void)
+	?SetUniqueCellId@TLbsWcdmaNeighbourCellInfo@@QAEXH@Z @ 75 NONAME ; void TLbsWcdmaNeighbourCellInfo::SetUniqueCellId(int)
+	?MobileNetworkCode@CLbsWcdmaCellInfo@@QBEHXZ @ 76 NONAME ; int CLbsWcdmaCellInfo::MobileNetworkCode(void) const
+	?ResetNeighbouringCellInfo@CLbsWcdmaCellInfo@@QAEXXZ @ 77 NONAME ; void CLbsWcdmaCellInfo::ResetNeighbouringCellInfo(void)
+	?NewL@CLbsPositionInfo@@SAPAV1@ABV1@@Z @ 78 NONAME ; class CLbsPositionInfo * CLbsPositionInfo::NewL(class CLbsPositionInfo const &)
+	?NewL@CLbsGsmCellInfo@@SAPAV1@ABV1@@Z @ 79 NONAME ; class CLbsGsmCellInfo * CLbsGsmCellInfo::NewL(class CLbsGsmCellInfo const &)
+	?NewL@CLbsWcdmaCellInfo@@SAPAV1@ABV1@@Z @ 80 NONAME ; class CLbsWcdmaCellInfo * CLbsWcdmaCellInfo::NewL(class CLbsWcdmaCellInfo const &)
+	?NewL@CLbsWlanInfo@@SAPAV1@ABV1@@Z @ 81 NONAME ; class CLbsWlanInfo * CLbsWlanInfo::NewL(class CLbsWlanInfo const &)
+	?SetSignalStrength@CLbsWcdmaCellInfo@@QAEXH@Z @ 82 NONAME ; void CLbsWcdmaCellInfo::SetSignalStrength(int)
+	?SignalStrength@CLbsWcdmaCellInfo@@QBEHXZ @ 83 NONAME ; int CLbsWcdmaCellInfo::SignalStrength(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/EABI/lbslocationinfodatatypesu.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,103 @@
+EXPORTS
+	_ZN12CLbsWlanInfo13SetMacAddressERK6TDesC8 @ 1 NONAME
+	_ZN12CLbsWlanInfo17SetSignalStrengthEi @ 2 NONAME
+	_ZN12CLbsWlanInfo4NewLERK5TBuf8ILi18EEi @ 3 NONAME
+	_ZN12CLbsWlanInfo4NewLEv @ 4 NONAME
+	_ZN12CLbsWlanInfoD0Ev @ 5 NONAME
+	_ZN12CLbsWlanInfoD1Ev @ 6 NONAME
+	_ZN12CLbsWlanInfoD2Ev @ 7 NONAME
+	_ZN15CLbsGsmCellInfo10SetRxLevelEi @ 8 NONAME
+	_ZN15CLbsGsmCellInfo16SetTimingAdvanceEi @ 9 NONAME
+	_ZN15CLbsGsmCellInfo19SetLocationAreaCodeEi @ 10 NONAME
+	_ZN15CLbsGsmCellInfo20SetMobileCountryCodeEi @ 11 NONAME
+	_ZN15CLbsGsmCellInfo20SetMobileNetworkCodeEi @ 12 NONAME
+	_ZN15CLbsGsmCellInfo24AddNeighbouringCellInfoLEP24TLbsGsmNeighbourCellInfo @ 13 NONAME
+	_ZN15CLbsGsmCellInfo25ResetNeighbouringCellInfoEv @ 14 NONAME
+	_ZN15CLbsGsmCellInfo4NewLEiiii @ 15 NONAME
+	_ZN15CLbsGsmCellInfo4NewLEv @ 16 NONAME
+	_ZN15CLbsGsmCellInfo9SetCellIdEi @ 17 NONAME
+	_ZN15CLbsGsmCellInfoD0Ev @ 18 NONAME
+	_ZN15CLbsGsmCellInfoD1Ev @ 19 NONAME
+	_ZN15CLbsGsmCellInfoD2Ev @ 20 NONAME
+	_ZN16CLbsAreaInfoBase12ExternaliseLER12RWriteStream @ 21 NONAME
+	_ZN16CLbsAreaInfoBase12InternaliseLER11RReadStream @ 22 NONAME
+	_ZN16CLbsAreaInfoBase4TypeEv @ 23 NONAME
+	_ZN16CLbsAreaInfoBaseD0Ev @ 24 NONAME
+	_ZN16CLbsAreaInfoBaseD1Ev @ 25 NONAME
+	_ZN16CLbsAreaInfoBaseD2Ev @ 26 NONAME
+	_ZN16CLbsLocationInfo12AddAreaInfoLEP16CLbsAreaInfoBase @ 27 NONAME
+	_ZN16CLbsLocationInfo12GetAreaInfoLER13RPointerArrayI16CLbsAreaInfoBaseEm @ 28 NONAME
+	_ZN16CLbsLocationInfo13ResetAreaInfoEm @ 29 NONAME
+	_ZN16CLbsLocationInfo4NewLEv @ 30 NONAME
+	_ZN16CLbsLocationInfo4TypeEv @ 31 NONAME
+	_ZN16CLbsLocationInfo5NewLCEv @ 32 NONAME
+	_ZN16CLbsLocationInfoD0Ev @ 33 NONAME
+	_ZN16CLbsLocationInfoD1Ev @ 34 NONAME
+	_ZN16CLbsLocationInfoD2Ev @ 35 NONAME
+	_ZN16CLbsPositionInfo11SetLocalityERK9TLocality @ 36 NONAME
+	_ZN16CLbsPositionInfo4NewLERK9TLocality @ 37 NONAME
+	_ZN16CLbsPositionInfo4NewLEv @ 38 NONAME
+	_ZN16CLbsPositionInfoD0Ev @ 39 NONAME
+	_ZN16CLbsPositionInfoD1Ev @ 40 NONAME
+	_ZN16CLbsPositionInfoD2Ev @ 41 NONAME
+	_ZN17CLbsWcdmaCellInfo15SetUniqueCellIdEi @ 42 NONAME
+	_ZN17CLbsWcdmaCellInfo17SetScramblingCodeEi @ 43 NONAME
+	_ZN17CLbsWcdmaCellInfo20SetMobileCountryCodeEi @ 44 NONAME
+	_ZN17CLbsWcdmaCellInfo20SetMobileNetworkCodeEi @ 45 NONAME
+	_ZN17CLbsWcdmaCellInfo24AddNeighbouringCellInfoLEP26TLbsWcdmaNeighbourCellInfo @ 46 NONAME
+	_ZN17CLbsWcdmaCellInfo25ResetNeighbouringCellInfoEv @ 47 NONAME
+	_ZN17CLbsWcdmaCellInfo4NewLEiii @ 48 NONAME
+	_ZN17CLbsWcdmaCellInfo4NewLEv @ 49 NONAME
+	_ZN17CLbsWcdmaCellInfoD0Ev @ 50 NONAME
+	_ZN17CLbsWcdmaCellInfoD1Ev @ 51 NONAME
+	_ZN17CLbsWcdmaCellInfoD2Ev @ 52 NONAME
+	_ZN20CLbsLocationInfoBase12InternaliseLER11RReadStream @ 53 NONAME
+	_ZN20CLbsLocationInfoBase4TypeEv @ 54 NONAME
+	_ZN20CLbsLocationInfoBaseD0Ev @ 55 NONAME
+	_ZN20CLbsLocationInfoBaseD1Ev @ 56 NONAME
+	_ZN20CLbsLocationInfoBaseD2Ev @ 57 NONAME
+	_ZN24TLbsGsmNeighbourCellInfo10SetRxLevelEi @ 58 NONAME
+	_ZN24TLbsGsmNeighbourCellInfo7SetBsicEi @ 59 NONAME
+	_ZN24TLbsGsmNeighbourCellInfo8SetArfcnEi @ 60 NONAME
+	_ZN24TLbsGsmNeighbourCellInfoC1Eiii @ 61 NONAME
+	_ZN24TLbsGsmNeighbourCellInfoC1Ev @ 62 NONAME
+	_ZN24TLbsGsmNeighbourCellInfoC2Eiii @ 63 NONAME
+	_ZN24TLbsGsmNeighbourCellInfoC2Ev @ 64 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfo11SetPathlossEi @ 65 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfo15SetUniqueCellIdEi @ 66 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfo17SetScramblingCodeEi @ 67 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfo17SetSignalStrengthEi @ 68 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfoC1Eiiii @ 69 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfoC1Ev @ 70 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfoC2Eiiii @ 71 NONAME
+	_ZN26TLbsWcdmaNeighbourCellInfoC2Ev @ 72 NONAME
+	_ZNK12CLbsWlanInfo13GetMacAddressER5TDes8 @ 73 NONAME
+	_ZNK12CLbsWlanInfo14SignalStrengthEv @ 74 NONAME
+	_ZNK15CLbsGsmCellInfo13TimingAdvanceEv @ 75 NONAME
+	_ZNK15CLbsGsmCellInfo16LocationAreaCodeEv @ 76 NONAME
+	_ZNK15CLbsGsmCellInfo17MobileCountryCodeEv @ 77 NONAME
+	_ZNK15CLbsGsmCellInfo17MobileNetworkCodeEv @ 78 NONAME
+	_ZNK15CLbsGsmCellInfo24GetNeighbouringCellInfoLER6RArrayI24TLbsGsmNeighbourCellInfoE @ 79 NONAME
+	_ZNK15CLbsGsmCellInfo6CellIdEv @ 80 NONAME
+	_ZNK15CLbsGsmCellInfo7RxLevelEv @ 81 NONAME
+	_ZNK16CLbsPositionInfo11GetLocalityER9TLocality @ 82 NONAME
+	_ZNK17CLbsWcdmaCellInfo12UniqueCellIdEv @ 83 NONAME
+	_ZNK17CLbsWcdmaCellInfo14ScramblingCodeEv @ 84 NONAME
+	_ZNK17CLbsWcdmaCellInfo17MobileCountryCodeEv @ 85 NONAME
+	_ZNK17CLbsWcdmaCellInfo17MobileNetworkCodeEv @ 86 NONAME
+	_ZNK17CLbsWcdmaCellInfo24GetNeighbouringCellInfoLER6RArrayI26TLbsWcdmaNeighbourCellInfoE @ 87 NONAME
+	_ZNK20CLbsLocationInfoBase12ExternaliseLER12RWriteStream @ 88 NONAME
+	_ZNK24TLbsGsmNeighbourCellInfo4BsicEv @ 89 NONAME
+	_ZNK24TLbsGsmNeighbourCellInfo5ArfcnEv @ 90 NONAME
+	_ZNK24TLbsGsmNeighbourCellInfo7RxLevelEv @ 91 NONAME
+	_ZNK26TLbsWcdmaNeighbourCellInfo12UniqueCellIdEv @ 92 NONAME
+	_ZNK26TLbsWcdmaNeighbourCellInfo14ScramblingCodeEv @ 93 NONAME
+	_ZNK26TLbsWcdmaNeighbourCellInfo14SignalStrengthEv @ 94 NONAME
+	_ZNK26TLbsWcdmaNeighbourCellInfo8PathlossEv @ 95 NONAME
+	_ZN12CLbsWlanInfo4NewLERKS_ @ 96 NONAME
+	_ZN15CLbsGsmCellInfo4NewLERKS_ @ 97 NONAME
+	_ZN16CLbsPositionInfo4NewLERKS_ @ 98 NONAME
+	_ZN17CLbsWcdmaCellInfo4NewLERKS_ @ 99 NONAME
+	_ZN17CLbsWcdmaCellInfo17SetSignalStrengthEi @ 100 NONAME
+	_ZNK17CLbsWcdmaCellInfo14SignalStrengthEv @ 101 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,32 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+PRJ_EXPORTS
+../inc/lbslocationclasstypes.h					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationclasstypes.h)
+../inc/lbslocationcommon.h						SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationcommon.h)
+../inc/lbslocationposinfo.h    					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationposinfo.h)
+../inc/lbslocationgsminfo.h						SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationgsminfo.h)
+../inc/lbslocationgsmneighbourinfo.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationgsmneighbourinfo.h)
+../inc/lbslocationinfo.h						SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationinfo.h)
+../inc/lbslocationwcdmainfo.h					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationwcdmainfo.h)
+../inc/lbslocationwcdmaneighbourinfo.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationwcdmaneighbourinfo.h)
+../inc/lbslocationwlaninfo.h					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocationwlaninfo.h)
+
+lbslocationinfodatatypes.iby      				/epoc32/rom/include/lbslocationinfodatatypes.iby
+
+PRJ_MMPFILES
+lbslocationinfodatatypes.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/lbslocationinfodatatypes.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_LOCATIONINFODATATYPES_IBY__
+#define __LBS_LOCATIONINFODATATYPES_IBY__
+
+//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+file=ABI_DIR\DEBUG_DIR\lbslocationinfodatatypes.dll			sys\bin\lbslocationinfodatatypes.dll
+
+//#endif // SYMBIAN_EXCLUDE_LOCATION
+#endif //__LBS_LOCATIONINFODATATYPES_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/group/lbslocationinfodatatypes.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,42 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+TARGET          lbslocationinfodatatypes.dll
+TARGETTYPE      dll
+UID             0x1000008d 0x102871FB
+
+VENDORID        0x70000001
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          lbslocationcommon.cpp
+SOURCE          lbslocationinfo.cpp
+SOURCE          lbslocationposinfo.cpp 
+SOURCE          lbslocationgsminfo.cpp
+SOURCE          lbslocationwcdmainfo.cpp
+SOURCE          lbslocationwlaninfo.cpp 
+SOURCE          lbslocationwcdmaneighbourinfo.cpp 
+SOURCE          lbslocationgsmneighbourinfo.cpp
+
+USERINCLUDE     ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY         euser.lib
+LIBRARY		      estor.lib 
+LIBRARY         lbs.lib
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBS_LOCATION_CLASS_TYPES_H
+#define LBS_LOCATION_CLASS_TYPES_H
+
+
+/** 
+ * Type used for identifying location info class types 
+ */
+typedef TUint32 TLbsAreaInfoClassType;
+
+/**
+ * Enumeration to indicate the type of area information.
+ * This information is included when a client application creates
+ * a class derived from CLbsAreaInfoBase
+ */
+enum _TLbsAreaInfoClassType
+    {
+    /** 
+     * Should be used for data initialisation only 
+     */
+    ELbsAreaInfoUnknownClass                = 0x00,
+    
+    /** 
+     * Identifier for CLbsPositionInfo class 
+     */
+    ELbsAreaPositionInfoClass             = 0x01,
+    
+    /** 
+     * Identifier for CLbsGsmCellInfo class 
+     */
+    ELbsAreaGsmCellInfoClass                = 0x02,
+    
+    /** 
+     * Identifier for CLbsGsmNeighbourCellInfo class 
+     */
+    ELbsAreaGsmNeighbourCellInfoClass       = 0x04,
+    
+    /** 
+     * Identifier for CLbsWcdmaCellInfo class 
+     */
+    ELbsAreaWcmdaCellInfoClass              = 0x08,
+    
+    /**
+     *  Identifier for CLbsWcdmaNeighbourCellInfo class 
+     */
+    ELbsAreaWcmdaNeighbourCellInfoClass     = 0x10,
+    
+    /** 
+     * Identifier for CLbsWlanInfo class 
+     */
+    ELbsAreaWlanInfoClass                   = 0x20,
+    
+    /** 
+     * Not used 
+     */
+    ELbsAreaInfoLastClass                   = 0xFFFFFFFF
+    };
+
+
+/** 
+ * Type used for identifying location info class types 
+ */
+typedef TUint32 TLbsLocationInfoClassType;
+
+/**
+ * Enumeration to indicate the type of area information.
+ * This information is included when a client application creates
+ * a class derived from CLbsLocationInfoBase
+ */
+enum _TLbsLocationInfoClassType
+    {
+	/** 
+	 * Should be used for data initialisation only 
+	 */
+	ELbsLocationInfoUnknownClass    = 0x00,
+
+	/** 
+	 * Identifier for CLbsLocationInfo class
+	 */
+    ELbsLocationInfoClass           = 0x01,
+
+	/** 
+	 * Not used
+	 */
+	ELbsLocationInfoLastClass       = 0xFFFFFFFF
+    };
+
+#endif //LBS_LOCATION_CLASS_TYPES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,211 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Base class for all the class representing
+* location informations.
+*
+*/
+
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+
+#ifndef LBS_LOCATION_COMMON_H
+#define LBS_LOCATION_COMMON_H
+
+
+#include <e32base.h>
+#include <s32strm.h>
+#include <lbs/lbslocationclasstypes.h>
+
+
+// Constants 
+
+/**
+ * Defines the maximum allowable batch size supported by the system
+ */
+const TUint KPositionMaxBatchSize = 500;
+
+
+/**
+ * Abstract base class for data class representing location area 
+ * information. 
+ */
+NONSHARABLE_CLASS(CLbsLocationInfoBase) : public CBase
+    {
+
+public:
+  
+    /**
+     * This method is implemented by each of the derived classes that
+     * extend this class.  
+     */
+    IMPORT_C virtual TLbsLocationInfoClassType Type();
+  
+    /**
+     * Destructor
+     */
+    IMPORT_C virtual ~CLbsLocationInfoBase();
+
+    /**
+     * Internalizes the geographical area information from a stream.
+     *
+     * @param[in] aStream Stream from which the object is internalized.
+     */    
+    IMPORT_C void InternaliseL( RReadStream& aStream );
+  
+    /**
+     * Externalizes the geographical area information to a stream.
+     *
+     * @param[in] aStream Stream to which the object is to be 
+     * externalized.
+     */    
+    IMPORT_C void ExternaliseL( RWriteStream& aStream ) const;
+    
+protected:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsLocationInfoBase();
+        
+    /**
+     * Internalize method that subclass must implement.
+     * 
+     * @param[in] aStream Stream from which the object is internalized.
+     */    
+    virtual void DoInternaliseL( RReadStream& aStream ) = 0;
+  
+    /**
+     * Externalize method that subclass must implement.
+     *
+     * @param[in] aStream Stream to which the object is to be 
+     * externalized.
+     */    
+    virtual void DoExternaliseL( RWriteStream& aStream ) const = 0;
+ 
+private:
+   
+    /**
+     * Copy constructor. Prohibited by default.
+     */
+    CLbsLocationInfoBase( CLbsLocationInfoBase& );
+   
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */
+    CLbsLocationInfoBase& operator=( CLbsLocationInfoBase& );
+
+private:
+    
+    /*
+     * Reserved for future use.
+     */
+    TAny* iReserved;
+    
+    };    
+    
+typedef RPointerArray<CLbsLocationInfoBase> RLbsLocationInfoBaseArray;
+
+/**
+ * Abstract base class for data types representing geogrphical area 
+ * information. 
+ *
+ * Geographical information may be a collection of GSM or WCDMA cells
+ * or WLAN information. 
+ */
+NONSHARABLE_CLASS(CLbsAreaInfoBase) : public CBase
+    {
+
+public:
+  
+    /**
+     * This method is implemented by each of the geographical area type classes
+     * that extend this class. The method returns the type of geographical area
+     * being represented.
+     */
+    IMPORT_C virtual TLbsAreaInfoClassType Type();
+  
+    /**
+     * Destructor
+     */
+    IMPORT_C virtual ~CLbsAreaInfoBase();
+
+    /**
+     * Internalizes the geographical area information from a stream.
+     *
+     * @param[in] aStream Stream from which the object is internalized.
+     */    
+    IMPORT_C void InternaliseL( RReadStream& aStream );
+  
+    /**
+     * Externalizes the geographical area information to a stream.
+     *
+     * @param[in] aStream Stream to which the object is to be 
+     * externalized.
+     */    
+    IMPORT_C void ExternaliseL( RWriteStream& aStream );
+    
+    /**
+     * Validates area information.
+     */
+    virtual void ValidateDataL() const = 0;
+
+protected:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsAreaInfoBase();
+		
+    /**
+     * Internalize method that subclass must implement.
+     * 
+     * @param[in] aStream Stream from which the object is internalized.
+     */    
+    virtual void DoInternaliseL( RReadStream& aStream ) = 0;
+  
+    /**
+     * Externalize method that subclass must implement.
+     *
+     * @param[in] aStream Stream to which the object is to be 
+     * externalized.
+     */    
+    virtual void DoExternaliseL( RWriteStream& aStream ) const = 0;
+ 
+private:
+   
+    /**
+     * Copy constructor. Prohibited by default.
+     */
+    CLbsAreaInfoBase( CLbsAreaInfoBase& );
+   
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */
+    CLbsAreaInfoBase& operator=( CLbsAreaInfoBase& );
+
+private:
+    
+    /**
+     * Reserved for future use.
+     */
+    TAny* iReserved;
+    
+    };
+
+#endif // LBS_LOCATION_COMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,326 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* cell information in a GSM PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBS_GSM_CELL_INFO_H
+#define LBS_GSM_CELL_INFO_H
+
+
+#include <e32std.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+
+
+/**
+ * This class contains information related to a cell in GSM PLMN. An instance
+ * of this class may also contain information of one or more neighbouring 
+ * GSM cells 
+ */
+NONSHARABLE_CLASS(CLbsGsmCellInfo) : public CLbsAreaInfoBase
+    {
+
+public:
+
+    /**
+     * Allocates and constructs a new GSM cell info object. In the returned
+     * instance, the country code, network code, location area code and cell ID
+     * are marked as undefined.
+     * 
+     * @return Pointer to the new GSM cell info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */
+    IMPORT_C static CLbsGsmCellInfo* NewL();
+    
+    /**
+     * Allocates and constructs a new GSM cell info object. 
+     *
+     * @param[in] aCountryCode Network country code.
+     * @param[in] aNetworkCode Network code.
+     * @param[in] aLocationAreaCode Location area code.
+     * @param[in] aCellId Cell ID of a cell in GSM PLMN.
+     * @return Pointer to the new GSM cell info object.
+     * @leave standard symbian error codes, such as KErrNoMemory.
+     */
+    IMPORT_C static CLbsGsmCellInfo* NewL( const TInt aCountryCode,
+                                           const TInt aNetworkCode,
+                                           const TInt aLocationAreaCode,
+                                           const TInt aCellId );
+        
+  
+    /**
+      * Allocates and constructs new GSM cell info objec, a copy of another one.
+      * 
+      * @param[in] aLocality Instance of CLbsGsmCellInfo. 
+      */
+     IMPORT_C static CLbsGsmCellInfo* NewL( const CLbsGsmCellInfo& aPositionInfo );
+         
+    
+    /**
+     * Destructor
+     */    
+    IMPORT_C ~CLbsGsmCellInfo();
+    
+    /**
+     * Sets the Mobile Country Code information.
+     * 
+     * @param[in] aCountryCode Mobile Country Code, range 0..999. 
+     */
+    IMPORT_C void SetMobileCountryCode(const TInt aCountryCode);
+    
+    /**
+     * Retrieves the Mobile Country Code information.
+     * 
+     * @return Mobile Country Code, range 0..999;
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt MobileCountryCode() const;
+    
+    /**
+     * Sets the Mobile Network Code information.
+     *
+     * @param[in] aNetworkCode Mobilre Network Code, range 0..999. 
+     */    
+    IMPORT_C void SetMobileNetworkCode( const TInt aNetworkCode );
+    
+    /**
+     * Retrieves the Mobile Network Code information.
+     *
+     * @return Mobile Network Code, range 0..999. 
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt MobileNetworkCode() const;
+    
+    /**
+     * Sets the Location Area Code information.
+     *
+     * @param[in] aLocationAreaCode Location Area Code, range 0..65535. 
+     */    
+    IMPORT_C void SetLocationAreaCode( const TInt aLocationAreaCode );  
+    
+    /**
+     * Retrieves the Location Area Code information.
+     *
+     * @return Location Area Code, range 0..65535. 
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt LocationAreaCode() const;
+    
+    /**
+     * Sets the Cell Identity information.
+     * 
+     * @param[in] aCellId Cell Identity, range 0..65535. 
+     */
+    IMPORT_C void SetCellId( const TInt aCellId ); 
+    
+    /**
+     * Retrieves the Cell Identity information.
+     * 
+     * @return Cell Identity, range 0..65535.
+     *        KErrNotFound if the value is undefined.
+     */
+    IMPORT_C TInt CellId() const;
+    
+    /**
+     * Initializes the signal strength parameter.
+     * 
+     * @param[in] aRxLev Rx Level, range 0..63. 
+     */
+    IMPORT_C void SetRxLevel( const TInt aRxLev );
+    
+    /**
+     * Retrieves the Rx level.
+     *
+     * @return Rx Level, range 0..63. 
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt RxLevel() const;    
+    
+    /**
+     * Sets the Timing Advance information.
+     *
+     * @param[in] aTimingAdvance Timing Advance, range 0..255.
+     */    
+    IMPORT_C void SetTimingAdvance( const TInt aTimingAdvance );
+    
+    /**
+     * Retrieves the Timing Advance information.
+     *
+     * @return Timing Advance, range 0..255.
+     *        KErrNotFound if the value is undefined.
+     */
+    IMPORT_C TInt TimingAdvance() const;
+    
+    /**
+     * Adds a neighbouring cell information.
+     *
+     * @param[in] An instance of TLbsGsmNeighbourCellInfo class 
+     * (memory ovnership is being transferred)
+     * @leave KErrArgument if the argument is NULL or one of standard symbian 
+     * error codes
+     */
+    IMPORT_C void AddNeighbouringCellInfoL( 
+                    TLbsGsmNeighbourCellInfo* aNeighbourCellInfo );
+
+    /**
+     * Retrieves a copy of neighbouring cell information information as an 
+     * array. 
+     *
+     * @param[in] aNeighbourCellInfo GSM neighbouring cell information 
+     * (memory ownership is not being transferred to this function therefore
+	 * it is the responsibility of the caller to ensure Close() is called to 
+	 * free resources)
+     */
+    IMPORT_C void GetNeighbouringCellInfoL( 
+                     RLbsGsmNeighbourCellInfoArray& aNeighbourCellInfo ) const;
+
+    /** 
+     * Removes all neighbouring cell information.
+     */    
+    IMPORT_C void ResetNeighbouringCellInfo();
+                                    
+public: // from CLbsAreaInfoBase
+
+    /**
+     * Returns the type of area information instance. 
+     *
+     * @return Area type information
+     */
+    virtual TLbsAreaInfoClassType Type();   
+    
+    /**
+     * Validates GSM cell information. 
+     * This method checks for boundary conditions as well as the mandatory 
+     * attributes. The attributes of this class become mandatory in a 
+     * hierarchical manner. For instance, if location area code is 
+     * specified then the mobile network code attribute is mandatory. If cell 
+     * id is specified then, both LAC and MNC become mandatory attributes and 
+     * so on. However, the mobile country code attribute is always mandatory 
+     * which means client applications must at least specify the MCC attribute 
+     * when specifying GSM cell information. 
+     * This method is used internally to determine the correctness of 
+     * information provided. Optionally, this method, may also be used by 
+     * client applications to validate their input.
+     * 
+     * @leave KErrArgument If the specified attributes dont meet the boundary
+     * conditions or the mandatory arguments are not specified.
+     */
+    virtual void ValidateDataL() const;
+    
+protected: // from CLbsAreaInfoBase
+
+    /**
+     * Internalize method to write GSM cell information to a stream.
+     */
+    virtual void DoInternaliseL( RReadStream& aStream );
+
+    /**
+     * Externalize method to read GSM cell information from a stream.
+     */  
+    virtual void DoExternaliseL( RWriteStream& aStream ) const;
+    
+private:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsGsmCellInfo();
+   
+    /**
+     * Copy constructor. Prohibited by default.
+     */    
+    CLbsGsmCellInfo( CLbsGsmCellInfo& ); 
+    
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */    
+    CLbsGsmCellInfo& operator=( CLbsGsmCellInfo& );     
+    
+    /**
+     * Symbian 2 phase constructor
+     */    
+    void ConstructL();
+    
+    /**
+     * Symbian 2 phase constructor
+     */
+    void ConstructL( const TInt aCountryCode, const TInt aNetworkCode,
+                     const TInt aLocationAreaCode, const TInt aCellId );
+    
+private: // attributes
+    
+    enum _TGsmDataValidationMask
+        {
+        EGsmDataNull = 0x00,
+        EGsmMCC = 0x01,
+        EGsmMNC = 0x02,
+        EGsmLAC = 0x04,
+        EGsmCI = 0x08,
+        EGsmRx = 0x10,
+        EGsmTA = 0x20
+        };
+
+    /**
+     * Mobile country code
+     */ 
+    TInt16      iMCC;
+    
+    /**
+     * Mobile network code
+     */
+    TInt16      iMNC;
+    
+    /** 
+     * Location area code
+     */
+    TInt32      iLAC;
+    
+    /**
+     * Cell id
+     */
+    TInt32      iCid;
+
+    /**
+     * Signal strength
+     */
+    TInt32      iRxLev;
+    
+    /**
+     * Timing advance
+     */
+    TInt16      iTA;
+    
+    /**
+     * Data mask to determine initialized data. Used internally.
+     */
+    TInt8       iDataValidationMask;
+    
+    /**
+     * Neighbouring cell info
+     */
+    RLbsGsmNeighbourCellInfoArray iNeighbourCellInfo;
+    };
+
+#endif //LBS_GSM_CELL_INFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* cell information in a GSM PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+/**
+@file
+@publishedPartner
+@prototype
+*/
+
+
+#ifndef LBS_GSM_NEIGHB_CELL_INFO_H
+#define LBS_GSM_NEIGHB_CELL_INFO_H
+
+#include <e32std.h>
+#include <lbs/lbslocationcommon.h>
+
+
+/** 
+ * This class contains information related to a GSM neighbouring cell 
+ * information.
+ */
+NONSHARABLE_CLASS(TLbsGsmNeighbourCellInfo)
+    {
+
+public:
+
+    /**
+     * Allocates and constructs a new neighbour GSM cell info object. In the 
+     * returned instance all data is marked as undefined
+     *
+     * @return Pointer to the new neighbour GSM cell info object.
+     */
+    IMPORT_C TLbsGsmNeighbourCellInfo();
+    
+    /**
+     * Allocates and constructs a new neighbour GSM cell info object. 
+
+     * @param[in] aARFCN Absolute Radio Frequency Channel Number
+     * @param[in] aBSIC  Base station identity (colour) code.
+     * @param[in] aRxLev Rx level.
+     *
+     * @return Pointer to the new neighbour GSM cell info object.
+     */
+    IMPORT_C TLbsGsmNeighbourCellInfo( const TInt aARFCN,
+                                       const TInt aBSIC,
+                                       const TInt aRxLev );
+        
+    /**
+     *Sets the Absolute Radio Frequency Channel Number.
+     *
+     * @param[in] aARFCN Absolute Radio Frequency Channel Number, range 0..1023.
+     */
+    IMPORT_C void SetArfcn(const TInt aARFCN);
+    
+    /**
+     * Retrieves the Absolute Radio Frequency Channel Number.
+     *
+     * @return Absolute Radio Frequency Channel Number, range 0..1023.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt Arfcn() const;
+    
+    /**
+     * Sets the Base station identity (colour) code.
+     *
+     * @param[in] iBSIC Base station identity code, range 0..63.
+     */    
+    IMPORT_C void SetBsic( const TInt aBSIC );
+    
+    /**
+     * Retrieves the Base station identity code.
+     *
+     * @return Base station identity code, range 0..63.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt Bsic() const;
+
+    /**
+     * Sets the Rx level.
+     *
+     * @param[in] aRxLev Rx Level, range 0..63. 
+     */    
+    IMPORT_C void SetRxLevel( const TInt aRxLev );  
+    
+    /**
+     * Retrieves the Rx level.
+     *
+     * @return Rx Level, range 0..63. 
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt RxLevel() const;
+   
+protected: // attributes
+
+    /** 
+     * Absolute Radio Frequency Channel Number 
+     */ 
+    TInt16      iARFCN;
+
+    /** 
+     * Base station identity code 
+     */ 
+    TInt8       iBSIC;
+
+    /** 
+     * Rx level 
+     */ 
+    TInt8       iRxLev;
+
+    /** 
+     * Reserved 
+     */
+    TUint8      iReserved[4];
+    
+    };
+
+typedef RArray<TLbsGsmNeighbourCellInfo> RLbsGsmNeighbourCellInfoArray;
+
+
+#endif //LBS_GSM_NEIGHB_CELL_INFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,204 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Container class representing geographical area information as a
+* collection of GSM/WCDMA cell information and WLAN MAC IDs.
+*
+*/
+
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef C_LBSLOCATIONINFO_H
+#define C_LBSLOCATIONINFO_H
+
+
+#include <e32std.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+#include <lbs/lbslocationposinfo.h>
+
+
+/**
+ * Type definitions
+ */
+ 
+/**
+ * Structure used to carry location information to be converted
+ */
+typedef RPointerArray<CLbsAreaInfoBase> RLbsAreaInfoBaseArray;
+
+/**
+ * This class contains information related to a collection of geographical area
+ * information. Client applications create an instance of this class to 
+ * represent a geographical area for which a conversion is required. The 
+ * corresponding coordinate values determined by the conversion plugins would 
+ * be updated in the same instance of CLbsLocationInfo. Client applications
+ * may retrieve the position estimate(s) using GetPositionInfo method.
+ *
+ */
+NONSHARABLE_CLASS(CLbsLocationInfo) : public CLbsLocationInfoBase
+    {
+
+public: 
+    
+	typedef TUint32 TAreaInfoMask;
+    
+	enum _TAreaInfoMask
+        {
+        /**
+         * Bit mask used to retrieve position information.
+         */
+        ELbsPosInfo = 0x01,
+        
+        /**
+         * Bit mask used to retrieve GSM cell information. 
+         */
+        ELbsGsmInfo = 0x02,
+        
+        /**
+         * Bit mask used to retrieve WCDMA cell information.
+         */
+        ELbsWcdmaInfo = 0x04,
+        
+        /**
+         * Bit mask used to retrieve WLAN AP information.
+         */
+        ELbsWlanInfo = 0x08,
+        
+        /**
+         * Bit mask used to retrieve all area information.
+         */
+        ELbsAreaInfoAll = 0xFFFFFFFF
+        };
+
+    /**
+     * Allocates and constructs a new location info object. 
+     * 
+     * @return Pointer to the new area info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */
+    IMPORT_C static CLbsLocationInfo* NewL();
+  
+    /**
+     * Allocates and constructs a new location info object. This method will
+     * push the resultant object onto the cleanup stack. 
+     * 
+     * @return Pointer to the new area info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */    
+    IMPORT_C static CLbsLocationInfo* NewLC();
+   
+    /**
+     * Destructor
+     */
+    IMPORT_C ~CLbsLocationInfo();
+     
+    /**
+     * Appends the specified area info entry to the data structure. This
+     * method takes a pointer to CLbsAreaInfoBase type instances.  
+     * 
+     * @param[in] aAreaInfo Pointer to a CLbsAreaInfoBase type instance.
+     * @leave KErrArgument if the pointer to CLbsAreaInfoBase type is NULL
+     */
+    IMPORT_C void AddAreaInfoL( CLbsAreaInfoBase* aAreaInfo );
+    
+    /**
+     * Retrieves the area information that is stored in the internal 
+     * data structure. Client applications can specify the type of information
+     * to be retrieved using the TAreaInfoMask. The result is updated in 
+     * the instance of RLbsAreaInfoBaseArray. If there is no information stored
+     * for the requested type the instance of RLbsAreaInfoBaseArray will not be
+     * updated. Client applications would need to check the contents of the 
+     * array to determine the information retrieved.
+     * 
+     * @param[out] aAreaInfoArray Array that is filled with pointers to the 
+	 * area information retrieved. Note it is the callers responsibility to call
+	 * Close() to free the pointers. However ownership of the objects pointed to
+	 * is not transferred to the caller.
+     * @param[in] aLocInfoMask Specifies the type of information to be 
+     * retrieved. 
+     */
+    IMPORT_C void GetAreaInfoL( RLbsAreaInfoBaseArray& aAreaInfoArray, 
+                               TAreaInfoMask aAreaInfoMask = ELbsAreaInfoAll );
+    
+    /**
+     * Removes all entries of the specified type from the data structure. If 
+     * the mask is not specified all entries would be removed. If there are no
+     * entries found for a specific type, no changes will be done.
+     * 
+     * @param[in] aLocInfoMask Specifies the type of information to be 
+     * removed. 
+     */    
+    IMPORT_C void ResetAreaInfo( TAreaInfoMask aAreaInfoMask 
+                                     = ELbsAreaInfoAll );
+             
+protected: // from CLbsLocationInfoBase
+    
+    /**
+     * Type of location info class
+     */
+    virtual TLbsLocationInfoClassType Type();
+
+    /**
+     * Internalize method to write location information to a stream.
+     */
+    virtual void DoInternaliseL( RReadStream& aStream );
+  
+    /**
+     * Externalize method to read location information from a stream.
+     */  
+    virtual void DoExternaliseL( RWriteStream& aStream ) const;
+    
+private:
+   
+    /**
+     * C++ default constructor
+     */   
+    CLbsLocationInfo();
+   
+    /**
+     * Copy constructor. Prohibited by default.
+     */    
+    CLbsLocationInfo( CLbsLocationInfo& );
+   
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */    
+    CLbsLocationInfo& operator = ( CLbsLocationInfo& );
+   
+    /**
+     * Symbian 2 phase constructor
+     */    
+    void ConstructL();
+   
+private:
+
+    /**
+     * A collection of geographical area information.
+     */
+    RPointerArray<CLbsAreaInfoBase>  iAreaInfoArray;
+    
+    };
+
+typedef RPointerArray<CLbsLocationInfo> RLbsLocationInfoArray;
+
+   
+#endif //C_LBSLOCATIONINFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 class representing a geographical area in terms of 
+* latitude,longitude,altitude,horizontal accuracy and vertical accuracy.
+*
+*/
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBS_COORDINATE_INFO_H
+#define LBS_COORDINATE_INFO_H
+
+
+#include <e32std.h>
+#include <lbs.h>
+#include <lbs/lbslocationcommon.h>
+
+
+/**
+ * This class contains the basic coordinates of a location (latitude, longitude 
+ * and altitude) along with vertical and horizontal accuracies. This class 
+ * is different from TPositionInfo class defined in LBS and cannot be used
+ * interchangeably. @see TPositionInfo class for more details. 
+ */
+NONSHARABLE_CLASS(CLbsPositionInfo) : public CLbsAreaInfoBase
+    {
+
+public:
+
+    /**
+     * Allocates and constructs a new position info object. In the returned
+     * instance, the longitude, latitude, altitude, horizontal accuracy and 
+     * vertical accuracy are set to NaN.
+     * 
+     * @return Pointer to the new coordinate info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */
+    IMPORT_C static CLbsPositionInfo* NewL();
+    
+    /**
+     * Allocates and constructs a new position info object, a copy of another one.
+     * 
+     * @param[in] aLocality Instance of CLbsPositionInfo. 
+     */
+    IMPORT_C static CLbsPositionInfo* NewL( const CLbsPositionInfo& aPositionInfo );
+        
+    /**
+     * Allocates and constructs a new position info object
+     * 
+     * @param[in] aLocality Instance of TLocality class that contains 
+     * coordinates along with the error estimates for the horizontal and 
+     * vertical accuracy of the point. 
+     */
+       IMPORT_C static CLbsPositionInfo* NewL( const TLocality& aLocality );
+      
+    /**
+     * Destructor
+     */    
+    IMPORT_C virtual ~CLbsPositionInfo();
+    
+    /**
+     * Initializes the locality information. This includes
+     *      latitude - should be between and including -90 and 90 degrees.
+     *      longitude - should be between and including -180 and 180 degrees.
+     *      altitude - Altitude information in meters.
+     *      datum - datum information. Defaults to the constant for the 
+     *      coordinate system for a specific positioning system.
+     *      horizontal accuracy - horizontal accuracy in meters. 
+     *      vertical accuracy - vertical accuracy in meters.
+     *
+     * @param[in] aLatitude Latitude information.
+     */
+    IMPORT_C void SetLocality( const TLocality& aLocality );
+    
+    /**
+     * Retrieves the Locality information.
+     *
+     * @return NaN if nothing specified or latitude information.
+     * network.
+     */    
+    IMPORT_C void GetLocality( TLocality& aLocality ) const;
+    
+public: // from CLbsAreaInfoBase
+
+    /**
+     * Returns the type of area information instance. 
+     *
+     * @return Area type information
+     */
+    virtual TLbsAreaInfoClassType Type();   
+    
+    /**
+     * Validates position information.
+     * This method checks for boundary conditions as well as the mandatory 
+     * attributes. The latitude, longitude and horizontal accuracy attributes
+     * are mandatory and must be specified in the TLocality instance being 
+     * passed as an argument to instantiate/initialize an instance of this 
+     * class.  
+     * This method is used internally to determine the correctness of 
+     * information provided. Optionally, this method, may also be used by 
+     * client applications to validate their input.
+     * 
+     * @leave KErrArgument If the specified attributes dont meet the boundary
+     * conditions or the mandatory arguments are not specified. 
+     */
+    virtual void ValidateDataL() const;
+    
+protected: // from CLbsAreaInfoBase
+
+    /**
+     * Internalize method to write GSM cell information to a stream.
+     */
+    virtual void DoInternaliseL( RReadStream& aStream );
+
+    /**
+     * Externalize method to read GSM cell information from a stream.
+     */  
+    virtual void DoExternaliseL( RWriteStream& aStream ) const;
+    
+private:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsPositionInfo();
+
+    /**
+     * Copy constructor. Prohibited by default.
+     */    
+    CLbsPositionInfo( CLbsPositionInfo&  );    
+    
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */    
+    CLbsPositionInfo& operator=( CLbsPositionInfo& );     
+    
+    /**
+     * Symbian 2 phase constructor
+     */    
+    void ConstructL();
+    
+    /**
+     * Symbian 2 phase constuctor
+     */
+    void ConstructL( const TLocality& aLocality );
+    
+private: // attributes
+
+    /**
+     *  Locality information
+     */
+    TLocality iLocality;
+    
+    };
+
+#endif //LBS_COORDINATE_INFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,300 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 class representing a geographical area in terms of 
+* cell information in a WCDMA PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef C_LBSWCDMACELLINFO_H
+#define C_LBSWCDMACELLINFO_H
+
+
+#include <e32base.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+
+
+/**
+ * This class contains information related to a cell in WCDMA PLMN. An instance
+ * of this class may also contain information of one or more neighbouring 
+ * WCDMA cells 
+ */
+NONSHARABLE_CLASS(CLbsWcdmaCellInfo) : public CLbsAreaInfoBase
+    {
+    
+public:
+
+    /**
+     * Allocates and constructs a new WCDMA cell info object. In the returned
+     * instance, the country code, network code and cell ID are set to zero.
+     * 
+     * @return Pointer to the new WCDMA cell info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */
+    IMPORT_C static CLbsWcdmaCellInfo* NewL();
+     
+    /**
+     * Allocates and constructs a new WCDMA cell info object. 
+     *
+     * @param[in] aCountryCode Network country code.
+     * @param[in] aNetworkCode Network code.
+     * @param[in] aUniqueCellId Cell ID of a cell in WCDMA PLMN.
+     * @return Pointer to the new WCDMA cell info object.
+     * @leave KErrArgument in case of invalid input or other standard symbian 
+     * error codes, such as KErrNoMemory.
+     */    
+    IMPORT_C static CLbsWcdmaCellInfo* NewL( const TInt aCountryCode,
+                                             const TInt aNetworkCode,
+                                             const TInt aUniqueCellId );     
+    /**
+      * Allocates and constructs a WCDMA cell info object, a copy of another one.
+      * 
+      * @param[in] aLocality Instance of CLbsWcdmaCellInfo. 
+      */
+    IMPORT_C static  CLbsWcdmaCellInfo* NewL( const CLbsWcdmaCellInfo& aPositionInfo);
+
+    /**
+     * Destructor
+     */
+    IMPORT_C ~CLbsWcdmaCellInfo();
+    
+    /**
+     * Initializes the country code attribute.
+     *
+     * @param[in] aCountryCode Network country code, range 0..999
+     */    
+    IMPORT_C void SetMobileCountryCode( const TInt aCountryCode);
+    
+    /**
+     * Retrieves the country code information.
+
+     * @return Network country code, range 0..999
+               KErrNotFound if the value is undefined.
+     */        
+    IMPORT_C TInt MobileCountryCode() const;
+    
+    /**
+     * Initializes the network code attribute.
+     *
+     * @param[in] aNetworkCode Network code, range 0..999
+     */    
+    IMPORT_C void SetMobileNetworkCode( const TInt aNetworkCode );
+    
+    /**
+     * Retrieves the network code information.
+     *
+     * @return Network code, range 0..999
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt MobileNetworkCode() const;
+    
+    /**
+     * Sets the Cell Identity.
+     *
+     * @param[in] aUniqueCellId Cell Identity, range 0..268435455.
+     */
+    IMPORT_C void SetUniqueCellId( const TInt aUniqueCellId );
+    
+    /**
+     * Retrieves the Cell Identity.
+     *
+     * @return Cell Identity, range 0..268435455.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt UniqueCellId() const; 
+    
+    /**
+     * Sets the scrambling code 
+     *
+     * @param[in] aScramblingCode scrambling code , range 0..511.
+     */    
+    IMPORT_C void SetScramblingCode( const TInt aScramblingCode );
+    
+    /**
+     * Retrieves the scrambling code .
+     *
+     * @return Base scrambling code, range 0..511.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt ScramblingCode() const;
+    
+    /**
+     * Sets the RSSI parameter 
+     *
+     * @param[in] aRssi Received Signal Strength Indicator, range 0..127.
+     */    
+    IMPORT_C void SetSignalStrength( const TInt aRssi );
+    
+    /**
+     * Retrieves the RSSI information.
+     *
+     * @return RSSI, range 0..127.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt SignalStrength() const;    
+
+    /**
+     * Adds a neighbouring cell information.
+     *
+     * @param[in] An instance of TLbsWcdmaNeighbourCellInfo class 
+     * (memory ovnership is being transferred)
+     * @leave KErrArgument if the argument is NULL or one of standard symbian 
+     * error codes
+     */
+    IMPORT_C void AddNeighbouringCellInfoL( 
+                TLbsWcdmaNeighbourCellInfo* aNeighbourCellInfo );
+
+    /**
+     * Retrieves a copy of neighbouring cell information information as an 
+     * array. 
+     *
+     * @param[in] aNeighbourCellInfo WCDMA neighbouring cell information 
+     * (memory ownership is not being transferred to this function therefore
+	 * it is the responsibility of the caller to ensure Close() is called to 
+	 * free resources)
+     */
+    IMPORT_C void GetNeighbouringCellInfoL( 
+                RLbsWcdmaNeighbourCellInfoArray& aNeighbourCellInfo ) const;
+
+    /** 
+     * Removes all neighbouring cell information.
+     */    
+    IMPORT_C void ResetNeighbouringCellInfo();
+
+public: // from CLbsAreaInfoBase
+
+    /**
+     * Returns the type of area information instance. 
+     *
+     * @return Area type information
+     */
+    virtual TLbsAreaInfoClassType Type();   
+    
+    /**
+     * Validates WCDMA information.
+     * This method checks for boundary conditions as well as the mandatory 
+     * attributes. The attributes of this class become mandatory in a 
+     * hierarchical manner. For instance, if scrambling code is specified then, 
+     * all other attributes except the neighbouring cell information become 
+     * mandatory.  However, the mobile country code attribute is always 
+     * mandatory which means client applications must at least specify the MCC 
+     * attribute when specifying WCDMA cell information. 
+     * This method is used internally to determine the correctness of 
+     * information provided. Optionally, this method, may also be used by 
+     * client applications to validate their input.
+     * 
+     * @leave KErrArgument If the specified attributes dont meet the boundary
+     * conditions or the mandatory arguments are not specified.
+     */      
+    virtual void ValidateDataL() const;
+    
+protected: // from CLbsAreaInfoBase
+
+    /**
+     * Internalize method to write WCDMA cell information to a stream.
+     */
+    virtual void DoInternaliseL( RReadStream& aStream );
+  
+    /**
+     * Externalize method to read WCDMA cell information from a stream.
+     */  
+    virtual void DoExternaliseL( RWriteStream& aStream ) const;
+    
+private:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsWcdmaCellInfo();
+
+    /**
+     * Copy constructor. Prohibited by default.
+     */    
+    CLbsWcdmaCellInfo( CLbsWcdmaCellInfo& );    
+    
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */    
+    CLbsWcdmaCellInfo& operator=( CLbsWcdmaCellInfo& );     
+    
+    /**
+     * Symbian 2 phase constructor
+     */    
+    void ConstructL();
+    
+    /**
+     * Symbian 2 phase constructor 
+     */
+    void ConstructL( const TInt aCountryCode, 
+                     const TInt aNetworkCode,
+                     const TInt aUniqueCellId );
+    
+private: // data
+
+    enum _TWcdmaDataValidationMask
+        {
+        EWcdmaDataNull = 0x00,
+        EWcdmaMCC = 0x01,
+        EWcdmaMNC = 0x02,
+        EWcdmaUCid = 0x04,
+        EWcdmaSC = 0x08,
+        EWcdmaRSSI = 0x10,
+        };
+    
+    /**
+     * Mobile country code
+     */
+    TInt16      iMCC;
+    
+    /**
+     * Mobile network code
+     */
+    TInt16      iMNC;
+    
+    /**
+     * Unique cell identifier
+     */
+    TInt32      iUCid;
+    
+    /**
+     * Scrambling code
+     */
+    TInt16       iSCode;
+    
+    /**
+     * RSSI
+     */
+    TInt16       iRssi;
+    
+    /**
+     * Data mask to determine initialized data. Used internally.
+     */
+    TInt8       iDataValidationMask;
+    
+    /**
+     * Neighbouring cell info
+     */
+    RLbsWcdmaNeighbourCellInfoArray  iNeighbourCellInfo;
+    
+    };
+
+#endif // C_POSWCDMACELLINFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* cell information in a Wcdma PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBS_WCDMA_NEIGHB_CELL_INFO_H
+#define LBS_WCDMA_NEIGHB_CELL_INFO_H
+
+
+#include <e32std.h>
+#include <lbs/lbslocationcommon.h>
+
+
+/** 
+ * This class contains information related to a Wcdma neighbouring cell information
+ */
+NONSHARABLE_CLASS(TLbsWcdmaNeighbourCellInfo)
+    {
+
+public:
+
+    /**
+     * Allocates and constructs a new neighbour Wcdma cell info object. In the returned
+     * instance all data is marked as undefined
+     *
+     * @return Pointer to the new neighbour Wcdma cell info object.
+     */
+    IMPORT_C TLbsWcdmaNeighbourCellInfo();
+    
+    /**
+     * Allocates and constructs a new neighbour Wcdma cell info object. 
+     *
+     * @param[in] aUCid Cell Identity
+     * @param[in] aSCode Scrambling Code
+     * @param[in] aPathloss Pathloss
+     * @param[in] Received Signal Strength Indicator
+     *
+     * @return Pointer to the new neighbour Wcdma cell info object.
+     */
+    IMPORT_C TLbsWcdmaNeighbourCellInfo(const TInt aUCid,
+                                        const TInt aSCode,
+                                        const TInt aPathloss,
+                                        const TInt aRssi );
+        
+    /**
+     * Sets the Cell Identity.
+     *
+     * @param[in] aUniqueCellId Cell Identity, range 0..268435455.
+     */
+    IMPORT_C void SetUniqueCellId( const TInt aUniqueCellId );
+    
+    /**
+     * Retrieves the Cell Identity.
+     *
+     * @return Cell Identity, range 0..268435455.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt UniqueCellId() const; 
+    
+    /**
+     * Sets the scrambling code 
+     *
+     * @param[in] aScramblingCode scrambling code , range 0..511.
+     */    
+    IMPORT_C void SetScramblingCode( const TInt aScramblingCode );
+    
+    /**
+     * Retrieves the scrambling code .
+     *
+     * @return Base scrambling code, range 0..511.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt ScramblingCode() const;
+    
+    /**
+     * Sets the Pathloss parameter 
+     *
+     * @param[in] aPathloss Pathloss, range 46..173.
+     */    
+    IMPORT_C void SetPathloss( const TInt aPathloss );
+    
+    /**
+     * Retrieves the pathloss information.
+     *
+     * @return pathloss, range 46..173.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt Pathloss() const;
+    
+    /**
+     * Sets the RSSI parameter 
+     *
+     * @param[in] aRssi Received Signal Strength Indicator, range 0..127.
+     */    
+    IMPORT_C void SetSignalStrength( const TInt aRssi );
+    
+    /**
+     * Retrieves the RSSI information.
+     *
+     * @return RSSI, range 0..127.
+     *        KErrNotFound if the value is undefined.
+     */    
+    IMPORT_C TInt SignalStrength() const;    
+    
+protected: // attributes
+
+    /** 
+     * Cell Identity 
+     */ 
+    TInt32      iUniqueCellId;
+
+    /** 
+     * Scrambling Code 
+     */ 
+    TInt16       iScramblingCode;
+    
+    /**
+     * Path loss 
+     */
+    TInt16        iPathloss;
+    
+    /**
+     * RSSI
+     */
+    TInt16       iRssi;
+    
+    /** 
+     * Reserved 
+     */
+    TUint8      iReserved[8];
+    
+    };
+
+typedef RArray<TLbsWcdmaNeighbourCellInfo> RLbsWcdmaNeighbourCellInfoArray;
+
+
+#endif //LBS_WCDMA_NEIGHB_CELL_INFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,203 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 class representing a geographical area in terms of 
+* WLAN MAC ID. 
+*
+*/
+
+/**
+* @file
+* @publishedPartner
+* @prototype
+*/
+
+
+#ifndef LBSWLANINFO_H
+#define LBSWLANINFO_H
+
+
+#include <e32std.h>
+#include <lbs/lbslocationcommon.h>
+
+
+/** 
+ * Length of a WLAN MAC address.
+ */
+const TInt KLbsWlanMacAddressLength = 18;
+
+
+/** 
+ * WLAN MAC address consists of six hex numbers and is typically represented as
+ * a string with 6, colon separated hexadecimal numbers. (e.g. 11:22:33:44:55:66)
+ *
+ * In order so save memory the LBS subsystem does not use a string. A 6 byte long
+ * buffer is used instead.
+ *
+ * The leftmost number of the MAC address ("11" in the example) is stored in the first 
+ * byte of the buffer. The rightmost number of the MAC address ("66" in the example) 
+ * is stored in the last byte of the buffer.
+ */
+typedef TBuf8<KLbsWlanMacAddressLength> TLbsWlanMacAddress;
+
+
+/**
+ *  This class contains information related to a WLAN radio map object. 
+ */
+NONSHARABLE_CLASS(CLbsWlanInfo) : public CLbsAreaInfoBase
+    {
+      
+public:
+
+    /**
+     * Allocates and constructs a new WLAN info object. In the returned
+     * instance, the MAC ID and signal strength values are set to zero.
+     * 
+     * @return Pointer to the new WLAN info object.
+     * @leave Standard symbian error codes, such as KErrNoMemory
+     */
+    IMPORT_C static CLbsWlanInfo* NewL();
+    
+    /**
+     * Allocates and constructs a new WLAN info object. 
+     *
+     * The validation for the arguments is hierarchical. For instance, if 
+     * signal strength is given, then specifying MAC ID is mandatory. 
+     * 
+     * @param[in] aMacAddress MAC address of the WLAN AP.
+     * @param[in] aRxStrength AP signal strength received at the SET.
+
+     * @return Pointer to the new WLAN info object.
+     * @leave KErrArgument in case of invalid input or other standard symbian 
+     * error codes, such as KErrNoMemory.
+     */
+    IMPORT_C static CLbsWlanInfo* NewL( const TLbsWlanMacAddress& MacAddress, 
+    									const TInt aRxStrength );
+
+    /**
+     * Allocates and constructs a Wlan info object, a copy of another one.
+     * 
+     * @param[in] aLocality Instance of CLbsWlanInfo. 
+     */
+
+    IMPORT_C static CLbsWlanInfo* NewL( const CLbsWlanInfo& aPositionInfo);
+ 
+    /**
+     * Destructor
+     */
+    IMPORT_C ~CLbsWlanInfo();
+    
+    /**
+     * Initializes the MAC ID attribute.
+     *
+     * @param[in] aMacAddress MAC address of the WLAN AP
+     */    
+    IMPORT_C void SetMacAddress( const TDesC8& aMacAddress );
+    
+    /**
+     * Retrieves the MAC ID information.
+     */       
+    IMPORT_C void GetMacAddress(TDes8& aMacAddress ) const;
+    
+    /**
+     * Initializes the AP signal strength received at the SET.
+     *
+     * @param[in] aRxStrength AP signal strength received at the SET, range 0..255
+     */    
+    IMPORT_C void SetSignalStrength( const TInt aRxStrength );
+    
+    /**
+     * Retrieves the AP signal strength received at the SET.
+     *
+     * @return AP signal strength received at the SET, range 0..255
+     *            KErrNotFound if the value is undefined.
+     */           
+    IMPORT_C TInt SignalStrength() const;
+    
+public: // from CLbsAreaInfoBase
+
+    /**
+     * Returns the type of area information instance. 
+     *
+     * @return Area type information
+     */
+    virtual TLbsAreaInfoClassType Type();  
+    
+    /**
+     * Validates WLAN information.
+     * This method checks for boundary conditions as well as the mandatory 
+     * attributes. All attributes of this class are mandatory. 
+     * This method is used internally to determine the correctness of 
+     * information provided. Optionally, this method, may also be used by 
+     * client applications to validate their input.
+     * 
+     * @leave KErrArgument If the specified attributes dont meet the boundary
+     * conditions or the mandatory arguments are not specified. 
+     */
+    virtual void ValidateDataL() const;
+    
+protected: // from CLbsAreaInfoBase
+
+    /**
+     * Internalize method to write WLAN information to a stream.
+     */
+    virtual void DoInternaliseL( RReadStream& aStream );
+  
+    /**
+     * Externalize method to read WLAN information from a stream.
+     */      
+    virtual void DoExternaliseL( RWriteStream& aStream ) const;
+    
+private:
+
+    /**
+     * C++ default constructor
+     */
+    CLbsWlanInfo();
+    
+    /**
+     * Copy constructor. Prohibited by default.
+     */    
+    CLbsWlanInfo( CLbsWlanInfo& );  
+    
+    /**
+     * Overloaded assignment operator. Prohibited by default.
+     */    
+    CLbsWlanInfo& operator=( CLbsWlanInfo& );     
+    
+    /**
+     * Symbian 2 phase constructor
+     */        
+    void ConstructL();
+    
+    /**
+     * Symbian 2 phase constructor 
+     */
+    void ConstructL( const TLbsWlanMacAddress& MacAddress,
+                     const TInt aPowRx );
+    
+private: // data
+
+    /**
+     * MAC code
+     */
+    TLbsWlanMacAddress iMacAddress;
+    
+    /** 
+     * Received signal strength
+     */
+    TInt16    iPowRx;
+    
+    };
+
+#endif // LBSWLANINFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationcommon.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Base class for all the class representing
+* location informations.
+*
+*/
+
+
+#include <e32std.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfoBase::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsLocationInfoClassType CLbsLocationInfoBase::Type()
+	{
+	return ELbsAreaInfoUnknownClass;
+	}
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfoBase::~CLbsLocationInfoBase()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocationInfoBase::~CLbsLocationInfoBase()
+	{
+	}
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfoBase::InternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsLocationInfoBase::InternaliseL( RReadStream& aStream )
+    {
+    DoInternaliseL( aStream );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfoBase::ExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsLocationInfoBase::ExternaliseL( RWriteStream& aStream ) const
+    {
+    DoExternaliseL( aStream );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfoBase::CLbsLocationInfoBase()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsLocationInfoBase::CLbsLocationInfoBase()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsAreaInfoBase::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsAreaInfoClassType CLbsAreaInfoBase::Type()
+    {
+	return ELbsAreaInfoUnknownClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsAreaInfoBase::~CLbsAreaInfoBase()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsAreaInfoBase::~CLbsAreaInfoBase()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsAreaInfoBase::~CLbsAreaInfoBase()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsAreaInfoBase::CLbsAreaInfoBase()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsAreaInfoBase::InternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsAreaInfoBase::InternaliseL( RReadStream& aStream )
+    {
+    DoInternaliseL( aStream );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsAreaInfoBase::ExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsAreaInfoBase::ExternaliseL( RWriteStream& aStream )
+    {
+    DoExternaliseL( aStream );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationgsminfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,412 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 class representing a geographical area in terms of 
+* cell information in a GSM PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+
+#include <e32std.h>
+#include <lbs/lbslocationgsminfo.h>
+
+
+// ---------------------------------------------------------------------------
+// CPosGsmCellInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsGsmCellInfo* CLbsGsmCellInfo::NewL()
+    {
+    CLbsGsmCellInfo* self = new( ELeave ) CLbsGsmCellInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsGsmCellInfo* CLbsGsmCellInfo::NewL( const TInt aCountryCode, 
+                                                 const TInt aNetworkCode,
+                                                 const TInt aLocationAreaCode, 
+                                                 const TInt aCellId )
+    {
+    CLbsGsmCellInfo* self = new( ELeave ) CLbsGsmCellInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL( aCountryCode, aNetworkCode, aLocationAreaCode, aCellId );
+    CleanupStack::Pop();
+    return self;
+    }
+
+EXPORT_C  CLbsGsmCellInfo* CLbsGsmCellInfo::NewL( const CLbsGsmCellInfo& aPositionInfo )
+	{
+	CLbsGsmCellInfo* self = CLbsGsmCellInfo::NewL(aPositionInfo.iMCC,aPositionInfo.iMNC,aPositionInfo.iLAC,aPositionInfo.iCid);
+	
+	self->iRxLev 				=  aPositionInfo.iRxLev;
+	self->iTA  					= aPositionInfo.iTA;
+	self->iDataValidationMask	= aPositionInfo.iDataValidationMask;
+
+    RLbsGsmNeighbourCellInfoArray neighbourCellInfoArray;
+    aPositionInfo.GetNeighbouringCellInfoL(neighbourCellInfoArray);
+    
+	for (TInt i=0; i < neighbourCellInfoArray.Count(); i++)
+		{
+		TLbsGsmNeighbourCellInfo neighbourCellInfo = neighbourCellInfoArray[i];
+		self->AddNeighbouringCellInfoL(&neighbourCellInfo);
+		}
+	neighbourCellInfoArray.Close();
+
+	return self;  
+    
+	}
+    
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::~CLbsGsmCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsGsmCellInfo::~CLbsGsmCellInfo()
+    {
+    ResetNeighbouringCellInfo();
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetMobileCountryCodeL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetMobileCountryCode( const TInt aCountryCode )
+    {
+    iMCC = aCountryCode;
+    iDataValidationMask |= EGsmMCC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::MobileCountryCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsGsmCellInfo::MobileCountryCode() const
+    {
+    return iMCC;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetMobileNetworkCodeL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetMobileNetworkCode( const TInt aNetworkCode )
+    {
+    iMNC = aNetworkCode;
+    iDataValidationMask |= EGsmMNC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::MobileNetworkCodeL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsGsmCellInfo::MobileNetworkCode() const
+    {
+    return iMNC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetLocationAreaCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetLocationAreaCode( const TInt aLocationAreaCode )
+    {
+    iLAC = aLocationAreaCode;
+    iDataValidationMask |= EGsmLAC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::LocationAreaCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsGsmCellInfo::LocationAreaCode() const
+    {
+    return iLAC;
+    }
+        
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetCellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetCellId( const TInt aCellId )
+    {
+    iCid = aCellId;
+    iDataValidationMask |= EGsmCI;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::CellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsGsmCellInfo::CellId() const
+    {
+    return iCid;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetSetRxLevel()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetRxLevel( const TInt aRxLev )
+    {
+    iRxLev = aRxLev;
+    iDataValidationMask |= EGsmRx;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::RxLevel()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsGsmCellInfo::RxLevel() const
+    {
+    return iRxLev;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetTimingAdvance()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::SetTimingAdvance( const TInt aTimingAdvance )
+    {
+    iTA = aTimingAdvance;
+    iDataValidationMask |= EGsmTA;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::TimingAdvance()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+// 
+EXPORT_C TInt CLbsGsmCellInfo::TimingAdvance() const
+    {
+    return iTA;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::SetNeighbouringCellInfoList()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::AddNeighbouringCellInfoL( 
+                                                 TLbsGsmNeighbourCellInfo*
+                                                 aNeighbourCellInfo )
+    {
+    if( !aNeighbourCellInfo  )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    TLbsGsmNeighbourCellInfo neighbourCellInfo;
+    neighbourCellInfo.SetArfcn( aNeighbourCellInfo->Arfcn() );
+    neighbourCellInfo.SetBsic( aNeighbourCellInfo->Bsic() );
+    neighbourCellInfo.SetRxLevel( aNeighbourCellInfo->RxLevel() );
+    
+    iNeighbourCellInfo.Append( neighbourCellInfo );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::GetNeighbouringCellInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::GetNeighbouringCellInfoL( 
+                                        RLbsGsmNeighbourCellInfoArray&
+                                        aNeighbourCellInfo ) const
+    {
+    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
+        {
+        aNeighbourCellInfo.AppendL( iNeighbourCellInfo[i] );
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::ResetNeighbouringCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsGsmCellInfo::ResetNeighbouringCellInfo()
+    {
+    iNeighbourCellInfo.Reset();
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+TLbsAreaInfoClassType CLbsGsmCellInfo::Type()
+    {
+    return ELbsAreaGsmCellInfoClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::DoInternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsGsmCellInfo::DoInternaliseL( RReadStream& aStream )
+    {
+    iMCC = aStream.ReadInt16L();
+    iMNC = aStream.ReadInt16L();
+    iLAC = aStream.ReadInt32L();
+    iCid = aStream.ReadInt32L();
+    iRxLev = aStream.ReadInt8L();
+    iTA = aStream.ReadInt16L();
+    TInt count = aStream.ReadInt8L();
+    for( TInt i = 0;i < count;i++ )
+        {
+        TLbsGsmNeighbourCellInfo cellInfo;
+        cellInfo.SetArfcn( aStream.ReadInt16L() );
+        cellInfo.SetBsic( aStream.ReadInt8L() );
+        cellInfo.SetRxLevel( aStream.ReadInt8L() );
+        iNeighbourCellInfo.AppendL( cellInfo );
+        }   
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::DoExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsGsmCellInfo::DoExternaliseL( RWriteStream& aStream ) const
+    {
+    aStream.WriteInt16L( iMCC );
+    aStream.WriteInt16L( iMNC );
+    aStream.WriteInt32L( iLAC );
+    aStream.WriteInt32L( iCid );
+    aStream.WriteInt8L( iRxLev );
+    aStream.WriteInt16L( iTA );
+    TInt count = iNeighbourCellInfo.Count();
+    aStream.WriteInt8L( count );
+    for( TInt i = 0;i < count;i++ )
+        {
+        aStream.WriteInt16L( iNeighbourCellInfo[i].Arfcn() );
+        aStream.WriteInt8L( iNeighbourCellInfo[i].Bsic() );
+        aStream.WriteInt8L( iNeighbourCellInfo[i].RxLevel() );
+        }   
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::ValidateAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsGsmCellInfo::ValidateDataL() const
+    {
+    // The following condition is to check the hierarchy of data values specified 
+    if( ( iMCC < 0 || iMCC > 999 ) || ( iMNC < 0 && iLAC > -1 ) || 
+        ( iLAC < 0 && iCid > -1 ) || ( iCid < 0 && iTA > -1 ) || 
+        ( iCid < 0 && iRxLev > -1 ) ||
+        ( iCid < 0 && iNeighbourCellInfo.Count() ) )
+        User::Leave( KErrArgument );
+
+    // Check for range values if they are set specifically by clients
+    if( iDataValidationMask & EGsmMNC )
+        {
+        if( iMNC < 0 || iMNC > 999 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EGsmLAC )
+        {
+        if( iLAC < 0 || iLAC > 65535 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EGsmCI )
+        {
+        if( iCid < 0 || iCid > 65535 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EGsmRx )
+        {
+        if( iRxLev < 0 || iRxLev > 63 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EGsmTA )
+        {
+        if( iTA < 0 || iTA > 255 )
+            User::Leave( KErrArgument );
+        }
+    
+    // Check neighbouring cell information
+    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
+        {
+        if( iNeighbourCellInfo[i].Arfcn() < 0 || iNeighbourCellInfo[i].Arfcn() > 1023 ||
+            iNeighbourCellInfo[i].Bsic() < 0  || iNeighbourCellInfo[i].Bsic() > 63 ||
+            iNeighbourCellInfo[i].RxLevel() < 0 || iNeighbourCellInfo[i].RxLevel() > 63 )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::CLbsGsmCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsGsmCellInfo::CLbsGsmCellInfo()
+    {
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::CLbsGsmCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsGsmCellInfo::ConstructL()
+    {
+    iMCC = -1;
+    iMNC = -1;
+    iLAC = -1;
+    iCid = -1;
+    iRxLev = -1;
+    iTA = -1;
+    iDataValidationMask = EGsmDataNull;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsGsmCellInfo::CLbsGsmCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsGsmCellInfo::ConstructL( const TInt aCountryCode, const TInt aNetworkCode,
+                                  const TInt aLocationAreaCode, const TInt aCellId )
+    {
+    SetMobileCountryCode( aCountryCode );
+    SetMobileNetworkCode( aNetworkCode );
+    SetLocationAreaCode( aLocationAreaCode );
+    SetCellId( aCellId );
+    iRxLev = -1;
+    iTA = -1;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationgsmneighbourinfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a neighbouring cell
+* information in a GSM PLMN. 
+*
+*/
+
+
+#include <lbs/lbslocationgsmneighbourinfo.h>
+
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
+    {
+    iARFCN = -1;
+    iBSIC = -1;
+    iRxLev = -1;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo( const TInt aARFCN,
+                                                             const TInt aBSIC,
+                                                             const TInt aRxLev )
+    {
+    iARFCN = aARFCN;
+    iBSIC = aBSIC;
+    iRxLev = aRxLev;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::SetArfcn()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void TLbsGsmNeighbourCellInfo::SetArfcn( const TInt aARFCN )
+    {
+    iARFCN = aARFCN;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::TLbsGsmNeighbourCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C TInt TLbsGsmNeighbourCellInfo::Arfcn() const
+    {
+    return iARFCN;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::SetBsic()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void TLbsGsmNeighbourCellInfo::SetBsic( const TInt aBSIC )
+    {
+    iBSIC = aBSIC;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::Bsic()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TLbsGsmNeighbourCellInfo::Bsic() const
+    {
+    return iBSIC;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::SetRxLevel()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void TLbsGsmNeighbourCellInfo::SetRxLevel( const TInt aRxLev )
+    {
+    iRxLev = aRxLev;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsGsmNeighbourCellInfo::RxLevel()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//    
+EXPORT_C TInt TLbsGsmNeighbourCellInfo::RxLevel() const
+    {
+    return iRxLev;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationinfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,290 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Container class representing geographical area information as a
+* collection of GSM/WCDMA cell information and WLAN MAC IDs.
+*
+*/
+
+
+#include <e32std.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationinfo.h>
+
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocationInfo* CLbsLocationInfo::NewL()
+    {
+    CLbsLocationInfo* self = new( ELeave ) CLbsLocationInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::NewLC()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocationInfo* CLbsLocationInfo::NewLC()
+    {
+    CLbsLocationInfo* self = new( ELeave ) CLbsLocationInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;  
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::~CLbsLocationInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsLocationInfo::~CLbsLocationInfo()
+    {
+    iAreaInfoArray.ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::AddAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsLocationInfo::AddAreaInfoL( CLbsAreaInfoBase* 
+                                              aAreaInfo )
+    {
+    if( !aAreaInfo )
+        {
+        User::Leave( KErrArgument );
+        }
+    iAreaInfoArray.AppendL( aAreaInfo );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::GetAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsLocationInfo::GetAreaInfoL( RLbsAreaInfoBaseArray& aAreaInfoArray, 
+                                             TAreaInfoMask aAreaInfoMask )
+    {
+	
+    for( TInt i = 0; i < iAreaInfoArray.Count(); i++ )
+        {
+        switch( iAreaInfoArray[i]->Type() )
+            {
+            case ELbsAreaPositionInfoClass:
+                if( aAreaInfoMask & ELbsPosInfo )
+                    {
+					// an object that is a copy of the CLbsPositionInfo
+					// object that is owned by the CLbsAreaInfoBase object
+					// is created. Note, ownership of this is passed to
+					// the caller of GetAreaInfo so the caller needs to do
+					// a ResetAndDestroy on the array to clean up.
+		                
+  					CLbsPositionInfo* posInfo = static_cast<CLbsPositionInfo*>( iAreaInfoArray[i] );
+			           
+					CLbsPositionInfo* copyOfPosInfo = CLbsPositionInfo::NewL(*posInfo);
+				    CleanupStack::PushL(copyOfPosInfo );
+					aAreaInfoArray.AppendL(copyOfPosInfo);
+					CleanupStack::Pop(copyOfPosInfo);    // ownership transferred to instance of CLbsLocationInfo
+					  
+	                }
+                break;
+                
+            case ELbsAreaGsmCellInfoClass:
+                if( aAreaInfoMask & ELbsGsmInfo )
+                    {
+					CLbsGsmCellInfo* cellInfo = static_cast<CLbsGsmCellInfo*>( iAreaInfoArray[i]);
+					CLbsGsmCellInfo* copyOfGsmCellInfo = CLbsGsmCellInfo::NewL(*cellInfo);
+				    CleanupStack::PushL(copyOfGsmCellInfo );
+					aAreaInfoArray.AppendL( copyOfGsmCellInfo );
+					CleanupStack::Pop(copyOfGsmCellInfo);    // ownership transferred to instance of CLbsLocationInfo
+
+                    }
+                break;
+                
+            case ELbsAreaWcmdaCellInfoClass:
+                if( aAreaInfoMask & ELbsWcdmaInfo )
+                    {
+					CLbsWcdmaCellInfo* wcdaCellInfo = static_cast<CLbsWcdmaCellInfo*>( iAreaInfoArray[i]);
+					CLbsWcdmaCellInfo* copyOfWcdaCellInfo = CLbsWcdmaCellInfo::NewL(*wcdaCellInfo);
+				    CleanupStack::PushL(copyOfWcdaCellInfo );
+					aAreaInfoArray.AppendL(copyOfWcdaCellInfo);
+				    CleanupStack::Pop(copyOfWcdaCellInfo ); // ownership transferred to instance of CLbsLocationInfo
+                    }
+                break;
+            
+            case ELbsAreaWlanInfoClass:
+                if( aAreaInfoMask & ELbsWlanInfo )
+                    {
+					CLbsWlanInfo* wlanInfo = static_cast<CLbsWlanInfo*>( iAreaInfoArray[i]);
+					CLbsWlanInfo* copyOfWlanInfo = CLbsWlanInfo::NewL(*wlanInfo);
+				    CleanupStack::PushL(copyOfWlanInfo );
+					aAreaInfoArray.AppendL(copyOfWlanInfo);
+				    CleanupStack::Pop(copyOfWlanInfo ); // ownership transferred to instance of CLbsLocationInfo
+                    }
+                break;
+                
+            default:
+                break;
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::ResetAreaInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsLocationInfo::ResetAreaInfo( TAreaInfoMask aAreaInfoMask  )
+    {
+    // If the mask reflects reset all,then reset and destroy is called on 
+    // areaInfoArray directly
+    if( aAreaInfoMask == ELbsAreaInfoAll )
+        {
+        iAreaInfoArray.ResetAndDestroy();
+        return;
+        }
+    
+    for( TInt i = 0; i < iAreaInfoArray.Count(); i++ )
+        {
+        switch( iAreaInfoArray[i]->Type() )
+            {
+            case ELbsAreaPositionInfoClass:
+                if( aAreaInfoMask & ELbsPosInfo )
+                    {
+                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
+                    iAreaInfoArray.Remove( i );
+                    delete areaInfo;
+                    }
+                break;
+                
+            case ELbsAreaGsmCellInfoClass:
+                if( aAreaInfoMask & ELbsGsmInfo )
+                    {
+                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
+                    iAreaInfoArray.Remove( i );
+                    delete areaInfo;
+                    }
+                break;
+                
+            case ELbsAreaWcmdaCellInfoClass:
+                if( aAreaInfoMask & ELbsWcdmaInfo )
+                    {
+                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
+                    iAreaInfoArray.Remove( i );
+                    delete areaInfo;
+                    }
+                break;
+            
+            case ELbsAreaWlanInfoClass:
+                if( aAreaInfoMask & ELbsWlanInfo )
+                    {
+                    CLbsAreaInfoBase* areaInfo = iAreaInfoArray[i];
+                    iAreaInfoArray.Remove( i );
+                    delete areaInfo;
+                    }
+                break;
+                
+            default:
+                break;
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsLocationInfoClassType CLbsLocationInfo::Type()
+    {
+    return ELbsLocationInfoClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::DoInternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsLocationInfo::DoInternaliseL( RReadStream& aStream )
+    {
+    TInt count = aStream.ReadInt8L();
+    for( TInt i = 0; i < count; i++ )
+        {
+        TLbsAreaInfoClassType type = aStream.ReadUint16L();
+        CLbsAreaInfoBase* area = NULL;
+        if( ELbsAreaPositionInfoClass == type )
+            {
+            area = CLbsPositionInfo::NewL();
+            }
+        if( ELbsAreaGsmCellInfoClass == type )
+            {
+            area = CLbsGsmCellInfo::NewL();
+            }
+        if( ELbsAreaWcmdaCellInfoClass == type )
+            {
+            area = CLbsWcdmaCellInfo::NewL();
+            }
+        if( ELbsAreaWlanInfoClass  == type )
+            {
+            area = CLbsWlanInfo::NewL();
+            }
+        if( area )
+            {
+            area->InternaliseL( aStream );
+            iAreaInfoArray.AppendL( area );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::DoExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsLocationInfo::DoExternaliseL( RWriteStream& aStream ) const
+    {
+    TInt count = iAreaInfoArray.Count();
+    aStream.WriteInt8L( count );
+    for( TInt i = 0; i < count; i++ )
+        {
+        TLbsAreaInfoClassType type = iAreaInfoArray[i]->Type();
+        aStream.WriteUint16L( type );
+        iAreaInfoArray[i]->ExternaliseL( aStream );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::CLbsLocationInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsLocationInfo::CLbsLocationInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsLocationInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsLocationInfo::ConstructL()
+    {
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationposinfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* latitude,longitude,altitude,horizontal accuracy and vertical accuracy.
+*
+*/
+
+
+#include <e32std.h>
+#include <e32math.h>
+#include <lbs/lbslocationposinfo.h>
+
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsPositionInfo* CLbsPositionInfo::NewL()
+    {
+    CLbsPositionInfo* self = new( ELeave ) CLbsPositionInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;  
+    }
+
+EXPORT_C CLbsPositionInfo* CLbsPositionInfo::NewL( const CLbsPositionInfo& aPositionInfo )
+	{
+	TLocality locality;
+	
+	aPositionInfo.GetLocality(locality);
+    CLbsPositionInfo* self = CLbsPositionInfo::NewL( locality );
+    return self;  
+
+	}
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsPositionInfo* CLbsPositionInfo::NewL( const TLocality& aLocality )
+    {
+    CLbsPositionInfo* self = new( ELeave ) CLbsPositionInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL( aLocality );
+    CleanupStack::Pop();
+    return self;  
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::~CLbsPositionInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsPositionInfo::~CLbsPositionInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::SetLocality()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsPositionInfo::SetLocality( 
+                            const TLocality& aLocality )
+    {
+    iLocality = aLocality;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::Locality()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsPositionInfo::GetLocality( TLocality& aLocality ) const
+    {
+    aLocality = iLocality;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+TLbsAreaInfoClassType CLbsPositionInfo::Type()
+    {
+    return ELbsAreaPositionInfoClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::ValidateAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsPositionInfo::ValidateDataL() const
+    {
+    if( Math::IsNaN( iLocality.Latitude() ) || 
+        Math::IsNaN( iLocality.Longitude() ) ||
+        iLocality.HorizontalAccuracy() < 0.0 ) 
+        {
+        User::Leave( KErrArgument );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::DoInternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsPositionInfo::DoInternaliseL( RReadStream& aStream )
+    {
+    TReal64 latitude = aStream.ReadReal64L();
+    TReal64 longitude = aStream.ReadReal64L();
+    TReal32  altitude = aStream.ReadReal32L();
+    iLocality.SetCoordinate( latitude, longitude, altitude );
+    TInt datum = aStream.ReadInt32L();
+    iLocality.SetDatum( TUid::Uid( datum ) );
+    TReal32 hAccuracy = aStream.ReadReal32L();
+    TReal32 vAccuracy = aStream.ReadReal32L();
+    iLocality.SetAccuracy( hAccuracy, vAccuracy );    
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::DoExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsPositionInfo::DoExternaliseL( RWriteStream& aStream ) const
+    {
+    aStream.WriteReal64L( iLocality.Latitude() );
+    aStream.WriteReal64L( iLocality.Longitude() );
+    aStream.WriteReal32L( iLocality.Altitude() );
+    aStream.WriteInt32L( iLocality.Datum().iUid );
+    aStream.WriteReal32L( iLocality.HorizontalAccuracy() );
+    aStream.WriteReal32L( iLocality.VerticalAccuracy() );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::CLbsPositionInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsPositionInfo::CLbsPositionInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsPositionInfo::ConstructL()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsPositionInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsPositionInfo::ConstructL( const TLocality& aLocality )
+    {
+    SetLocality( aLocality );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwcdmainfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,386 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* cell information in a WCDMA PLMN. This class may also optionally contain
+* neighbouring cell information
+*
+*/
+
+
+#include <e32std.h>
+#include <lbs/lbslocationwcdmainfo.h>
+
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWcdmaCellInfo* CLbsWcdmaCellInfo::NewL()
+    {
+    CLbsWcdmaCellInfo* self = new( ELeave ) CLbsWcdmaCellInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;    
+    }
+  
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWcdmaCellInfo* CLbsWcdmaCellInfo::NewL( const TInt aCountryCode,
+                                               const TInt aNetworkCode,
+                                               const TInt aUniqueCellId )
+    {
+    CLbsWcdmaCellInfo* self = new( ELeave ) CLbsWcdmaCellInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL( aCountryCode, aNetworkCode, aUniqueCellId );
+    CleanupStack::Pop();
+    return self;    
+    }
+
+EXPORT_C  CLbsWcdmaCellInfo* CLbsWcdmaCellInfo::NewL( const CLbsWcdmaCellInfo& aPositionInfo )
+	{
+	
+	CLbsWcdmaCellInfo* self = CLbsWcdmaCellInfo::NewL( aPositionInfo.iMCC,aPositionInfo.iMNC,aPositionInfo.iUCid);
+	self->iSCode = aPositionInfo.iSCode;
+	
+	RLbsWcdmaNeighbourCellInfoArray  neighbourCellInfoArray;
+	aPositionInfo.GetNeighbouringCellInfoL(neighbourCellInfoArray);
+		
+	for (TInt i=0; i < neighbourCellInfoArray.Count(); i++)
+		{
+		TLbsWcdmaNeighbourCellInfo neighbourCellInfo = neighbourCellInfoArray[i];
+		self->AddNeighbouringCellInfoL(&neighbourCellInfo);
+		}
+		
+	self->iDataValidationMask = aPositionInfo.iDataValidationMask;
+		
+	neighbourCellInfoArray.Close();
+
+	return self;  
+	}
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWcdmaCellInfo::~CLbsWcdmaCellInfo()
+    {
+    ResetNeighbouringCellInfo();
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetMobileCountryCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::SetMobileCountryCode( const TInt aCountryCode )
+    {
+    iMCC = aCountryCode;
+    iDataValidationMask |= EWcdmaMCC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::MobileCountryCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWcdmaCellInfo::MobileCountryCode() const
+    {
+    return iMCC;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetMobileNetworkCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::SetMobileNetworkCode( const TInt aNetworkCode )
+    {
+    iMNC = aNetworkCode;
+    iDataValidationMask |= EWcdmaMNC;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::MobileNetworkCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWcdmaCellInfo::MobileNetworkCode() const
+    {
+    return iMNC;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetUniqueCellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::SetUniqueCellId( const TInt aUniqueCellId )
+    {
+    iUCid = aUniqueCellId;
+    iDataValidationMask |= EWcdmaUCid;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::UniqueCellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWcdmaCellInfo::UniqueCellId() const
+    {
+    return iUCid;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetScramblingCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::SetScramblingCode( const TInt aScramblingCode )
+    {
+    iSCode = aScramblingCode;
+    iDataValidationMask |= EWcdmaSC;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::ScramblingCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWcdmaCellInfo::ScramblingCode() const
+    {
+    return iSCode;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetSignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::SetSignalStrength( const TInt aRssi )
+    {
+    iRssi = aRssi;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWcdmaCellInfo::SignalStrength() const 
+    {
+    return iRssi;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::AddNeighbouringCellInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::AddNeighbouringCellInfoL(
+                                                TLbsWcdmaNeighbourCellInfo* 
+                                                aNeighbourCellInfo )
+    {
+    if( !aNeighbourCellInfo )
+        {
+        User::Leave( KErrArgument ); 
+        }
+    TLbsWcdmaNeighbourCellInfo wcdmaNeighbourCellInfo;
+    wcdmaNeighbourCellInfo.SetUniqueCellId( aNeighbourCellInfo->UniqueCellId());
+    wcdmaNeighbourCellInfo.SetScramblingCode( aNeighbourCellInfo->ScramblingCode() );
+    wcdmaNeighbourCellInfo.SetSignalStrength( aNeighbourCellInfo->SignalStrength() );
+    wcdmaNeighbourCellInfo.SetPathloss( aNeighbourCellInfo->Pathloss() );
+    iNeighbourCellInfo.AppendL( wcdmaNeighbourCellInfo );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::SetNeighbouringCellInfoList()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::GetNeighbouringCellInfoL( 
+                                       RLbsWcdmaNeighbourCellInfoArray& 
+                                       aNeighbourCellInfoList ) const
+    {
+    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
+        {
+        aNeighbourCellInfoList.AppendL( iNeighbourCellInfo[i] );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::ResetNeighbouringCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWcdmaCellInfo::ResetNeighbouringCellInfo()
+    {
+    iNeighbourCellInfo.Reset();
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+TLbsAreaInfoClassType CLbsWcdmaCellInfo::Type()
+    {
+    return ELbsAreaWcmdaCellInfoClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::DoInternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWcdmaCellInfo::DoInternaliseL( RReadStream& aStream )
+    {
+    iMCC = aStream.ReadInt16L();
+    iMNC = aStream.ReadInt16L();
+    iUCid = aStream.ReadInt32L();
+    iSCode = aStream.ReadInt16L();
+    iRssi  = aStream.ReadInt16L();
+    
+    TInt count = aStream.ReadInt16L();
+    for( TInt i = 0; i < count; i++ )
+        {
+        TLbsWcdmaNeighbourCellInfo cellInfo;
+        cellInfo.SetUniqueCellId( aStream.ReadInt32L() );
+        cellInfo.SetScramblingCode( aStream.ReadInt16L() );
+        cellInfo.SetPathloss( aStream.ReadInt16L() );
+        cellInfo.SetSignalStrength( aStream.ReadInt16L() );
+        iNeighbourCellInfo.Append( cellInfo );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::DoExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWcdmaCellInfo::DoExternaliseL( RWriteStream& aStream )const
+    {
+    aStream.WriteInt16L( iMCC );
+    aStream.WriteInt16L( iMNC );
+    aStream.WriteInt32L( iUCid );
+    aStream.WriteInt16L( iSCode );
+    aStream.WriteInt16L( iRssi );
+    
+    TInt count = iNeighbourCellInfo.Count();
+    aStream.WriteInt16L( count );
+    for( TInt i = 0; i < count; i++ )
+        {
+        aStream.WriteInt32L( iNeighbourCellInfo[i].UniqueCellId() );
+        aStream.WriteInt16L( iNeighbourCellInfo[i].ScramblingCode() );
+        aStream.WriteInt16L( iNeighbourCellInfo[i].Pathloss() );
+        aStream.WriteInt16L( iNeighbourCellInfo[i].SignalStrength() );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::ValidateAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWcdmaCellInfo::ValidateDataL() const
+    {
+    // The following condition is to check the hierarchy of data values specified 
+    if( ( iMCC < 0 || iMCC > 999 ) || 
+        ( iMNC < 0 && iUCid > -1 ) || 
+        ( iUCid < 0 && iSCode > -1 ) || 
+        ( iUCid < 0 && iRssi > -1 ) ||
+        ( iUCid < 0 && iNeighbourCellInfo.Count() ) )
+        User::Leave( KErrArgument );
+    
+    // Check for range values if they are set specifically by clients
+    if( iDataValidationMask & EWcdmaMNC )
+        {
+        if( iMNC < 0 || iMNC > 999 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EWcdmaUCid )
+        {
+        if( iUCid < 0 || iUCid > 268435455 )
+            User::Leave( KErrArgument );
+        }
+    if( iDataValidationMask & EWcdmaSC )
+        {
+        if( iSCode < 0 || iSCode > 511 )
+            User::Leave( KErrArgument );
+        }
+    if ( iDataValidationMask & EWcdmaRSSI )
+        {
+        if( iRssi < 0 || iRssi > 127 )
+            User::Leave( KErrArgument );
+        }
+    
+    for( TInt i = 0; i < iNeighbourCellInfo.Count(); i++ )
+        {
+        if( iNeighbourCellInfo[i].UniqueCellId() < 0 || 
+                iNeighbourCellInfo[i].UniqueCellId() > 268435455 ||
+                iNeighbourCellInfo[i].ScramblingCode() < 0  || 
+                iNeighbourCellInfo[i].ScramblingCode() > 511 ||
+                iNeighbourCellInfo[i].Pathloss() < 46 || 
+                iNeighbourCellInfo[i].Pathloss() > 173 ||
+                iNeighbourCellInfo[i].SignalStrength() < 0 || 
+                iNeighbourCellInfo[i].SignalStrength() > 127 )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::CLbsWcdmaCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsWcdmaCellInfo::CLbsWcdmaCellInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWcdmaCellInfo::ConstructL()
+    {
+    iMCC = -1;
+    iMNC = -1;
+    iUCid = -1;
+    iSCode = -1;
+    iRssi  = -1;
+    iDataValidationMask = EWcdmaDataNull;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWcdmaCellInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWcdmaCellInfo::ConstructL( const TInt aCountryCode, 
+                                    const TInt aNetworkCode,
+                                    const TInt aUniqueCellId )
+    {
+    SetMobileCountryCode( aCountryCode );
+    SetMobileNetworkCode( aNetworkCode );
+    SetUniqueCellId( aUniqueCellId );
+    iSCode = -1;
+    iRssi  = -1;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwcdmaneighbourinfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a neighbouring cell
+* information in a WCDMA PLMN. 
+*
+*/
+
+
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
+    {
+    iUniqueCellId = -1;
+    iScramblingCode = -1;
+    iPathloss = -1;
+    iRssi = -1;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TLbsWcdmaNeighbourCellInfo::TLbsWcdmaNeighbourCellInfo( const TInt aUCid,
+                                                                 const TInt aSCode,
+                                                                 const TInt aPathloss,
+                                                                 const TInt aRssi )
+    {
+    iUniqueCellId = aUCid;
+    iScramblingCode = aSCode;
+    iPathloss = aPathloss;
+    iRssi = aRssi;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::SetUniqueCellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetUniqueCellId( const TInt aUniqueCellId )
+    {
+    iUniqueCellId = aUniqueCellId;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::UniqueCellId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::UniqueCellId() const
+    {
+    return iUniqueCellId;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::SetScramblingCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetScramblingCode( 
+                                          const TInt aScramblingCode )
+    {
+    iScramblingCode = aScramblingCode;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::ScramblingCode()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::ScramblingCode() const 
+    {
+    return iScramblingCode;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::SetPathloss()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetPathloss( const TInt aPathloss )
+    {
+    iPathloss = aPathloss;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::Pathloss()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::Pathloss() const 
+    {
+    return iPathloss;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::SetSignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void TLbsWcdmaNeighbourCellInfo::SetSignalStrength( const TInt aRssi )
+    {
+    iRssi = aRssi;
+    }
+
+// ---------------------------------------------------------------------------
+// TLbsWcdmaNeighbourCellInfo::SignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TLbsWcdmaNeighbourCellInfo::SignalStrength() const 
+    {
+    return iRssi;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/src/lbslocationwlaninfo.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,198 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data class representing a geographical area in terms of 
+* WLAN MAC ID. 
+*
+*/
+
+
+#include <e32std.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWlanInfo* CLbsWlanInfo::NewL()
+    {
+    CLbsWlanInfo* self = new( ELeave ) CLbsWlanInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::~CLbsWlanInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C  CLbsWlanInfo* CLbsWlanInfo::NewL( const CLbsWlanInfo& aPositionInfo)
+	{
+
+	TLbsWlanMacAddress macAddress;
+	aPositionInfo.GetMacAddress(macAddress);
+	TInt16 powRx = aPositionInfo.SignalStrength();
+
+	CLbsWlanInfo* self = CLbsWlanInfo::NewL( macAddress, powRx);
+
+	return self;  
+	}
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::NewL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWlanInfo* CLbsWlanInfo::NewL( const TLbsWlanMacAddress& MacAddress,
+                                           const TInt aPowRx )
+    {
+    CLbsWlanInfo* self = new( ELeave ) CLbsWlanInfo;
+    CleanupStack::PushL( self );
+    self->ConstructL( MacAddress, aPowRx );
+    CleanupStack::Pop();
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::~CLbsWlanInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbsWlanInfo::~CLbsWlanInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::SetMacId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWlanInfo::SetMacAddress( const TDesC8& aMacAddress  )
+    {
+    iMacAddress = aMacAddress;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::MacId()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWlanInfo::GetMacAddress(TDes8& aMacAddress ) const
+    {
+    aMacAddress = iMacAddress;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::SetSignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbsWlanInfo::SetSignalStrength( const TInt aPowRx )
+    {
+    iPowRx = aPowRx;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::SignalStrength()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CLbsWlanInfo::SignalStrength() const
+    {
+    return iPowRx;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::Type()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+TLbsAreaInfoClassType CLbsWlanInfo::Type()
+    {
+    return ELbsAreaWlanInfoClass;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::DoInternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWlanInfo::DoInternaliseL( RReadStream& aStream )
+    {
+    TInt len = aStream.ReadInt32L();
+    aStream.ReadL( iMacAddress, len );
+    iPowRx = aStream.ReadInt16L();
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::DoExternaliseL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWlanInfo::DoExternaliseL( RWriteStream& aStream )const
+    {
+    TInt len = iMacAddress.Length();
+    aStream.WriteInt32L( len );
+    aStream.WriteL( iMacAddress,len );
+    aStream.WriteInt16L( iPowRx );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::ValidateAreaInfoL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWlanInfo::ValidateDataL() const
+    {
+    if( !iMacAddress.Length() )
+        User::Leave( KErrArgument );
+        
+    if( iPowRx < 0 || iPowRx > 255 ) 
+        User::Leave( KErrArgument );
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::CLbsWlanInfo()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+CLbsWlanInfo::CLbsWlanInfo()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWlanInfo::ConstructL()
+    {
+    iMacAddress.FillZ();
+    iPowRx = -1;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbsWlanInfo::ConstructL()
+// other items were commented in the header
+// ---------------------------------------------------------------------------
+//
+void CLbsWlanInfo::ConstructL( const TLbsWlanMacAddress& MacAddress,
+                               const TInt aPowRx )
+    {
+    SetMacAddress( MacAddress );
+    SetSignalStrength( aPowRx );
+    }
Binary file locationmgmt/locmonitor/lbslocmonitorapis/cenrep/20026814.txt has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter.confml has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter_20026814.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/annotated.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_conversion_handler-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocInfoConversionHandler Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>DoCancel</b>() (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EGetBuffersizeForMultipleArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EGetBuffersizeForSingleArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EGetMultipleConvertedArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EGetSingleConvertedArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#afd8cb1555d5a5aa825caa2dc2e4723fe">NewL</a>(RLbsLocInfoConverter &amp;aLocInfoConverter)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a8bd0d92f4520803ce4bd88b510f9b288">ReleaseAllResources</a>()</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>RunL</b>() (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a7a5eceb6edcd80ad29cc535781358fe6">SetBuffer</a>(CBufFlat *aBuffer)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a631cba9bc4beaeee124381eaf3b51b22">SetClientLocationInfo</a>(CLbsLocationInfoBase &amp;aLocationInfo)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2447c239a4d874f4129110d7e9bf744b">SetClientLocationInfoArray</a>(RLbsLocationInfoBaseArray *aLocationInfoArray)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2ec6632d74675bfb17b8dbeca92e385f">SetClientRequestedInfo</a>(TLbsConversionOutputInfoMask aRequestedInfo)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#ad9f397eb619af1561fdd678efc5ee27c">SetStatus</a>(TRequestStatus &amp;aStatus)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a98c6643d27b542ec8feb758d2dc0f955">Start</a>(TAyncRequestType aType)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TAyncRequestType</b> enum name (defined in <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>)</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a39c27f20318ed964e7a7c0b83f093310">~CLbsLocInfoConversionHandler</a>()</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_conversion_handler.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,240 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocInfoConversionHandler Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocInfoConversionHandler Class Reference</h1><!-- doxytag: class="CLbsLocInfoConversionHandler" -->
+<p><code>#include &lt;<a class="el" href="clbslocinfoconversionhandler_8h_source.html">clbslocinfoconversionhandler.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_loc_info_conversion_handler-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>TAyncRequestType</b> { <b>EGetBuffersizeForSingleArea</b>, 
+<b>EGetSingleConvertedArea</b>, 
+<b>EGetBuffersizeForMultipleArea</b>, 
+<b>EGetMultipleConvertedArea</b>
+ }</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a39c27f20318ed964e7a7c0b83f093310">~CLbsLocInfoConversionHandler</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a98c6643d27b542ec8feb758d2dc0f955">Start</a> (TAyncRequestType aType)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a7a5eceb6edcd80ad29cc535781358fe6">SetBuffer</a> (CBufFlat *aBuffer)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#ad9f397eb619af1561fdd678efc5ee27c">SetStatus</a> (TRequestStatus &amp;aStatus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2ec6632d74675bfb17b8dbeca92e385f">SetClientRequestedInfo</a> (<a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2447c239a4d874f4129110d7e9bf744b">SetClientLocationInfoArray</a> (RLbsLocationInfoBaseArray *aLocationInfoArray)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a631cba9bc4beaeee124381eaf3b51b22">SetClientLocationInfo</a> (CLbsLocationInfoBase &amp;aLocationInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a8bd0d92f4520803ce4bd88b510f9b288">ReleaseAllResources</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html#afd8cb1555d5a5aa825caa2dc2e4723fe">NewL</a> (<a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a> &amp;aLocInfoConverter)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bbdf1b80b635cbc1f1b0ef4bc6ddbb2"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::RunL" ref="a8bbdf1b80b635cbc1f1b0ef4bc6ddbb2" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>RunL</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a094500d513aa871ab00d9b268708a7de"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::DoCancel" ref="a094500d513aa871ab00d9b268708a7de" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DoCancel</b> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Class waits for location information completion event and notifies the observer on completion. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a39c27f20318ed964e7a7c0b83f093310"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::~CLbsLocInfoConversionHandler" ref="a39c27f20318ed964e7a7c0b83f093310" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">CLbsLocInfoConversionHandler::~CLbsLocInfoConversionHandler </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="afd8cb1555d5a5aa825caa2dc2e4723fe"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::NewL" ref="afd8cb1555d5a5aa825caa2dc2e4723fe" args="(RLbsLocInfoConverter &amp;aLocInfoConverter)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a> * CLbsLocInfoConversionHandler::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocInfoConverter</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a> object </p>
+
+</div>
+</div>
+<a class="anchor" id="a8bd0d92f4520803ce4bd88b510f9b288"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::ReleaseAllResources" ref="a8bd0d92f4520803ce4bd88b510f9b288" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::ReleaseAllResources </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Releases all the resources used by earlier request. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7a5eceb6edcd80ad29cc535781358fe6"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::SetBuffer" ref="a7a5eceb6edcd80ad29cc535781358fe6" args="(CBufFlat *aBuffer)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::SetBuffer </td>
+          <td>(</td>
+          <td class="paramtype">CBufFlat *&nbsp;</td>
+          <td class="paramname"> <em>aBuffer</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Adds the buffer into the object. </p>
+
+</div>
+</div>
+<a class="anchor" id="a631cba9bc4beaeee124381eaf3b51b22"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::SetClientLocationInfo" ref="a631cba9bc4beaeee124381eaf3b51b22" args="(CLbsLocationInfoBase &amp;aLocationInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::SetClientLocationInfo </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets client's location info object. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2447c239a4d874f4129110d7e9bf744b"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::SetClientLocationInfoArray" ref="a2447c239a4d874f4129110d7e9bf744b" args="(RLbsLocationInfoBaseArray *aLocationInfoArray)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::SetClientLocationInfoArray </td>
+          <td>(</td>
+          <td class="paramtype">RLbsLocationInfoBaseArray *&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfoArray</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets client's location info array. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2ec6632d74675bfb17b8dbeca92e385f"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::SetClientRequestedInfo" ref="a2ec6632d74675bfb17b8dbeca92e385f" args="(TLbsConversionOutputInfoMask aRequestedInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::SetClientRequestedInfo </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Adds client specified requested info. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad9f397eb619af1561fdd678efc5ee27c"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::SetStatus" ref="ad9f397eb619af1561fdd678efc5ee27c" args="(TRequestStatus &amp;aStatus)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::SetStatus </td>
+          <td>(</td>
+          <td class="paramtype">TRequestStatus &amp;&nbsp;</td>
+          <td class="paramname"> <em>aStatus</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Stores the client's status. </p>
+
+</div>
+</div>
+<a class="anchor" id="a98c6643d27b542ec8feb758d2dc0f955"></a><!-- doxytag: member="CLbsLocInfoConversionHandler::Start" ref="a98c6643d27b542ec8feb758d2dc0f955" args="(TAyncRequestType aType)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocInfoConversionHandler::Start </td>
+          <td>(</td>
+          <td class="paramtype">TAyncRequestType&nbsp;</td>
+          <td class="paramname"> <em>aType</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Starts the asyncronous operation by setting the iStatus to active. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="clbslocinfoconversionhandler_8h_source.html">clbslocinfoconversionhandler.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocinfoconversionhandler.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_converter_plugin_base-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocInfoConverterPluginBase Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7e1b55752c5c35fe9c4853ecdd4dbd87">CancelConvertLocationInfo</a>()=0</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#ac586192b3ac33450c7d2254382468681">CancelValidateClient</a>()=0</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a389fb993c8bdf0f45960c6e3faa46683">ConversionPluginPreferences</a>(TLbsConversionPluginInfo &amp;aPluginInfo)=0</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">ConvertLocationInfoL</a>(RLbsLocationInfoArray &amp;aLocationInfoArray, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)=0</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#abd1623c4637aeef0553039eca650dce8">ExtendedInterface</a>(TInt aFunctionNumber, TAny *aPtr1, TAny *aPtr2)</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">NewL</a>(TUid aImplementationUid, TLbsLocInfoConverterPluginParams &amp;aParams)</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">ValidateClient</a>(const TSecureId &amp;aSecureId, const TVendorId &amp;aVendorId, const TLbsConversionOutputInfoMask aRequestedInfo)=0</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a07c4a46bbd12e99ec81ca838c94b2e93">Version</a>() const </td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a23ef537586fdf199425c1a640cfa7e7d">~CLbsLocInfoConverterPluginBase</a>()</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_info_converter_plugin_base.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocInfoConverterPluginBase Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocInfoConverterPluginBase Class Reference</h1><!-- doxytag: class="CLbsLocInfoConverterPluginBase" -->
+<p><code>#include &lt;<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_loc_info_converter_plugin_base-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a23ef537586fdf199425c1a640cfa7e7d">~CLbsLocInfoConverterPluginBase</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C TVersion&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a07c4a46bbd12e99ec81ca838c94b2e93">Version</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">ValidateClient</a> (const TSecureId &amp;aSecureId, const TVendorId &amp;aVendorId, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#ac586192b3ac33450c7d2254382468681">CancelValidateClient</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">ConvertLocationInfoL</a> (RLbsLocationInfoArray &amp;aLocationInfoArray, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7e1b55752c5c35fe9c4853ecdd4dbd87">CancelConvertLocationInfo</a> ()=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a389fb993c8bdf0f45960c6e3faa46683">ConversionPluginPreferences</a> (<a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a> &amp;aPluginInfo)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C TAny *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#abd1623c4637aeef0553039eca650dce8">ExtendedInterface</a> (TInt aFunctionNumber, TAny *aPtr1, TAny *aPtr2)</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">NewL</a> (TUid aImplementationUid, <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a> &amp;aParams)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> is the abstract Ecom interface to a coordinate conversion Plugin. All coordinate conversion Plugins must derive from and implement this interface.</p>
+<p>The interface is used in partnership with <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> and is used by the LBS subsystem to request conversion of location information between different formats.</p>
+<p>Completion of conversions must be indicated by a plugin by invoking callback(s) defined by the <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> class.</p>
+<p>Although all the interface methods in the class are synchronous they must return immediately. When the LBS subsystem makes a request via <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> the Plugin must queue the request internally and return control to the caller immediately. Later on, when plugin provides a response, it uses the corresponding notification method in the <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> class. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a23ef537586fdf199425c1a640cfa7e7d"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase" ref="a23ef537586fdf199425c1a640cfa7e7d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C CLbsLocInfoConverterPluginBase::~CLbsLocInfoConverterPluginBase </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7e1b55752c5c35fe9c4853ecdd4dbd87"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::CancelConvertLocationInfo" ref="a7e1b55752c5c35fe9c4853ecdd4dbd87" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void CLbsLocInfoConverterPluginBase::CancelConvertLocationInfo </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels an ongoing conversion operation. If there is no ongoing conversion the cancellation request is ignored.</p>
+<p>The <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">MLbsLocInfoConverterPluginObserver::OnConversionComplete</a> callback is not invoked. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac586192b3ac33450c7d2254382468681"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::CancelValidateClient" ref="ac586192b3ac33450c7d2254382468681" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void CLbsLocInfoConverterPluginBase::CancelValidateClient </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels an ongoing validation operation. If there is no ongoing validation operation, the cancellation request is ignored.</p>
+<p>The <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">MLbsLocInfoConverterPluginObserver::OnValidationComplete</a> callback is not invoked. </p>
+
+</div>
+</div>
+<a class="anchor" id="a389fb993c8bdf0f45960c6e3faa46683"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::ConversionPluginPreferences" ref="a389fb993c8bdf0f45960c6e3faa46683" args="(TLbsConversionPluginInfo &amp;aPluginInfo)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ConversionPluginPreferences </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aPluginInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This method is used to read the conversion plugin's preferences such as its capability to use wlan/gsm/wcdma/pos information to perform the requested conversion or whether position that it returns after conversion should be retained in the cache. </p>
+
+</div>
+</div>
+<a class="anchor" id="a98c807aaf0183755f5e04e688d63cf6e"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::ConvertLocationInfoL" ref="a98c807aaf0183755f5e04e688d63cf6e" args="(RLbsLocationInfoArray &amp;aLocationInfoArray, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">RLbsLocationInfoArray &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfoArray</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts multiple location information.</p>
+<p>Completion of the conversion is indicated by a Plugin by invoking the <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">MLbsLocInfoConverterPluginObserver::OnConversionComplete</a> callback</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>An array of location information for which corresponding position information is expected. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrNoMemory if there is not enough memory available to perform the conversion. KErrArgument If the location info pointer is NULL. KErrNotSupported if the conversion type specified by aRequestedInfo is not supported. Or any other system wide error code. </p>
+
+</div>
+</div>
+<a class="anchor" id="abd1623c4637aeef0553039eca650dce8"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::ExtendedInterface" ref="abd1623c4637aeef0553039eca650dce8" args="(TInt aFunctionNumber, TAny *aPtr1, TAny *aPtr2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TAny * CLbsLocInfoConverterPluginBase::ExtendedInterface </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aFunctionNumber</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TAny *&nbsp;</td>
+          <td class="paramname"> <em>aPtr1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TAny *&nbsp;</td>
+          <td class="paramname"> <em>aPtr2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This method is reserved for future expansion and should not be used or implemented by derived classes. </p>
+
+</div>
+</div>
+<a class="anchor" id="a20a41c65e7d7f2ba5a11834d1e5af0a8"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::NewL" ref="a20a41c65e7d7f2ba5a11834d1e5af0a8" args="(TUid aImplementationUid, TLbsLocInfoConverterPluginParams &amp;aParams)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> * CLbsLocInfoConverterPluginBase::NewL </td>
+          <td>(</td>
+          <td class="paramtype">TUid&nbsp;</td>
+          <td class="paramname"> <em>aImplementationUid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aParams</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Loads a coordinate conversion Plugin and initalises it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aImplementationUid</em>&nbsp;</td><td>An implementation Uid of the module to be loaded. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aParams</em>&nbsp;</td><td>Arguments sent to conversion plugin.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new coordinate conversion plugin. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7cabd6e422e681f228ce0fdc0bbd09c0"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::ValidateClient" ref="a7cabd6e422e681f228ce0fdc0bbd09c0" args="(const TSecureId &amp;aSecureId, const TVendorId &amp;aVendorId, const TLbsConversionOutputInfoMask aRequestedInfo)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void CLbsLocInfoConverterPluginBase::ValidateClient </td>
+          <td>(</td>
+          <td class="paramtype">const TSecureId &amp;&nbsp;</td>
+          <td class="paramname"> <em>aSecureId</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TVendorId &amp;&nbsp;</td>
+          <td class="paramname"> <em>aVendorId</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Validates a client before a request is processed. This method is called by the Location Monitor Server, everytime, before a conversion request is sent. The result of validation is indicated by the plugin by invoking the <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">MLbsLocInfoConverterPluginObserver::OnValidationComplete</a> callback.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aSecureId</em>&nbsp;</td><td>The secure ID of the client application/process </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aVendorId</em>&nbsp;</td><td>The vendor ID of the client application/process </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>in]</em>&nbsp;</td><td>aRequestedInfo The requested converted information. This bit field would be checked by the plugin to determine if the specified conversion can be supported for the requesting client. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a07c4a46bbd12e99ec81ca838c94b2e93"></a><!-- doxytag: member="CLbsLocInfoConverterPluginBase::Version" ref="a07c4a46bbd12e99ec81ca838c94b2e93" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TVersion CLbsLocInfoConverterPluginBase::Version </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Gets the current version of the interface implemented by a Plugin. Derived classes should not change the implementation.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Version number (currently 1.0.0) </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_monitor_ptr_holder-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocMonitorPtrHolder Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>ConstructL</b>(TInt aNumberOfPtrs, TInt aNumberOfPtrCs) (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EAreaForGetLastKnownPositionArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ELastParam</b> enum value (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EParamsForGetLastKnownPositionArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EPosForGetLastKnownPosition</b> enum value (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>EPosForGetLastKnownPositionArea</b> enum value (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a54fcba527aee2304ac9bf9c4efe05ec6">NewL</a>(TInt aNumberOfPtrs, TInt aNumberOfPtrCs)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#abdc3ea5fb632883d54444e9f51864ab4">Ptr</a>(TInt aIndex)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#ae21cb7e55893df12d6db8971e94206de">PtrC</a>(TInt aIndex)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TParameter</b> enum name (defined in <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>)</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a743a17f5f52cea142a229a7993689481">~CLbsLocMonitorPtrHolder</a>()</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_loc_monitor_ptr_holder.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocMonitorPtrHolder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocMonitorPtrHolder Class Reference</h1><!-- doxytag: class="CLbsLocMonitorPtrHolder" -->
+<p><code>#include &lt;<a class="el" href="clbslocmonitorptrholder_8h_source.html">clbslocmonitorptrholder.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_loc_monitor_ptr_holder-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>TParameter</b> { <br/>
+&nbsp;&nbsp;<b>EPosForGetLastKnownPosition</b> =  0, 
+<b>EPosForGetLastKnownPositionArea</b>, 
+<b>EAreaForGetLastKnownPositionArea</b>, 
+<b>EParamsForGetLastKnownPositionArea</b>, 
+<br/>
+&nbsp;&nbsp;<b>ELastParam</b>
+<br/>
+ }</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a743a17f5f52cea142a229a7993689481">~CLbsLocMonitorPtrHolder</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TPtr8 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#abdc3ea5fb632883d54444e9f51864ab4">Ptr</a> (TInt aIndex)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TPtrC8 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#ae21cb7e55893df12d6db8971e94206de">PtrC</a> (TInt aIndex)</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a54fcba527aee2304ac9bf9c4efe05ec6">NewL</a> (TInt aNumberOfPtrs, TInt aNumberOfPtrCs)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70b3e6e9eb98bec58b1e997b4147ba17"></a><!-- doxytag: member="CLbsLocMonitorPtrHolder::ConstructL" ref="a70b3e6e9eb98bec58b1e997b4147ba17" args="(TInt aNumberOfPtrs, TInt aNumberOfPtrCs)" -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConstructL</b> (TInt aNumberOfPtrs, TInt aNumberOfPtrCs)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Holds the TPtr8 and TPtrC8 arrays for all RPositionServer requests.  </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a743a17f5f52cea142a229a7993689481"></a><!-- doxytag: member="CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder" ref="a743a17f5f52cea142a229a7993689481" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor for <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a54fcba527aee2304ac9bf9c4efe05ec6"></a><!-- doxytag: member="CLbsLocMonitorPtrHolder::NewL" ref="a54fcba527aee2304ac9bf9c4efe05ec6" args="(TInt aNumberOfPtrs, TInt aNumberOfPtrCs)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a> * CLbsLocMonitorPtrHolder::NewL </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aNumberOfPtrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aNumberOfPtrCs</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and constructs a <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a> object.</p>
+<p>The function leaves if there is insufficient memory.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aNumberOfPtrs</em>&nbsp;</td><td>is the number of modifiable pointer descriptors to create. These are used for asynchronous 'get' requests. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aNumberOfPtrCs</em>&nbsp;</td><td>is the number of read-only pointer descriptors to create. These are used for asynchronous 'set' requests. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a newly created <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a> object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abdc3ea5fb632883d54444e9f51864ab4"></a><!-- doxytag: member="CLbsLocMonitorPtrHolder::Ptr" ref="abdc3ea5fb632883d54444e9f51864ab4" args="(TInt aIndex)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TPtr8 &amp; CLbsLocMonitorPtrHolder::Ptr </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aIndex</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>An accessor for the modifiable pointer descriptors.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aIndex</em>&nbsp;</td><td>specifies the descriptor to return. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to one of our contained pointer descriptors. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae21cb7e55893df12d6db8971e94206de"></a><!-- doxytag: member="CLbsLocMonitorPtrHolder::PtrC" ref="ae21cb7e55893df12d6db8971e94206de" args="(TInt aIndex)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TPtrC8 &amp; CLbsLocMonitorPtrHolder::PtrC </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aIndex</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>An accessor for the read-only pointer descriptors.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aIndex</em>&nbsp;</td><td>specifies the descriptor to return. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to one of our contained pointer descriptors. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="clbslocmonitorptrholder_8h_source.html">clbslocmonitorptrholder.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/clbslocmonitorptrholder.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationInfoConverter Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#aa9d43529b701bdc042f4074d4b48fcc4">CancelConvertLocationInfo</a>()</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">ConvertLocationInfoL</a>(CLbsLocationInfoBase &amp;aLocationInfo, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#a654903fd4ae994d2a736ab0f9692ffb8">ConvertLocationInfoL</a>(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#ac60f81f82a6e6081116743436fd70547">NewL</a>(MLbsLocationInfoConverterObserver &amp;aObserver, const TUid aConverterModuleId)</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#a0109bd74c44d356be22f10385644dece">NewL</a>(MLbsLocationInfoConverterObserver &amp;aObserver)</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter.html#aea397c9a46753269534f76cbfadd6f26">~CLbsLocationInfoConverter</a>()</td><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,246 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocationInfoConverter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationInfoConverter Class Reference</h1><!-- doxytag: class="CLbsLocationInfoConverter" -->
+<p><code>#include &lt;<a class="el" href="lbslocationinfoconverter_8h_source.html">lbslocationinfoconverter.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_location_info_converter-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#aea397c9a46753269534f76cbfadd6f26">~CLbsLocationInfoConverter</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">ConvertLocationInfoL</a> (CLbsLocationInfoBase &amp;aLocationInfo, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#a654903fd4ae994d2a736ab0f9692ffb8">ConvertLocationInfoL</a> (RLbsLocationInfoBaseArray &amp;aLocationInfoArray, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#aa9d43529b701bdc042f4074d4b48fcc4">CancelConvertLocationInfo</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#ac60f81f82a6e6081116743436fd70547">NewL</a> (<a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;aObserver, const TUid aConverterModuleId)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html#a0109bd74c44d356be22f10385644dece">NewL</a> (<a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;aObserver)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> interface is used in partnership with <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> and provides the services to convert location information between different formats.</p>
+<p>Completion of conversions is indicated by the LBS subsystem by invoking callbacks defined by the <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> class.</p>
+<p>Currently the only supported conversion is from WLAN and/or GSM and/or WCDMA info into a geographic Locality. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aea397c9a46753269534f76cbfadd6f26"></a><!-- doxytag: member="CLbsLocationInfoConverter::~CLbsLocationInfoConverter" ref="aea397c9a46753269534f76cbfadd6f26" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C CLbsLocationInfoConverter::~CLbsLocationInfoConverter </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa9d43529b701bdc042f4074d4b48fcc4"></a><!-- doxytag: member="CLbsLocationInfoConverter::CancelConvertLocationInfo" ref="aa9d43529b701bdc042f4074d4b48fcc4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void CLbsLocationInfoConverter::CancelConvertLocationInfo </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels an ongoing conversion operation. If there is no ongoing conversion the cancellation request is ignored.</p>
+<p>Neither of the The <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> callbacks will not be invoked if cancellation is successful. </p>
+
+</div>
+</div>
+<a class="anchor" id="a654903fd4ae994d2a736ab0f9692ffb8"></a><!-- doxytag: member="CLbsLocationInfoConverter::ConvertLocationInfoL" ref="a654903fd4ae994d2a736ab0f9692ffb8" args="(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">RLbsLocationInfoBaseArray &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfoArray</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>A general purpose function that converts multiple locationinfos. The maximum allowable batch size is defined by KPositionMaxBatchSize which is 500. Exceeding KPositionMaxBatchSize will result in KErrNotSupported being reported.</p>
+<p>Completion of the conversion is indicated by the LBS subsystem by invoking the <a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">MLbsLocationInfoConverterObserver::OnConversionComplete</a> and the caller can then iterate through the results returned in aLocationInfoArray</p>
+<p>Location</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>An array of location information to be converted. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested. Currently the only supported conversion is from WLAN and/or GSM and/or WCDMA info into a geographic position, hence the parameter should be set to ELbsConversionOutputPosition)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrNoMemory if there is not enough memory available to perform the conversion. KErrArgument If the location info pointer is NULL. KErrNotSupported if the conversion type specified by aRequestedInfo is not supported or if the bitmask specified by the client has all options set. This error is also returned if the batch size exceeds KPositionMaxBatchSize. </p>
+
+</div>
+</div>
+<a class="anchor" id="add1421a54580b4f6c0b3fe41718d0522"></a><!-- doxytag: member="CLbsLocationInfoConverter::ConvertLocationInfoL" ref="add1421a54580b4f6c0b3fe41718d0522" args="(CLbsLocationInfoBase &amp;aLocationInfo, const TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void CLbsLocationInfoConverter::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>A general purpose function that converts a single locationinfo. Completion of the conversion is indicated by the LBS subsystem by invoking the <a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">MLbsLocationInfoConverterObserver::OnConversionComplete</a> and the caller can then iterate through the results returned in aLocationInfo</p>
+<p>Location</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>location information to be converted. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested. Currently the only supported conversion is from WLAN and/or GSM and/or WCDMA info into a geographic position, hence the parameter should be set to ELbsConversionOutputPosition) Need to say that can only do one of either ConvertLocationFingerPrintToLocalityL or ConvertLocationInfoL at a time or else user is panicked</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrNoMemory if there is not enough memory available to perform the conversion. KErrArgument If the location info pointer is NULL. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0109bd74c44d356be22f10385644dece"></a><!-- doxytag: member="CLbsLocationInfoConverter::NewL" ref="a0109bd74c44d356be22f10385644dece" args="(MLbsLocationInfoConverterObserver &amp;aObserver)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> * CLbsLocationInfoConverter::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> Note here to say that impementations for both OnResolveLocationComplete and OnConversionComplete MUST be provided even though only interested in say, ConvertLocationFingerPrintToLocalityL Opens the default module. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>An observer for location conversion event. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac60f81f82a6e6081116743436fd70547"></a><!-- doxytag: member="CLbsLocationInfoConverter::NewL" ref="ac60f81f82a6e6081116743436fd70547" args="(MLbsLocationInfoConverterObserver &amp;aObserver, const TUid aConverterModuleId)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> * CLbsLocationInfoConverter::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConverterModuleId</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>An observer for location conversion event. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConverterModuleId</em>&nbsp;</td><td>UID of the conversion plugin to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationinfoconverter_8h_source.html">lbslocationinfoconverter.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter_impl-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationInfoConverterImpl Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter_impl.html#ac54cd4e6bdf43eed3274638c401aad0f">CancelConvertLocationInfo</a>()</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">ConvertLocationInfoL</a>(CLbsLocationInfoBase &amp;aLocationInfo, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter_impl.html#a00865162431a89ca89ec10eeb20b75bf">ConvertLocationInfoL</a>(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>DoCancel</b>() (defined in <a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>)</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter_impl.html#ad118bba8abd7661e404f1bd047ee7f6e">NewL</a>(MLbsLocationInfoConverterObserver &amp;aObserver, const TUid aConversionModuleId)</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td><code> [static]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>RunL</b>() (defined in <a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>)</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_info_converter_impl.html#a6922af7983e0624cf5c3c041c69527af">~CLbsLocationInfoConverterImpl</a>()</td><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_info_converter_impl.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocationInfoConverterImpl Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationInfoConverterImpl Class Reference</h1><!-- doxytag: class="CLbsLocationInfoConverterImpl" -->
+<p><code>#include &lt;<a class="el" href="lbslocationinfoconverterimpl_8h_source.html">lbslocationinfoconverterimpl.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_location_info_converter_impl-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter_impl.html#a6922af7983e0624cf5c3c041c69527af">~CLbsLocationInfoConverterImpl</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">ConvertLocationInfoL</a> (CLbsLocationInfoBase &amp;aLocationInfo, <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter_impl.html#a00865162431a89ca89ec10eeb20b75bf">ConvertLocationInfoL</a> (RLbsLocationInfoBaseArray &amp;aLocationInfoArray, <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter_impl.html#ac54cd4e6bdf43eed3274638c401aad0f">CancelConvertLocationInfo</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
+<a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter_impl.html#ad118bba8abd7661e404f1bd047ee7f6e">NewL</a> (<a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;aObserver, const TUid aConversionModuleId)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e172be196a7cc34710029d821dcf97d"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::RunL" ref="a9e172be196a7cc34710029d821dcf97d" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>RunL</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1dfe0f0017507e07f3d79a200322146"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::DoCancel" ref="ab1dfe0f0017507e07f3d79a200322146" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DoCancel</b> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Class implements the services exposed by <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6922af7983e0624cf5c3c041c69527af"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::~CLbsLocationInfoConverterImpl" ref="a6922af7983e0624cf5c3c041c69527af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">CLbsLocationInfoConverterImpl::~CLbsLocationInfoConverterImpl </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac54cd4e6bdf43eed3274638c401aad0f"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::CancelConvertLocationInfo" ref="ac54cd4e6bdf43eed3274638c401aad0f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationInfoConverterImpl::CancelConvertLocationInfo </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels get location info operation. </p>
+
+</div>
+</div>
+<a class="anchor" id="a00865162431a89ca89ec10eeb20b75bf"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::ConvertLocationInfoL" ref="a00865162431a89ca89ec10eeb20b75bf" args="(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationInfoConverterImpl::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">RLbsLocationInfoBaseArray &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfoArray</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts the area informations of a group of geographical locations to its corresponding position information. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>out]</em>&nbsp;</td><td>aLocationInfoArray Array of location informations corresponding to geographical locations are passed and on successful completion of this method,position information corresponding to the location informations are returned in the observer callback. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrArgument If the location info array is empty or one of system wide error codes. </p>
+
+</div>
+</div>
+<a class="anchor" id="aaef1c230fcaef852687d207f1fd30a16"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::ConvertLocationInfoL" ref="aaef1c230fcaef852687d207f1fd30a16" args="(CLbsLocationInfoBase &amp;aLocationInfo, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask aRequestedInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationInfoConverterImpl::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts one area info to position info </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>location information corresponding to a geographical location is passed and on successful completion of this method,position information corresponding to the location information is returned in the observer callback. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrArgument If the location info array is empty or one of system wide error codes. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad118bba8abd7661e404f1bd047ee7f6e"></a><!-- doxytag: member="CLbsLocationInfoConverterImpl::NewL" ref="ad118bba8abd7661e404f1bd047ee7f6e" args="(MLbsLocationInfoConverterObserver &amp;aObserver, const TUid aConversionModuleId)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a> * CLbsLocationInfoConverterImpl::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConversionModuleId</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>Handle to the observer implementation </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionModuleId</em>&nbsp;</td><td>ID of the conversion plugin to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the implementation class of Location Info converter. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationinfoconverterimpl_8h_source.html">lbslocationinfoconverterimpl.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverterimpl.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationResolver Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#ac7c1ea59321c68a46f8277498723c5e1">CancelResolveLocation</a>()</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a>()</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#a3c23413afa1d44cf1b58b4b4a8a672d5">ConstructL</a>(MLbsLocationResolverObserver &amp;aObserver, const TUid aConverterModuleId)</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#afc2bea58ab6b98f985c1671d22bca757">ConversionPreferences</a>()</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#abd55387df3882e65acd8d9dda58849c5">NewL</a>(MLbsLocationResolverObserver &amp;aObserver, const TUid aConverterModuleId)</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#a2e5971479312910304d306a8fb3c5fc1">NewL</a>(MLbsLocationResolverObserver &amp;aObserver)</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">ResolveLocationL</a>(const CLbsLocationInfo &amp;aLocationInfo)</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#a3bdff89e72ec3a0a02afdab217453b70">SetConversionPreferences</a>(TLbsConversionPrefs aConversionPrefs)</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver.html#a560b5fd5826f872c27c260c22e3a57c1">~CLbsLocationResolver</a>()</td><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocationResolver Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationResolver Class Reference</h1><!-- doxytag: class="CLbsLocationResolver" -->
+<p><a href="class_c_lbs_location_resolver-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#a560b5fd5826f872c27c260c22e3a57c1">~CLbsLocationResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">ResolveLocationL</a> (const CLbsLocationInfo &amp;aLocationInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#a3bdff89e72ec3a0a02afdab217453b70">SetConversionPreferences</a> (<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#afc2bea58ab6b98f985c1671d22bca757">ConversionPreferences</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#ac7c1ea59321c68a46f8277498723c5e1">CancelResolveLocation</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#abd55387df3882e65acd8d9dda58849c5">NewL</a> (<a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;aObserver, const TUid aConverterModuleId)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#a2e5971479312910304d306a8fb3c5fc1">NewL</a> (<a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;aObserver)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html#a3c23413afa1d44cf1b58b4b4a8a672d5">ConstructL</a> (<a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;aObserver, const TUid aConverterModuleId)</td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a560b5fd5826f872c27c260c22e3a57c1"></a><!-- doxytag: member="CLbsLocationResolver::~CLbsLocationResolver" ref="a560b5fd5826f872c27c260c22e3a57c1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C CLbsLocationResolver::~CLbsLocationResolver </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. </p>
+
+</div>
+</div>
+<a class="anchor" id="afef8b0079b5f9be383ac3075c9c6deb1"></a><!-- doxytag: member="CLbsLocationResolver::CLbsLocationResolver" ref="afef8b0079b5f9be383ac3075c9c6deb1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">CLbsLocationResolver::CLbsLocationResolver </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Default constructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac7c1ea59321c68a46f8277498723c5e1"></a><!-- doxytag: member="CLbsLocationResolver::CancelResolveLocation" ref="ac7c1ea59321c68a46f8277498723c5e1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void CLbsLocationResolver::CancelResolveLocation </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels an ongoing conversion operation. If there is no ongoing conversion the cancellation request is ignored.</p>
+<p>The <a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> callback will not be invoked if cancellation is successful. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3c23413afa1d44cf1b58b4b4a8a672d5"></a><!-- doxytag: member="CLbsLocationResolver::ConstructL" ref="a3c23413afa1d44cf1b58b4b4a8a672d5" args="(MLbsLocationResolverObserver &amp;aObserver, const TUid aConverterModuleId)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationResolver::ConstructL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConverterModuleId</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Symbian 2nd phase constructor. </p>
+
+</div>
+</div>
+<a class="anchor" id="afc2bea58ab6b98f985c1671d22bca757"></a><!-- doxytag: member="CLbsLocationResolver::ConversionPreferences" ref="afc2bea58ab6b98f985c1671d22bca757" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> CLbsLocationResolver::ConversionPreferences </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns the option currently set for the conversion module's connection preference [ eg. "local cache"] </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The enum corresponding to the currently set connection preferences (ELbsConversionNotDefined will be returned if the conversion preferences have not been set yet) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2e5971479312910304d306a8fb3c5fc1"></a><!-- doxytag: member="CLbsLocationResolver::NewL" ref="a2e5971479312910304d306a8fb3c5fc1" args="(MLbsLocationResolverObserver &amp;aObserver)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> * CLbsLocationResolver::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>An observer for location conversion event. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abd55387df3882e65acd8d9dda58849c5"></a><!-- doxytag: member="CLbsLocationResolver::NewL" ref="abd55387df3882e65acd8d9dda58849c5" args="(MLbsLocationResolverObserver &amp;aObserver, const TUid aConverterModuleId)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> * CLbsLocationResolver::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConverterModuleId</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>An observer for location conversion event. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConverterModuleId</em>&nbsp;</td><td>UID of the conversion plugin to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4b2a24a4dda47c6b844b15f144e9362b"></a><!-- doxytag: member="CLbsLocationResolver::ResolveLocationL" ref="a4b2a24a4dda47c6b844b15f144e9362b" args="(const CLbsLocationInfo &amp;aLocationInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void CLbsLocationResolver::ResolveLocationL </td>
+          <td>(</td>
+          <td class="paramtype">const CLbsLocationInfo &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>A simple function that converts a single Location Info into a TLocality No preferences or masks may be set. The result is returned in the <a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> callback via OnResolveLocationComplete</p>
+<p>Only one outstanding conversion can be open at a time for each client. Attempting to perform more than one will result in a leave with KErrInUse</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>the information to be converted into a location. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a3bdff89e72ec3a0a02afdab217453b70"></a><!-- doxytag: member="CLbsLocationResolver::SetConversionPreferences" ref="a3bdff89e72ec3a0a02afdab217453b70" args="(TLbsConversionPrefs aConversionPrefs)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TInt CLbsLocationResolver::SetConversionPreferences </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets the option for the conversion module's connection preferences [ eg. "online without prompt"] </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPref</em>&nbsp;</td><td>- Enum specifying the connection preferences </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>KErrArgument if the value is invalid, KErrNone otherwise </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationresolver_8h_source.html">lbslocationresolver.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver_impl-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationResolverImpl Member List</h1>This is the complete list of members for <a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a912676c6637d305e8a62525a30878511">CancelResolveLocation</a>()</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a3f0bb3cc5d8301954ecc0229afa2db51">ConversionPreferences</a>()</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>DoCancel</b>() (defined in <a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>)</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a74210e99e035a4f3db4c4aa67ff1559f">NewL</a>(MLbsLocationResolverObserver &amp;aObserver, const TUid aConversionModuleId)</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a3693b2bbcc8162a0867e5b737c305fa7">ResolveLocationL</a>(const CLbsLocationInfoBase &amp;aLocationInfo)</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>RunL</b>() (defined in <a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>)</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a839dc66acd955ca231cf9f5c5fffad9b">SetConversionPreferences</a>(TLbsConversionPrefs aConversionPrefs)</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_c_lbs_location_resolver_impl.html#a54a5146d440c18d4468bc6165d59800c">~CLbsLocationResolverImpl</a>()</td><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_c_lbs_location_resolver_impl.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: CLbsLocationResolverImpl Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>CLbsLocationResolverImpl Class Reference</h1><!-- doxytag: class="CLbsLocationResolverImpl" -->
+<p><code>#include &lt;<a class="el" href="lbslocationresolverimpl_8h_source.html">lbslocationresolverimpl.h</a>&gt;</code></p>
+
+<p><a href="class_c_lbs_location_resolver_impl-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a54a5146d440c18d4468bc6165d59800c">~CLbsLocationResolverImpl</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a3693b2bbcc8162a0867e5b737c305fa7">ResolveLocationL</a> (const CLbsLocationInfoBase &amp;aLocationInfo)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a912676c6637d305e8a62525a30878511">CancelResolveLocation</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a839dc66acd955ca231cf9f5c5fffad9b">SetConversionPreferences</a> (<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a3f0bb3cc5d8301954ecc0229afa2db51">ConversionPreferences</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver_impl.html#a74210e99e035a4f3db4c4aa67ff1559f">NewL</a> (<a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;aObserver, const TUid aConversionModuleId)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a401f4fb8db1e089935c5c7605fd6c168"></a><!-- doxytag: member="CLbsLocationResolverImpl::RunL" ref="a401f4fb8db1e089935c5c7605fd6c168" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>RunL</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5b896c9ff39e20bc7b7e326f308e0d2"></a><!-- doxytag: member="CLbsLocationResolverImpl::DoCancel" ref="aa5b896c9ff39e20bc7b7e326f308e0d2" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DoCancel</b> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Class implements the services exposed by <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a54a5146d440c18d4468bc6165d59800c"></a><!-- doxytag: member="CLbsLocationResolverImpl::~CLbsLocationResolverImpl" ref="a54a5146d440c18d4468bc6165d59800c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">CLbsLocationResolverImpl::~CLbsLocationResolverImpl </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a912676c6637d305e8a62525a30878511"></a><!-- doxytag: member="CLbsLocationResolverImpl::CancelResolveLocation" ref="a912676c6637d305e8a62525a30878511" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationResolverImpl::CancelResolveLocation </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancels get location info operation. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3f0bb3cc5d8301954ecc0229afa2db51"></a><!-- doxytag: member="CLbsLocationResolverImpl::ConversionPreferences" ref="a3f0bb3cc5d8301954ecc0229afa2db51" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> CLbsLocationResolverImpl::ConversionPreferences </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns the option currently set for the conversion module's connection preference [ eg. "local cache"] </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The enum corresponding to the currently set connection preferences (ELbsConversionNotDefined will be returned if the conversion preferences have not been set yet) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a74210e99e035a4f3db4c4aa67ff1559f"></a><!-- doxytag: member="CLbsLocationResolverImpl::NewL" ref="a74210e99e035a4f3db4c4aa67ff1559f" args="(MLbsLocationResolverObserver &amp;aObserver, const TUid aConversionModuleId)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a> * CLbsLocationResolverImpl::NewL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConversionModuleId</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allocates and construct a new <a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aObserver</em>&nbsp;</td><td>Handle to the observer implementation </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionModuleId</em>&nbsp;</td><td>ID of the conversion plugin to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the implementation class of Location Info converter. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3693b2bbcc8162a0867e5b737c305fa7"></a><!-- doxytag: member="CLbsLocationResolverImpl::ResolveLocationL" ref="a3693b2bbcc8162a0867e5b737c305fa7" args="(const CLbsLocationInfoBase &amp;aLocationInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void CLbsLocationResolverImpl::ResolveLocationL </td>
+          <td>(</td>
+          <td class="paramtype">const CLbsLocationInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts one area info to position info </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>location information corresponding to a geographical location is passed and on successful completion of this method,position information corresponding to the location information is returned in the observer callback. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrArgument If the location info array is empty or one of system wide error codes. </p>
+
+</div>
+</div>
+<a class="anchor" id="a839dc66acd955ca231cf9f5c5fffad9b"></a><!-- doxytag: member="CLbsLocationResolverImpl::SetConversionPreferences" ref="a839dc66acd955ca231cf9f5c5fffad9b" args="(TLbsConversionPrefs aConversionPrefs)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">TInt CLbsLocationResolverImpl::SetConversionPreferences </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets the option for the conversion module's connection preferences [ eg. "online without prompt"] </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>- Enum specifying the connection preference </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>KErrArgument if the value is invalid, KErrNone otherwise </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationresolverimpl_8h_source.html">lbslocationresolverimpl.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolverimpl.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_loc_info_converter_plugin_observer-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocInfoConverterPluginObserver Member List</h1>This is the complete list of members for <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">OnConversionComplete</a>(TInt aStatusCode)=0</td><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">OnValidationComplete</a>(TInt aStatusCode)=0</td><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a6208d2f8734f122237961d166d938e6e">Version</a>() const </td><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_loc_info_converter_plugin_observer.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: MLbsLocInfoConverterPluginObserver Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocInfoConverterPluginObserver Class Reference</h1><!-- doxytag: class="MLbsLocInfoConverterPluginObserver" -->
+<p><code>#include &lt;<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a>&gt;</code></p>
+
+<p><a href="class_m_lbs_loc_info_converter_plugin_observer-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C TVersion&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a6208d2f8734f122237961d166d938e6e">Version</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">OnValidationComplete</a> (TInt aStatusCode)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">OnConversionComplete</a> (TInt aStatusCode)=0</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> class is used in partnership with <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a>. The observer interface is used by a conversion plugin to inform LBS when a coordinate conversion process initiated through the <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> class is completed.</p>
+<p>Although all the interface methods in the <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> class are synchronous, the LBS subsystem ensures they return quickly. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aae3eb00909314280c3a5488a99d364d6"></a><!-- doxytag: member="MLbsLocInfoConverterPluginObserver::OnConversionComplete" ref="aae3eb00909314280c3a5488a99d364d6" args="(TInt aStatusCode)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void MLbsLocInfoConverterPluginObserver::OnConversionComplete </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aStatusCode</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The callback is used by the conversion plugin to inform the LBS subsystem that a coordinate conversion process initiated through the <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">CLbsLocInfoConverterPluginBase::ConvertLocationInfoL</a> method is completed.</p>
+<p>Receiving the callback indicates that, unless the conversion was not successful, the location data structures passed through the <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">CLbsLocInfoConverterPluginBase::ConvertLocationInfoL</a> method have been updated with the requested information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aStatusCode</em>&nbsp;</td><td>Result of the conversion operation. KErrNone if at least one conversion have been successful and the related location data structure(s) passed through the <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">CLbsLocInfoConverterPluginBase::ConvertLocationInfoL</a> method have been updated with the requested information; KErrKErrNotFound if none of conversions have been successful Or other system wide error code otherwise. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a01b04b72b17ff4997cab71d36155c364"></a><!-- doxytag: member="MLbsLocInfoConverterPluginObserver::OnValidationComplete" ref="a01b04b72b17ff4997cab71d36155c364" args="(TInt aStatusCode)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual IMPORT_C void MLbsLocInfoConverterPluginObserver::OnValidationComplete </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aStatusCode</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The callback is used by the conversion plugin to inform the LBS subsystem that a validation request initiated through the <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">CLbsLocInfoConverterPluginBase::ValidateClient</a> method is completed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aStatusCode</em>&nbsp;</td><td>Result of the validation operation. KErrNone if the access is granted. KErrPermissionDenied due to a potential security violation. Other system wide error codes. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a6208d2f8734f122237961d166d938e6e"></a><!-- doxytag: member="MLbsLocInfoConverterPluginObserver::Version" ref="a6208d2f8734f122237961d166d938e6e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TVersion MLbsLocInfoConverterPluginObserver::Version </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Gets the current version of the observer interface. Derived classes should not change the implementation.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Version number (currently 1.0.0) </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_info_converter_observer-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocationInfoConverterObserver Member List</h1>This is the complete list of members for <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">OnConversionComplete</a>(TInt aStatusCode)=0</td><td><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_location_info_converter_observer.html#a70b7d904faea34a467916a3d78c89711">Version</a>() const </td><td><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_info_converter_observer.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: MLbsLocationInfoConverterObserver Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocationInfoConverterObserver Class Reference</h1><!-- doxytag: class="MLbsLocationInfoConverterObserver" -->
+<p><code>#include &lt;<a class="el" href="lbslocationinfoconverter_8h_source.html">lbslocationinfoconverter.h</a>&gt;</code></p>
+
+<p><a href="class_m_lbs_location_info_converter_observer-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C TVersion&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_info_converter_observer.html#a70b7d904faea34a467916a3d78c89711">Version</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">OnConversionComplete</a> (TInt aStatusCode)=0</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> class is used in partnership with <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>. The observer interface is used by the LBS subsystem to inform a client application when a Locality conversion process initiated through the <a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> class has been finished. In OnResolveLocationComplete the results will be returned as an argument of the function, while OnConversionComplete indicates that the results have been written in to the data that was passed in using ConvertLocationInfoL.</p>
+<p>Although all the interface methods in the <a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a> class are synchronous, the client application should ensure they return quickly (e.g. any extensive processing of the received data is scheduled in another active object). </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="adddac031a44b43c4fbbd9f6f55202e08"></a><!-- doxytag: member="MLbsLocationInfoConverterObserver::OnConversionComplete" ref="adddac031a44b43c4fbbd9f6f55202e08" args="(TInt aStatusCode)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void MLbsLocationInfoConverterObserver::OnConversionComplete </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aStatusCode</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The callback is used by the LBS subsystem to inform a client application that a general purpose Locality conversion process initiated through the <a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">CLbsLocationInfoConverter::ConvertLocationInfoL</a> method has been finished.</p>
+<p>Receiving the callback indicates that, unless the conversion was not successful, the location data structures passed through the <a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">CLbsLocationInfoConverter::ConvertLocationInfoL</a> method have been updated with the requested information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aStatusCode</em>&nbsp;</td><td>Result of the conversion operation; KErrNone if at least one conversion have been successful and the related location data structure(s) passed through the <a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">CLbsLocationInfoConverter::ConvertLocationInfoL</a> method have been updated with the requested information; KErrNotSupported if the conversion type specified by aRequestedInfo is not supported by converter plugin KErrNotFound if none of conversions have been successful; Or other system wide error code othervise. In here I think we should say that when the caller uses ConvertLocationInfoL( RLbsLocationInfoBaseArray&amp; aLocationInfoArray, ..) then on OnConversionComplete the caller should iterate around all 'n' of the entries of the aLocationInfoArray and call GetAreaInfoL to see if there is any conversion results. OH I see below that you say something near the ConvertLocationInfoL method. Maybe should say it here as well to ti e together </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a70b7d904faea34a467916a3d78c89711"></a><!-- doxytag: member="MLbsLocationInfoConverterObserver::Version" ref="a70b7d904faea34a467916a3d78c89711" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TVersion MLbsLocationInfoConverterObserver::Version </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Gets the current version of the observer interface. Derived classes should not change the implementation.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Version number (currently 1.0.0) </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationinfoconverter_8h_source.html">lbslocationinfoconverter.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationinfoconverter.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_resolver_observer-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocationResolverObserver Member List</h1>This is the complete list of members for <a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_location_resolver_observer.html#add94f89e5ae465ecc4f1fd4eaaaa84ad">OnResolveLocationComplete</a>(TInt aStatus, const TLocality &amp;aLocality)=0</td><td><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_m_lbs_location_resolver_observer.html#a47687d47bba200328aa8e667988368dd">Version</a>() const </td><td><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_m_lbs_location_resolver_observer.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: MLbsLocationResolverObserver Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>MLbsLocationResolverObserver Class Reference</h1><!-- doxytag: class="MLbsLocationResolverObserver" -->
+<p><a href="class_m_lbs_location_resolver_observer-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual IMPORT_C TVersion&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_resolver_observer.html#a47687d47bba200328aa8e667988368dd">Version</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_resolver_observer.html#add94f89e5ae465ecc4f1fd4eaaaa84ad">OnResolveLocationComplete</a> (TInt aStatus, const TLocality &amp;aLocality)=0</td></tr>
+</table>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="add94f89e5ae465ecc4f1fd4eaaaa84ad"></a><!-- doxytag: member="MLbsLocationResolverObserver::OnResolveLocationComplete" ref="add94f89e5ae465ecc4f1fd4eaaaa84ad" args="(TInt aStatus, const TLocality &amp;aLocality)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void MLbsLocationResolverObserver::OnResolveLocationComplete </td>
+          <td>(</td>
+          <td class="paramtype">TInt&nbsp;</td>
+          <td class="paramname"> <em>aStatus</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TLocality &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocality</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The callback is used by the LBS subsystem to inform a client application that a simple <a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> conversion process initiated through the <a class="el" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">CLbsLocationResolver::ResolveLocationL</a> method has been finished.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aStatus</em>&nbsp;</td><td>status of conversion, KErrNone for success, standard system error code in other cases. Note that in the event of a cancellation this method will not execute. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aBasicLocationInfo</em>&nbsp;</td><td>the location conversion that was requested. If the conversion has failed the values will be uninitialised </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a47687d47bba200328aa8e667988368dd"></a><!-- doxytag: member="MLbsLocationResolverObserver::Version" ref="a47687d47bba200328aa8e667988368dd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TVersion MLbsLocationResolverObserver::Version </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Gets the current version of the observer interface. Derived classes should not change the implementation.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Version number (currently 1.0.0) </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationresolver_8h_source.html">lbslocationresolver.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/src/lbslocationresolver.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_info_converter-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocInfoConverter Member List</h1>This is the complete list of members for <a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#acfff21622bccd06f1f75bfa63ed3a026">CancelConvertLocationInfo</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a98540bd6149efc361d9ff19561d52e2d">Close</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#abcf77b323929d0615840781a4e742e6c">ConvertLocationInfoL</a>(CLbsLocationInfoBase &amp;aLocationInfo, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask &amp;aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#abf0ea1be9a334da668dd8a7e33b63700">ConvertLocationInfoL</a>(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, TLbsConversionPrefs aConversionPrefs, TLbsConversionOutputInfoMask aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a7b535c2636a901025ad076e0e1b6a921">HandleMultipleConversionBufferSizeL</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a304df177e37e74e3bcfb6ab79e0d2e55">HandleSingleConversionBufferSizeL</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a7cdb7398cea8b55f0f94d6e89bca4179">OpenL</a>(RLbsLocMonitorSession &amp;aLocMonSession)</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a27b49873055b412cfaa202743c109d39">RLbsLocInfoConverter</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#ad2e6b7351e87ea29853b49c6c363a96c">ValidateLocationInfoL</a>(CLbsLocationInfoBase *aLocationInfo)</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_info_converter.html#a875dd09fefca7f50a56eba86760aa145">~RLbsLocInfoConverter</a>()</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_info_converter.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,328 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: RLbsLocInfoConverter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocInfoConverter Class Reference</h1><!-- doxytag: class="RLbsLocInfoConverter" -->
+<p><code>#include &lt;<a class="el" href="rlbslocinfoconverter_8h_source.html">rlbslocinfoconverter.h</a>&gt;</code></p>
+
+<p><a href="class_r_lbs_loc_info_converter-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a27b49873055b412cfaa202743c109d39">RLbsLocInfoConverter</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a875dd09fefca7f50a56eba86760aa145">~RLbsLocInfoConverter</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a7cdb7398cea8b55f0f94d6e89bca4179">OpenL</a> (<a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> &amp;aLocMonSession)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a98540bd6149efc361d9ff19561d52e2d">Close</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#abcf77b323929d0615840781a4e742e6c">ConvertLocationInfoL</a> (CLbsLocationInfoBase &amp;aLocationInfo, <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> &amp;aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#abf0ea1be9a334da668dd8a7e33b63700">ConvertLocationInfoL</a> (RLbsLocationInfoBaseArray &amp;aLocationInfoArray, <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#acfff21622bccd06f1f75bfa63ed3a026">CancelConvertLocationInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a304df177e37e74e3bcfb6ab79e0d2e55">HandleSingleConversionBufferSizeL</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#a7b535c2636a901025ad076e0e1b6a921">HandleMultipleConversionBufferSizeL</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_info_converter.html#ad2e6b7351e87ea29853b49c6c363a96c">ValidateLocationInfoL</a> (CLbsLocationInfoBase *aLocationInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class provides services pertaining to conversion of geographical area information represented as a collection of GSM/WCDMA or WLAN information to corresponding geographical coordinates. This class is used to create sub-session with the location monitor server.</p>
+<p>Before using the class, a primary connection must have already been established with the server with <a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">RLbsLocMonitorSession::Connect()</a>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a27b49873055b412cfaa202743c109d39"></a><!-- doxytag: member="RLbsLocInfoConverter::RLbsLocInfoConverter" ref="a27b49873055b412cfaa202743c109d39" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C RLbsLocInfoConverter::RLbsLocInfoConverter </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>C++ constructor </p>
+
+</div>
+</div>
+<a class="anchor" id="a875dd09fefca7f50a56eba86760aa145"></a><!-- doxytag: member="RLbsLocInfoConverter::~RLbsLocInfoConverter" ref="a875dd09fefca7f50a56eba86760aa145" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C RLbsLocInfoConverter::~RLbsLocInfoConverter </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="acfff21622bccd06f1f75bfa63ed3a026"></a><!-- doxytag: member="RLbsLocInfoConverter::CancelConvertLocationInfo" ref="acfff21622bccd06f1f75bfa63ed3a026" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocInfoConverter::CancelConvertLocationInfo </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Cancel outstanding request to convert location information. </p>
+
+</div>
+</div>
+<a class="anchor" id="a98540bd6149efc361d9ff19561d52e2d"></a><!-- doxytag: member="RLbsLocInfoConverter::Close" ref="a98540bd6149efc361d9ff19561d52e2d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocInfoConverter::Close </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Closes the subsession with Location Monitor Server. </p>
+
+</div>
+</div>
+<a class="anchor" id="abf0ea1be9a334da668dd8a7e33b63700"></a><!-- doxytag: member="RLbsLocInfoConverter::ConvertLocationInfoL" ref="abf0ea1be9a334da668dd8a7e33b63700" args="(RLbsLocationInfoBaseArray &amp;aLocationInfoArray, TLbsConversionPrefs aConversionPrefs, TLbsConversionOutputInfoMask aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocInfoConverter::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">RLbsLocationInfoBaseArray &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfoArray</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConverterModuleId</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TRequestStatus &amp;&nbsp;</td>
+          <td class="paramname"> <em>aStatus</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts the area informations of a group of geographical locations to its corresponding position information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfoArray</em>&nbsp;</td><td>Array of Location information to be converted. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionModuleId</em>&nbsp;</td><td>Module ID of the converter plugin to be used </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>aStatus</em>&nbsp;</td><td>Contains the error code when the request is completed.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrArgument If the location info array is empty or if array count exceeds KPositionMaxBatchSize or one of system wide error codes. </p>
+
+</div>
+</div>
+<a class="anchor" id="abcf77b323929d0615840781a4e742e6c"></a><!-- doxytag: member="RLbsLocInfoConverter::ConvertLocationInfoL" ref="abcf77b323929d0615840781a4e742e6c" args="(CLbsLocationInfoBase &amp;aLocationInfo, TLbsConversionPrefs aConversionPrefs, const TLbsConversionOutputInfoMask &amp;aRequestedInfo, const TUid aConverterModuleId, TRequestStatus &amp;aStatus)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocInfoConverter::ConvertLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td>
+          <td class="paramname"> <em>aConversionPrefs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aRequestedInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const TUid&nbsp;</td>
+          <td class="paramname"> <em>aConverterModuleId</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TRequestStatus &amp;&nbsp;</td>
+          <td class="paramname"> <em>aStatus</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Converts one area info to position info </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationInfo</em>&nbsp;</td><td>location information corresponding to a geographical location is passed and on successful completion of this method,position information corresponding to the location information is returned in the observer callback. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConversionPrefs</em>&nbsp;</td><td>Conversion preferences suggested by client </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRequestedInfo</em>&nbsp;</td><td>Location information that is requested. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aConverterModuleId</em>&nbsp;</td><td>Module ID of the converter plugin to be used </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>aStatus</em>&nbsp;</td><td>Contains the error code when the request is completed.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>KErrArgument If the location info pointer is NULL or one of system wide error codes. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7b535c2636a901025ad076e0e1b6a921"></a><!-- doxytag: member="RLbsLocInfoConverter::HandleMultipleConversionBufferSizeL" ref="a7b535c2636a901025ad076e0e1b6a921" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void RLbsLocInfoConverter::HandleMultipleConversionBufferSizeL </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Handles buffer size passed from the server to store multiple converted location info. </p>
+
+</div>
+</div>
+<a class="anchor" id="a304df177e37e74e3bcfb6ab79e0d2e55"></a><!-- doxytag: member="RLbsLocInfoConverter::HandleSingleConversionBufferSizeL" ref="a304df177e37e74e3bcfb6ab79e0d2e55" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void RLbsLocInfoConverter::HandleSingleConversionBufferSizeL </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Handles buffer size passed from the server to store single converted location info. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7cdb7398cea8b55f0f94d6e89bca4179"></a><!-- doxytag: member="RLbsLocInfoConverter::OpenL" ref="a7cdb7398cea8b55f0f94d6e89bca4179" args="(RLbsLocMonitorSession &amp;aLocMonSession)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocInfoConverter::OpenL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aLocMonSession</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Opens a subsession with Location Monitor Server.</p>
+<p>A subsession must be opened before any other service can be used.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aServer</em>&nbsp;</td><td>Reference to the Location Monitor Server session.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>KErrNone if successful. Otherwise, Symbian standard error code is returned, such as KErrNoMemory, KErrServerBusy, etc. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad2e6b7351e87ea29853b49c6c363a96c"></a><!-- doxytag: member="RLbsLocInfoConverter::ValidateLocationInfoL" ref="ad2e6b7351e87ea29853b49c6c363a96c" args="(CLbsLocationInfoBase *aLocationInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void RLbsLocInfoConverter::ValidateLocationInfoL </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase *&nbsp;</td>
+          <td class="paramname"> <em>aLocationInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Validates location information. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="rlbslocinfoconverter_8h_source.html">rlbslocinfoconverter.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocinfoconverter.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_area_positioner-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocMonitorAreaPositioner Member List</h1>This is the complete list of members for <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>CancelGetLastKnownPosition</b>() const  (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>CancelGetLastKnownPositionArea</b>() const  (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>Close</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ConstructL</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td><code> [protected, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>Destruct</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td><code> [protected, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>GetLastKnownPosition</b>(TPositionInfoBase &amp;aPosInfo, TRequestStatus &amp;aStatus) const  (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#a2f44c219405b811f7f44ff291e3acdfc">GetLastKnownPositionArea</a>(TPositionInfoBase &amp;aPosInfo, TPositionAreaInfoBase &amp;aAreaInfo, TPosAreaReqParams &amp;aParameters, TRequestStatus &amp;aStatus) const </td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>OpenL</b>(RLbsLocMonitorSession &amp;aLocMonSession) (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>RLbsLocMonitorAreaPositioner</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#ae44dfca283fe78209b24eda1287f0d12">SetLastKnownPosition</a>(const TPositionInfoBase &amp;aPosInfo) const </td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_area_positioner.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: RLbsLocMonitorAreaPositioner Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocMonitorAreaPositioner Class Reference</h1><!-- doxytag: class="RLbsLocMonitorAreaPositioner" -->
+<p><code>#include &lt;<a class="el" href="rlbslocmonitorareapositioner_8h_source.html">rlbslocmonitorareapositioner.h</a>&gt;</code></p>
+
+<p><a href="class_r_lbs_loc_monitor_area_positioner-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d5c081d8e2f5b117fbb87b2d23ddfcd"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::OpenL" ref="a7d5c081d8e2f5b117fbb87b2d23ddfcd" args="(RLbsLocMonitorSession &amp;aLocMonSession)" -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OpenL</b> (<a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> &amp;aLocMonSession)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92ca5d72908e856d896b69c94c5c666f"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::Close" ref="a92ca5d72908e856d896b69c94c5c666f" args="()" -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Close</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#ae44dfca283fe78209b24eda1287f0d12">SetLastKnownPosition</a> (const TPositionInfoBase &amp;aPosInfo) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addbd90b6bfe5b423f9080fae23fdf8c4"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::GetLastKnownPosition" ref="addbd90b6bfe5b423f9080fae23fdf8c4" args="(TPositionInfoBase &amp;aPosInfo, TRequestStatus &amp;aStatus) const " -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetLastKnownPosition</b> (TPositionInfoBase &amp;aPosInfo, TRequestStatus &amp;aStatus) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4cd95714d2147ab03ac5475ac3d21b8"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::CancelGetLastKnownPosition" ref="aa4cd95714d2147ab03ac5475ac3d21b8" args="() const " -->
+IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><b>CancelGetLastKnownPosition</b> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#a2f44c219405b811f7f44ff291e3acdfc">GetLastKnownPositionArea</a> (TPositionInfoBase &amp;aPosInfo, TPositionAreaInfoBase &amp;aAreaInfo, TPosAreaReqParams &amp;aParameters, TRequestStatus &amp;aStatus) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a113417edc02c907b7fc379ba60edac39"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::CancelGetLastKnownPositionArea" ref="a113417edc02c907b7fc379ba60edac39" args="() const " -->
+IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><b>CancelGetLastKnownPositionArea</b> () const </td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fb4e02d4fbac25c283cc62664f66db7"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::ConstructL" ref="a8fb4e02d4fbac25c283cc62664f66db7" args="()" -->
+virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConstructL</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6f7e1ab37357c0596d40de3f7f1c691"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::Destruct" ref="aa6f7e1ab37357c0596d40de3f7f1c691" args="()" -->
+virtual IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Destruct</b> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class is used by clients of the Location Monitor server to create a sub-session with the server.</p>
+<p>Before using the class, a primary connection must have already been established with the server with <a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">RLbsLocMonitorSession::Connect()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> </dd></dl>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2f44c219405b811f7f44ff291e3acdfc"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea" ref="a2f44c219405b811f7f44ff291e3acdfc" args="(TPositionInfoBase &amp;aPosInfo, TPositionAreaInfoBase &amp;aAreaInfo, TPosAreaReqParams &amp;aParameters, TRequestStatus &amp;aStatus) const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea </td>
+          <td>(</td>
+          <td class="paramtype">TPositionInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aPosInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TPositionAreaInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aAreaInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TPosAreaReqParams &amp;&nbsp;</td>
+          <td class="paramname"> <em>aParameters</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">TRequestStatus &amp;&nbsp;</td>
+          <td class="paramname"> <em>aStatus</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns in aPosInfo a position which had been previously stored in association with "context information" that is bound to a geographical area (e.g. Global Cell Id).</p>
+<p>Current context information will be sensed by the server and used to search for a position in the database. If found, the position will be an approximation of the current position of the handset. If no position is found in the database for the current context information, the position last stored in the database is returned.</p>
+<p>The method returns in aAreaInfo a rough indication of how accurate the returned position is based on an estimation of the size of the geographical area covered by the sensed context information. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae44dfca283fe78209b24eda1287f0d12"></a><!-- doxytag: member="RLbsLocMonitorAreaPositioner::SetLastKnownPosition" ref="ae44dfca283fe78209b24eda1287f0d12" args="(const TPositionInfoBase &amp;aPosInfo) const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TInt RLbsLocMonitorAreaPositioner::SetLastKnownPosition </td>
+          <td>(</td>
+          <td class="paramtype">const TPositionInfoBase &amp;&nbsp;</td>
+          <td class="paramname"> <em>aPosInfo</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Method called by the Location Server to send the Last Known Position to the Location Monitor for storing together with Local Area information if possible.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>aPosInfo</em>&nbsp;</td><td>the position object to be sent to the server (only the TPositionInfo portion will be sent) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>KErrNone if position is succesfully sent to server KErrArgument if aPosInfo is not a TPositionInfo class or derived class. Any of the error codes returned by RSessionBase::SendReceive </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="rlbslocmonitorareapositioner_8h_source.html">rlbslocmonitorareapositioner.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorareapositioner.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_session-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocMonitorSession Member List</h1>This is the complete list of members for <a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_monitor_session.html#a12cca6b3c2caef8b98eb1bf34d49b2a6">CancelDatabaseWipeOut</a>() const </td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>Close</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">Connect</a>()</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>RLbsLocMonitorSession</b>() (defined in <a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>StartServer</b>(TServerStartParams &amp;aParams) (defined in <a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_r_lbs_loc_monitor_session.html#a413bb507464ac0b1bacbeae3cf41605b">Version</a>()</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>WipeOutDatabase</b>(TRequestStatus &amp;aStatus) const  (defined in <a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>)</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_r_lbs_loc_monitor_session.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: RLbsLocMonitorSession Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>RLbsLocMonitorSession Class Reference</h1><!-- doxytag: class="RLbsLocMonitorSession" -->
+<p><code>#include &lt;<a class="el" href="rlbslocmonitorsession_8h_source.html">rlbslocmonitorsession.h</a>&gt;</code></p>
+
+<p><a href="class_r_lbs_loc_monitor_session-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">Connect</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9322f7ee2fd49711582ec8328cc5cc06"></a><!-- doxytag: member="RLbsLocMonitorSession::Close" ref="a9322f7ee2fd49711582ec8328cc5cc06" args="()" -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Close</b> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae15da029ff0e3e69f26908f19c0eb6ab"></a><!-- doxytag: member="RLbsLocMonitorSession::WipeOutDatabase" ref="ae15da029ff0e3e69f26908f19c0eb6ab" args="(TRequestStatus &amp;aStatus) const " -->
+IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><b>WipeOutDatabase</b> (TRequestStatus &amp;aStatus) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_session.html#a12cca6b3c2caef8b98eb1bf34d49b2a6">CancelDatabaseWipeOut</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TVersion&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_session.html#a413bb507464ac0b1bacbeae3cf41605b">Version</a> ()</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1201c51b6a094dfe1abd06fb6d026e34"></a><!-- doxytag: member="RLbsLocMonitorSession::StartServer" ref="a1201c51b6a094dfe1abd06fb6d026e34" args="(TServerStartParams &amp;aParams)" -->
+TInt&nbsp;</td><td class="memItemRight" valign="bottom"><b>StartServer</b> (TServerStartParams &amp;aParams)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Client-side session with the Location Monitor server. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a12cca6b3c2caef8b98eb1bf34d49b2a6"></a><!-- doxytag: member="RLbsLocMonitorSession::CancelDatabaseWipeOut" ref="a12cca6b3c2caef8b98eb1bf34d49b2a6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TInt RLbsLocMonitorSession::CancelDatabaseWipeOut </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Attempts to Cancel a previously issued asynchronous request to delete the database of area-locations.</p>
+<p>The TRequestStatus of the original request will be set to KErrCancel if the cancellation request was successful, or any other Symbian OS error code if CancelRequest was called too late.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Standard Symbian OS error code. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6a923bc833b41c6eec5726d4a08b5b1d"></a><!-- doxytag: member="RLbsLocMonitorSession::Connect" ref="a6a923bc833b41c6eec5726d4a08b5b1d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TInt RLbsLocMonitorSession::Connect </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Creates a session with the location monitor server. This method starts the server if not yet started.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Standard Symbian OS error code. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a413bb507464ac0b1bacbeae3cf41605b"></a><!-- doxytag: member="RLbsLocMonitorSession::Version" ref="a413bb507464ac0b1bacbeae3cf41605b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TVersion RLbsLocMonitorSession::Version </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Obtains the current version number of the location monitor.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the version of the client API. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="rlbslocmonitorsession_8h_source.html">rlbslocmonitorsession.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/src/rlbslocmonitorsession.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_conversion_plugin_info-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsConversionPluginInfo Member List</h1>This is the complete list of members for <a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_conversion_plugin_info.html#aca3412234c5ce35908432faeadc78db5">IsPluginPositionToBeCached</a>() const </td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_conversion_plugin_info.html#a86ba2b72a2db2ec9b68bcc38e2693803">PluginCapabilitiesMask</a>() const </td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_conversion_plugin_info.html#a95955104b7bdd7ec237c19f63a6f04c4">SetIsPluginPositionToBeCached</a>(TBool aCachePluginPosition)</td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_conversion_plugin_info.html#ae2a5a5ddc40f37c169249ccc2c34df5e">SetPluginCapabilitiesMask</a>(TLbsConversionPluginCapabilityMask aCapabilitiesMask)</td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TLbsConversionPluginInfo</b>() (defined in <a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>)</td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_conversion_plugin_info.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: TLbsConversionPluginInfo Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsConversionPluginInfo Class Reference</h1><!-- doxytag: class="TLbsConversionPluginInfo" -->
+<p><code>#include &lt;<a class="el" href="lbslocinfoconverterplugincommon_8h_source.html">lbslocinfoconverterplugincommon.h</a>&gt;</code></p>
+
+<p><a href="class_t_lbs_conversion_plugin_info-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C TBool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_conversion_plugin_info.html#aca3412234c5ce35908432faeadc78db5">IsPluginPositionToBeCached</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C <br class="typebreak"/>
+<a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_conversion_plugin_info.html#a86ba2b72a2db2ec9b68bcc38e2693803">PluginCapabilitiesMask</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_conversion_plugin_info.html#a95955104b7bdd7ec237c19f63a6f04c4">SetIsPluginPositionToBeCached</a> (TBool aCachePluginPosition)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_conversion_plugin_info.html#ae2a5a5ddc40f37c169249ccc2c34df5e">SetPluginCapabilitiesMask</a> (<a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a> aCapabilitiesMask)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Class used to read the preferences of the conversion plugin such as its capability to use gsm/wlan/wcdma information during conversion and whether the position that it returns is to be stored in the cache. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aca3412234c5ce35908432faeadc78db5"></a><!-- doxytag: member="TLbsConversionPluginInfo::IsPluginPositionToBeCached" ref="aca3412234c5ce35908432faeadc78db5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TBool TLbsConversionPluginInfo::IsPluginPositionToBeCached </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Read the flag indicating if the conversion result is to be cached </p>
+
+</div>
+</div>
+<a class="anchor" id="a86ba2b72a2db2ec9b68bcc38e2693803"></a><!-- doxytag: member="TLbsConversionPluginInfo::PluginCapabilitiesMask" ref="a86ba2b72a2db2ec9b68bcc38e2693803" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a> TLbsConversionPluginInfo::PluginCapabilitiesMask </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Read the currently set capabilities </p>
+
+</div>
+</div>
+<a class="anchor" id="a95955104b7bdd7ec237c19f63a6f04c4"></a><!-- doxytag: member="TLbsConversionPluginInfo::SetIsPluginPositionToBeCached" ref="a95955104b7bdd7ec237c19f63a6f04c4" args="(TBool aCachePluginPosition)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void TLbsConversionPluginInfo::SetIsPluginPositionToBeCached </td>
+          <td>(</td>
+          <td class="paramtype">TBool&nbsp;</td>
+          <td class="paramname"> <em>aCachePluginPosition</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets the flag indicating if the conversion result returned from the plugin is to be cached. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae2a5a5ddc40f37c169249ccc2c34df5e"></a><!-- doxytag: member="TLbsConversionPluginInfo::SetPluginCapabilitiesMask" ref="ae2a5a5ddc40f37c169249ccc2c34df5e" args="(TLbsConversionPluginCapabilityMask aCapabilitiesMask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C void TLbsConversionPluginInfo::SetPluginCapabilitiesMask </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a>&nbsp;</td>
+          <td class="paramname"> <em>aCapabilitiesMask</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Sets the bitmask representing the capabilities of the conversion plugin. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterplugincommon_8h_source.html">lbslocinfoconverterplugincommon.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsLocInfoConverterPluginClassTypeBase Member List</h1>This is the complete list of members for <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>ClassSize</b>() const  (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ClassType</b>() const  (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">iClassSize</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">iClassType</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TLbsLocInfoConverterPluginClassTypeBase</b>() (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: TLbsLocInfoConverterPluginClassTypeBase Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsLocInfoConverterPluginClassTypeBase Class Reference</h1><!-- doxytag: class="TLbsLocInfoConverterPluginClassTypeBase" -->
+<p><code>#include &lt;<a class="el" href="lbslocinfoconverterplugincommon_8h_source.html">lbslocinfoconverterplugincommon.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TLbsLocInfoConverterPluginClassTypeBase:</div>
+<div class="dynsection">
+ <div class="center">
+  <img src="class_t_lbs_loc_info_converter_plugin_class_type_base.png" usemap="#TLbsLocInfoConverterPluginClassTypeBase_map" alt=""/>
+  <map id="TLbsLocInfoConverterPluginClassTypeBase_map" name="TLbsLocInfoConverterPluginClassTypeBase_map">
+<area href="class_t_lbs_loc_info_converter_plugin_params.html" alt="TLbsLocInfoConverterPluginParams" shape="rect" coords="0,56,260,80"/>
+</map>
+ </div>
+</div>
+
+<p><a href="class_t_lbs_loc_info_converter_plugin_class_type_base-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94456ec7a708ee63a6edd222da498cb9"></a><!-- doxytag: member="TLbsLocInfoConverterPluginClassTypeBase::ClassType" ref="a94456ec7a708ee63a6edd222da498cb9" args="() const " -->
+IMPORT_C TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>ClassType</b> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0d394a45fe6805c5111cc3b62d4f028"></a><!-- doxytag: member="TLbsLocInfoConverterPluginClassTypeBase::ClassSize" ref="ac0d394a45fe6805c5111cc3b62d4f028" args="() const " -->
+IMPORT_C TUint&nbsp;</td><td class="memItemRight" valign="bottom"><b>ClassSize</b> () const </td></tr>
+<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">iClassType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">TUint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">iClassSize</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The generic base for classes that store conversion Plugin Interface related information </p>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a6f14da2d6857357c108e739788e89cf8"></a><!-- doxytag: member="TLbsLocInfoConverterPluginClassTypeBase::iClassSize" ref="a6f14da2d6857357c108e739788e89cf8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">TUint <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">TLbsLocInfoConverterPluginClassTypeBase::iClassSize</a><code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The size of the derived class </p>
+
+</div>
+</div>
+<a class="anchor" id="a0a442b57385a9c8423bf1e4352a316d0"></a><!-- doxytag: member="TLbsLocInfoConverterPluginClassTypeBase::iClassType" ref="a0a442b57385a9c8423bf1e4352a316d0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">TUint32 <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">TLbsLocInfoConverterPluginClassTypeBase::iClassType</a><code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The type of the derived class </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterplugincommon_8h_source.html">lbslocinfoconverterplugincommon.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterplugincommon.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_class_type_base.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsLocInfoConverterPluginParams Member List</h1>This is the complete list of members for <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>ClassSize</b>() const  (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ClassType</b>() const  (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">iClassSize</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">iClassType</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">iObserver</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">iReserved</a></td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a75a31120987e1b1ffe2bbf88e21ae5fe">Observer</a>() const </td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TLbsLocInfoConverterPluginClassTypeBase</b>() (defined in <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a10e8bacd53077471825fd59a916c0304">TLbsLocInfoConverterPluginParams</a>(MLbsLocInfoConverterPluginObserver &amp;aObserver)</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: TLbsLocInfoConverterPluginParams Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsLocInfoConverterPluginParams Class Reference</h1><!-- doxytag: class="TLbsLocInfoConverterPluginParams" --><!-- doxytag: inherits="TLbsLocInfoConverterPluginClassTypeBase" -->
+<p><code>#include &lt;<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TLbsLocInfoConverterPluginParams:</div>
+<div class="dynsection">
+ <div class="center">
+  <img src="class_t_lbs_loc_info_converter_plugin_params.png" usemap="#TLbsLocInfoConverterPluginParams_map" alt=""/>
+  <map id="TLbsLocInfoConverterPluginParams_map" name="TLbsLocInfoConverterPluginParams_map">
+<area href="class_t_lbs_loc_info_converter_plugin_class_type_base.html" alt="TLbsLocInfoConverterPluginClassTypeBase" shape="rect" coords="0,0,260,24"/>
+</map>
+ </div>
+</div>
+
+<p><a href="class_t_lbs_loc_info_converter_plugin_params-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a10e8bacd53077471825fd59a916c0304">TLbsLocInfoConverterPluginParams</a> (<a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> &amp;aObserver)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">IMPORT_C <br class="typebreak"/>
+<a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a75a31120987e1b1ffe2bbf88e21ae5fe">Observer</a> () const </td></tr>
+<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">iObserver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">TUint8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">iReserved</a> [20]</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class encapsulates the construction parameters for a Coordinate Conversion plugin.</p>
+<p>These parameters are passed by the LBS subsystem to the implementation of the Plugin module via ECom. The ECom constructor should take a single TAny* parameter. That parameter should be cast to a variable of type <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">CLbsLocInfoConverterPluginBase::NewL</a> </dd></dl>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a10e8bacd53077471825fd59a916c0304"></a><!-- doxytag: member="TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams" ref="a10e8bacd53077471825fd59a916c0304" args="(MLbsLocInfoConverterPluginObserver &amp;aObserver)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C TLbsLocInfoConverterPluginParams::TLbsLocInfoConverterPluginParams </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>aObserver</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class encapsulates the construction parameters for a Coordinate Conversion plugin implementation.</p>
+<p>When created, the LBS subsystem must provide a reference to the plugin's observer.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> </dd>
+<dd>
+<a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">CLbsLocInfoConverterPluginBase::NewL</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a75a31120987e1b1ffe2bbf88e21ae5fe"></a><!-- doxytag: member="TLbsLocInfoConverterPluginParams::Observer" ref="a75a31120987e1b1ffe2bbf88e21ae5fe" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EXPORT_C <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> &amp; TLbsLocInfoConverterPluginParams::Observer </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns a reference to the observer.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a> </dd>
+<dd>
+<a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">CLbsLocInfoConverterPluginBase::NewL</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="aff6a48ec1a18c463416bd46dc3c74cd4"></a><!-- doxytag: member="TLbsLocInfoConverterPluginParams::iObserver" ref="aff6a48ec1a18c463416bd46dc3c74cd4" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>&amp; <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">TLbsLocInfoConverterPluginParams::iObserver</a><code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Handle to the plugin observer </p>
+
+</div>
+</div>
+<a class="anchor" id="a83d9366cef1799dc81bffb5cd3d86710"></a><!-- doxytag: member="TLbsLocInfoConverterPluginParams::iReserved" ref="a83d9366cef1799dc81bffb5cd3d86710" args="[20]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">TUint8 <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">TLbsLocInfoConverterPluginParams::iReserved</a>[20]<code> [protected]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Reserved for future use </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterpluginbase_8h_source.html">lbslocinfoconverterpluginbase.h</a></li>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/src/lbslocinfoconverterpluginbase.cpp</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/class_t_lbs_loc_info_converter_plugin_params.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/classes.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/clbslocinfoconversionhandler_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocinfoconversionhandler.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocinfoconversionhandler.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Declaration of CLbsLocInfoConversionHandler class.</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef C_LBSLOCINFOCONVERSIONHANDLER_H_</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define C_LBSLOCINFOCONVERSIONHANDLER_H_</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="comment">// Forward declaration</span>
+<a name="l00023"></a>00023 <span class="keyword">class </span><a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>;
+<a name="l00024"></a>00024 <span class="keyword">class </span>CLbsLocationInfo;
+<a name="l00025"></a>00025 
+<a name="l00030"></a><a class="code" href="class_c_lbs_loc_info_conversion_handler.html">00030</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a> : <span class="keyword">public</span> CActive
+<a name="l00031"></a>00031     {
+<a name="l00032"></a>00032 <span class="keyword">public</span>:
+<a name="l00033"></a>00033     <span class="keyword">enum</span> TAyncRequestType
+<a name="l00034"></a>00034         {
+<a name="l00035"></a>00035         EGetBuffersizeForSingleArea,
+<a name="l00036"></a>00036         
+<a name="l00037"></a>00037         EGetSingleConvertedArea,
+<a name="l00038"></a>00038         
+<a name="l00039"></a>00039         EGetBuffersizeForMultipleArea,
+<a name="l00040"></a>00040                 
+<a name="l00041"></a>00041         EGetMultipleConvertedArea
+<a name="l00042"></a>00042         };
+<a name="l00043"></a>00043 <span class="keyword">public</span>:
+<a name="l00047"></a>00047     <span class="keyword">static</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>* <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#afd8cb1555d5a5aa825caa2dc2e4723fe">NewL</a>( <a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>&amp; aLocInfoConverter );
+<a name="l00048"></a>00048     
+<a name="l00052"></a>00052     <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a39c27f20318ed964e7a7c0b83f093310">~CLbsLocInfoConversionHandler</a>();
+<a name="l00053"></a>00053     
+<a name="l00057"></a>00057     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a98c6643d27b542ec8feb758d2dc0f955">Start</a>( TAyncRequestType aType);
+<a name="l00058"></a>00058     
+<a name="l00062"></a>00062     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a7a5eceb6edcd80ad29cc535781358fe6">SetBuffer</a>( CBufFlat* aBuffer );
+<a name="l00063"></a>00063     
+<a name="l00067"></a>00067     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#ad9f397eb619af1561fdd678efc5ee27c">SetStatus</a>( TRequestStatus&amp; aStatus );
+<a name="l00068"></a>00068     
+<a name="l00072"></a>00072     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a2ec6632d74675bfb17b8dbeca92e385f">SetClientRequestedInfo</a>( <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo );
+<a name="l00073"></a>00073     
+<a name="l00077"></a>00077     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a2447c239a4d874f4129110d7e9bf744b">SetClientLocationInfoArray</a>( RLbsLocationInfoBaseArray*
+<a name="l00078"></a>00078                                      aLocationInfoArray );
+<a name="l00079"></a>00079     
+<a name="l00083"></a>00083     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a631cba9bc4beaeee124381eaf3b51b22">SetClientLocationInfo</a>( CLbsLocationInfoBase&amp; aLocationInfo );
+<a name="l00084"></a>00084     
+<a name="l00088"></a>00088     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_conversion_handler.html#a8bd0d92f4520803ce4bd88b510f9b288">ReleaseAllResources</a>();
+<a name="l00089"></a>00089     
+<a name="l00090"></a>00090     
+<a name="l00091"></a>00091 <span class="keyword">protected</span>: <span class="comment">// from CActive</span>
+<a name="l00092"></a>00092     <span class="keywordtype">void</span> RunL();
+<a name="l00093"></a>00093     <span class="keywordtype">void</span> DoCancel();
+<a name="l00094"></a>00094     
+<a name="l00095"></a>00095 <span class="keyword">private</span>: 
+<a name="l00096"></a>00096     <a class="code" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>( <a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>&amp; aLocInfoConverter );
+<a name="l00097"></a>00097     
+<a name="l00098"></a>00098     <span class="keywordtype">void</span> ConstructL();
+<a name="l00099"></a>00099     
+<a name="l00100"></a>00100     <span class="keywordtype">void</span> HandleSingleConversionL();
+<a name="l00101"></a>00101     
+<a name="l00102"></a>00102     
+<a name="l00103"></a>00103     <span class="keywordtype">void</span> HandleMultipleConversionL();
+<a name="l00104"></a>00104     
+<a name="l00105"></a>00105     <span class="keywordtype">void</span> GetPositionInfoArrayL( RBufReadStream&amp; readStream, 
+<a name="l00106"></a>00106                                 CLbsLocationInfo&amp; aDesLocationInfo );
+<a name="l00107"></a>00107     
+<a name="l00108"></a>00108     <span class="keywordtype">void</span> GetGsmCellInfoArrayL( RBufReadStream&amp; readStream, 
+<a name="l00109"></a>00109                                CLbsLocationInfo&amp; aDesLocationInfo);
+<a name="l00110"></a>00110     
+<a name="l00111"></a>00111     <span class="keywordtype">void</span> GetWcdmaCellInfoArrayL( RBufReadStream&amp; readStream, 
+<a name="l00112"></a>00112                                  CLbsLocationInfo&amp; aDesLocationInfo );
+<a name="l00113"></a>00113 
+<a name="l00114"></a>00114     <span class="keywordtype">void</span> GetWlanInfoArrayL( RBufReadStream&amp; readStream, 
+<a name="l00115"></a>00115                             CLbsLocationInfo&amp; aDesLocationInfo );
+<a name="l00116"></a>00116 
+<a name="l00117"></a>00117     
+<a name="l00118"></a>00118 <span class="keyword">private</span>: <span class="comment">// Member variables</span>
+<a name="l00122"></a>00122 <span class="comment"></span>    <a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a>&amp;  iLocInfoConverter;
+<a name="l00123"></a>00123     
+<a name="l00127"></a>00127     CBufFlat* iBuffer; 
+<a name="l00128"></a>00128     
+<a name="l00132"></a>00132     TRequestStatus*  iClientStatus;
+<a name="l00133"></a>00133     
+<a name="l00138"></a>00138     RLbsLocationInfoBaseArray* iClientLocationInfoList;
+<a name="l00139"></a>00139     
+<a name="l00143"></a>00143     CLbsLocationInfoBase* iClientLocationInfo;
+<a name="l00144"></a>00144     
+<a name="l00148"></a>00148     <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> iRequestedInfo;
+<a name="l00149"></a>00149     
+<a name="l00153"></a>00153     TAyncRequestType iRequestType;
+<a name="l00154"></a>00154     };
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156 <span class="preprocessor">#endif </span><span class="comment">/*C_LBSLOCINFOCONVERSIONHANDLER_H_*/</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/clbslocmonitorptrholder_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocmonitorptrholder.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocmonitorptrholder.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description:</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef CLBSLOCMONITORPTRHOLDER_H</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define CLBSLOCMONITORPTRHOLDER_H</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00023"></a>00023 
+<a name="l00024"></a><a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">00024</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a> : <span class="keyword">public</span> CBase
+<a name="l00029"></a>00029         {
+<a name="l00030"></a>00030 <span class="keyword">public</span>:
+<a name="l00031"></a>00031         
+<a name="l00032"></a>00032         <span class="keyword">enum</span> TParameter
+<a name="l00033"></a>00033                 {
+<a name="l00034"></a>00034                 EPosForGetLastKnownPosition = 0,
+<a name="l00035"></a>00035                 EPosForGetLastKnownPositionArea,
+<a name="l00036"></a>00036                 EAreaForGetLastKnownPositionArea,
+<a name="l00037"></a>00037                 EParamsForGetLastKnownPositionArea,
+<a name="l00038"></a>00038                 ELastParam, <span class="comment">// Keep this the last</span>
+<a name="l00039"></a>00039                 };
+<a name="l00040"></a>00040         
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00042"></a>00042         IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>* <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html#a54fcba527aee2304ac9bf9c4efe05ec6">NewL</a>(TInt aNumberOfPtrs,
+<a name="l00043"></a>00043                                                     TInt aNumberOfPtrCs);
+<a name="l00044"></a>00044         IMPORT_C <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html#a743a17f5f52cea142a229a7993689481">~CLbsLocMonitorPtrHolder</a>();
+<a name="l00045"></a>00045         IMPORT_C TPtr8&amp; <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html#abdc3ea5fb632883d54444e9f51864ab4">Ptr</a>(TInt aIndex);
+<a name="l00046"></a>00046         IMPORT_C TPtrC8&amp; <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html#ae21cb7e55893df12d6db8971e94206de">PtrC</a>(TInt aIndex);
+<a name="l00047"></a>00047 <span class="keyword">protected</span>:
+<a name="l00048"></a>00048         IMPORT_C <span class="keywordtype">void</span> ConstructL(TInt aNumberOfPtrs, TInt aNumberOfPtrCs);
+<a name="l00049"></a>00049 <span class="keyword">private</span>:
+<a name="l00051"></a>00051         RArray&lt;TPtr8&gt; iPtrArray;
+<a name="l00053"></a>00053         RArray&lt;TPtrC8&gt; iPtrCArray;
+<a name="l00054"></a>00054         };
+<a name="l00055"></a>00055 
+<a name="l00056"></a>00056 <span class="preprocessor">#endif // CLBSLOCMONITORPTRHOLDER_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/doxygen.css	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,545 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+	font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+	text-align: center;
+	font-size: 150%;
+}
+
+h2 {
+	font-size: 120%;
+}
+
+h3 {
+	font-size: 100%;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+	margin-top: 2px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #153788;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #1b77c5;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #6666cc;
+	color: #ffffff;
+	border: 1px double #9295C2;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+	color: #3030f0;
+}
+
+a.codeRef {
+	color: #3030f0;
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+.fragment {
+	font-family: monospace, fixed;
+	font-size: 105%;
+}
+
+pre.fragment {
+	border: 1px solid #CCCCCC;
+	background-color: #f5f5f5;
+	padding: 4px 6px;
+	margin: 4px 8px 4px 2px;
+	overflow: auto;
+	word-wrap: break-word;
+	font-size:  9pt;
+	line-height: 125%;
+}
+
+div.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	margin-bottom: 6px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background: white;
+	color: black;
+	margin-right: 20px;
+	margin-left: 20px;
+}
+
+td.indexkey {
+	background-color: #e8eef2;
+	font-weight: bold;
+	border: 1px solid #CCCCCC;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+}
+
+td.indexvalue {
+	background-color: #e8eef2;
+	border: 1px solid #CCCCCC;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #f0f0f0;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+/* @end */
+
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+	background: #e8eef2;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #666;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #FAFAFA;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+	border-top: 1px solid #ccc;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memTemplParams {
+	color: #606060;
+        white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+	font-size: 80%;
+	color: #606060;
+	font-weight: normal;
+	margin-left: 3px;
+}
+
+.memnav {
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+}
+
+.memname {
+        white-space: nowrap;
+        font-weight: bold;
+        margin-left: 6px;
+}
+
+.memproto {
+        border-top: 1px solid #84b0c7;          
+        border-left: 1px solid #84b0c7;         
+        border-right: 1px solid #84b0c7; 
+        padding: 0;
+        background-color: #d5e1e8;
+        font-weight: bold;
+        /* firefox specific markup */
+        background-image: -moz-linear-gradient(rgba(228, 233, 245, 1.0) 0%, rgba(193, 205, 232, 1.0) 100%);
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 8px;
+        -moz-border-radius-topleft: 8px;
+        /* webkit specific markup */
+        background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(228, 233, 245, 1.0)), to(rgba(193, 205, 232, 1.0)));
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 8px;
+        -webkit-border-top-left-radius: 8px;
+
+}
+
+.memdoc {
+        border-bottom: 1px solid #84b0c7;      
+        border-left: 1px solid #84b0c7;      
+        border-right: 1px solid #84b0c7; 
+        padding: 2px 5px;
+        background-color: #eef3f5;
+        border-top-width: 0;
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 8px;
+        -moz-border-radius-bottomright: 8px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 8px;
+        -webkit-border-bottom-right-radius: 8px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+	font-family: sans-serif;
+	margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+	font-size: 9pt;
+	font-weight: bold;
+}
+
+.directory h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice.  Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+	height: 61px;
+	background-repeat: no-repeat;
+	background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+	display: none;
+}
+*/
+
+.directory > h3 {
+	margin-top: 0;
+}
+
+.directory p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory div {
+	display: none;
+	margin: 0px;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+	font-size: 100%;
+	font-weight: bold;
+}
+
+.directory-alt h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
+
+.directory-alt > h3 {
+	margin-top: 0;
+}
+
+.directory-alt p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory-alt div {
+	display: none;
+	margin: 0px;
+}
+
+.directory-alt img {
+	vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+	font-style: normal;
+	color: #333;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #153788;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #254798;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+	text-align:left;
+}
+
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/doxygen.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/files.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<b>clbslocinfoconversionhandler.h</b> <a href="clbslocinfoconversionhandler_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<b>clbslocmonitorptrholder.h</b> <a href="clbslocmonitorptrholder_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<b>lbslocmonitorclientconsts.h</b> <a href="lbslocmonitorclientconsts_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<b>rlbslocinfoconverter.h</b> <a href="rlbslocinfoconverter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="rlbslocmonitorareapositioner_8h.html">rlbslocmonitorareapositioner.h</a> <a href="rlbslocmonitorareapositioner_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<b>rlbslocmonitorsession.h</b> <a href="rlbslocmonitorsession_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationinfoconverter_8h.html">lbslocationinfoconverter.h</a> <a href="lbslocationinfoconverter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<b>lbslocationinfoconverterimpl.h</b> <a href="lbslocationinfoconverterimpl_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<a class="el" href="lbslocationresolver_8h.html">lbslocationresolver.h</a> <a href="lbslocationresolver_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/<b>lbslocationresolverimpl.h</b> <a href="lbslocationresolverimpl_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/<a class="el" href="lbslocationinfoconvertercommon_8h.html">lbslocationinfoconvertercommon.h</a> <a href="lbslocationinfoconvertercommon_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterpluginbase_8h.html">lbslocinfoconverterpluginbase.h</a> <a href="lbslocinfoconverterpluginbase_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html">lbslocinfoconverterpluginclasstypes.h</a> <a href="lbslocinfoconverterpluginclasstypes_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/<a class="el" href="lbslocinfoconverterplugincommon_8h.html">lbslocinfoconverterplugincommon.h</a> <a href="lbslocinfoconverterplugincommon_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationclasstypes_8h.html">lbslocationclasstypes.h</a> <a href="lbslocationclasstypes_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationcommon_8h.html">lbslocationcommon.h</a> <a href="lbslocationcommon_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationgsminfo_8h.html">lbslocationgsminfo.h</a> <a href="lbslocationgsminfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationgsmneighbourinfo_8h.html">lbslocationgsmneighbourinfo.h</a> <a href="lbslocationgsmneighbourinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationinfo_8h.html">lbslocationinfo.h</a> <a href="lbslocationinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationposinfo_8h.html">lbslocationposinfo.h</a> <a href="lbslocationposinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationwcdmainfo_8h.html">lbslocationwcdmainfo.h</a> <a href="lbslocationwcdmainfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationwcdmaneighbourinfo_8h.html">lbslocationwcdmaneighbourinfo.h</a> <a href="lbslocationwcdmaneighbourinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/<a class="el" href="lbslocationwlaninfo_8h.html">lbslocationwlaninfo.h</a> <a href="lbslocationwlaninfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2blank.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2doc.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2folderclosed.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2folderopen.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2lastnode.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2link.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2mlastnode.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2mnode.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2node.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2plastnode.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2pnode.png has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/ftv2vertline.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,295 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li><a href="#index_~"><span>~</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CancelConvertLocationInfo()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#acfff21622bccd06f1f75bfa63ed3a026">RLbsLocInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#aa9d43529b701bdc042f4074d4b48fcc4">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7e1b55752c5c35fe9c4853ecdd4dbd87">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#ac54cd4e6bdf43eed3274638c401aad0f">CLbsLocationInfoConverterImpl</a>
+</li>
+<li>CancelDatabaseWipeOut()
+: <a class="el" href="class_r_lbs_loc_monitor_session.html#a12cca6b3c2caef8b98eb1bf34d49b2a6">RLbsLocMonitorSession</a>
+</li>
+<li>CancelResolveLocation()
+: <a class="el" href="class_c_lbs_location_resolver.html#ac7c1ea59321c68a46f8277498723c5e1">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a912676c6637d305e8a62525a30878511">CLbsLocationResolverImpl</a>
+</li>
+<li>CancelValidateClient()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#ac586192b3ac33450c7d2254382468681">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>CLbsLocationResolver()
+: <a class="el" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a>
+</li>
+<li>Close()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a98540bd6149efc361d9ff19561d52e2d">RLbsLocInfoConverter</a>
+</li>
+<li>Connect()
+: <a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">RLbsLocMonitorSession</a>
+</li>
+<li>ConstructL()
+: <a class="el" href="class_c_lbs_location_resolver.html#a3c23413afa1d44cf1b58b4b4a8a672d5">CLbsLocationResolver</a>
+</li>
+<li>ConversionPluginPreferences()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a389fb993c8bdf0f45960c6e3faa46683">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>ConversionPreferences()
+: <a class="el" href="class_c_lbs_location_resolver_impl.html#a3f0bb3cc5d8301954ecc0229afa2db51">CLbsLocationResolverImpl</a>
+, <a class="el" href="class_c_lbs_location_resolver.html#afc2bea58ab6b98f985c1671d22bca757">CLbsLocationResolver</a>
+</li>
+<li>ConvertLocationInfoL()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">CLbsLocationInfoConverterImpl</a>
+, <a class="el" href="class_r_lbs_loc_info_converter.html#abf0ea1be9a334da668dd8a7e33b63700">RLbsLocInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#a654903fd4ae994d2a736ab0f9692ffb8">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#a00865162431a89ca89ec10eeb20b75bf">CLbsLocationInfoConverterImpl</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>ExtendedInterface()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#abd1623c4637aeef0553039eca650dce8">CLbsLocInfoConverterPluginBase</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>GetLastKnownPositionArea()
+: <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#a2f44c219405b811f7f44ff291e3acdfc">RLbsLocMonitorAreaPositioner</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>HandleMultipleConversionBufferSizeL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a7b535c2636a901025ad076e0e1b6a921">RLbsLocInfoConverter</a>
+</li>
+<li>HandleSingleConversionBufferSizeL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a304df177e37e74e3bcfb6ab79e0d2e55">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>iClassSize
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">TLbsLocInfoConverterPluginClassTypeBase</a>
+</li>
+<li>iClassType
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">TLbsLocInfoConverterPluginClassTypeBase</a>
+</li>
+<li>iObserver
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">TLbsLocInfoConverterPluginParams</a>
+</li>
+<li>iReserved
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">TLbsLocInfoConverterPluginParams</a>
+</li>
+<li>IsPluginPositionToBeCached()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#aca3412234c5ce35908432faeadc78db5">TLbsConversionPluginInfo</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NewL()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#afd8cb1555d5a5aa825caa2dc2e4723fe">CLbsLocInfoConversionHandler</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a74210e99e035a4f3db4c4aa67ff1559f">CLbsLocationResolverImpl</a>
+, <a class="el" href="class_c_lbs_location_resolver.html#a2e5971479312910304d306a8fb3c5fc1">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#ad118bba8abd7661e404f1bd047ee7f6e">CLbsLocationInfoConverterImpl</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#a0109bd74c44d356be22f10385644dece">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a54fcba527aee2304ac9bf9c4efe05ec6">CLbsLocMonitorPtrHolder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>Observer()
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a75a31120987e1b1ffe2bbf88e21ae5fe">TLbsLocInfoConverterPluginParams</a>
+</li>
+<li>OnConversionComplete()
+: <a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">MLbsLocationInfoConverterObserver</a>
+, <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">MLbsLocInfoConverterPluginObserver</a>
+</li>
+<li>OnResolveLocationComplete()
+: <a class="el" href="class_m_lbs_location_resolver_observer.html#add94f89e5ae465ecc4f1fd4eaaaa84ad">MLbsLocationResolverObserver</a>
+</li>
+<li>OnValidationComplete()
+: <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">MLbsLocInfoConverterPluginObserver</a>
+</li>
+<li>OpenL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a7cdb7398cea8b55f0f94d6e89bca4179">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>PluginCapabilitiesMask()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#a86ba2b72a2db2ec9b68bcc38e2693803">TLbsConversionPluginInfo</a>
+</li>
+<li>Ptr()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#abdc3ea5fb632883d54444e9f51864ab4">CLbsLocMonitorPtrHolder</a>
+</li>
+<li>PtrC()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#ae21cb7e55893df12d6db8971e94206de">CLbsLocMonitorPtrHolder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>ReleaseAllResources()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a8bd0d92f4520803ce4bd88b510f9b288">CLbsLocInfoConversionHandler</a>
+</li>
+<li>ResolveLocationL()
+: <a class="el" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a3693b2bbcc8162a0867e5b737c305fa7">CLbsLocationResolverImpl</a>
+</li>
+<li>RLbsLocInfoConverter()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a27b49873055b412cfaa202743c109d39">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SetBuffer()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a7a5eceb6edcd80ad29cc535781358fe6">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientLocationInfo()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a631cba9bc4beaeee124381eaf3b51b22">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientLocationInfoArray()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2447c239a4d874f4129110d7e9bf744b">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientRequestedInfo()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2ec6632d74675bfb17b8dbeca92e385f">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetConversionPreferences()
+: <a class="el" href="class_c_lbs_location_resolver.html#a3bdff89e72ec3a0a02afdab217453b70">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a839dc66acd955ca231cf9f5c5fffad9b">CLbsLocationResolverImpl</a>
+</li>
+<li>SetIsPluginPositionToBeCached()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#a95955104b7bdd7ec237c19f63a6f04c4">TLbsConversionPluginInfo</a>
+</li>
+<li>SetLastKnownPosition()
+: <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#ae44dfca283fe78209b24eda1287f0d12">RLbsLocMonitorAreaPositioner</a>
+</li>
+<li>SetPluginCapabilitiesMask()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#ae2a5a5ddc40f37c169249ccc2c34df5e">TLbsConversionPluginInfo</a>
+</li>
+<li>SetStatus()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#ad9f397eb619af1561fdd678efc5ee27c">CLbsLocInfoConversionHandler</a>
+</li>
+<li>Start()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a98c6643d27b542ec8feb758d2dc0f955">CLbsLocInfoConversionHandler</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TLbsLocInfoConverterPluginParams()
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a10e8bacd53077471825fd59a916c0304">TLbsLocInfoConverterPluginParams</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>ValidateClient()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>ValidateLocationInfoL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#ad2e6b7351e87ea29853b49c6c363a96c">RLbsLocInfoConverter</a>
+</li>
+<li>Version()
+: <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a6208d2f8734f122237961d166d938e6e">MLbsLocInfoConverterPluginObserver</a>
+, <a class="el" href="class_m_lbs_location_resolver_observer.html#a47687d47bba200328aa8e667988368dd">MLbsLocationResolverObserver</a>
+, <a class="el" href="class_m_lbs_location_info_converter_observer.html#a70b7d904faea34a467916a3d78c89711">MLbsLocationInfoConverterObserver</a>
+, <a class="el" href="class_r_lbs_loc_monitor_session.html#a413bb507464ac0b1bacbeae3cf41605b">RLbsLocMonitorSession</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a07c4a46bbd12e99ec81ca838c94b2e93">CLbsLocInfoConverterPluginBase</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~CLbsLocationInfoConverter()
+: <a class="el" href="class_c_lbs_location_info_converter.html#aea397c9a46753269534f76cbfadd6f26">CLbsLocationInfoConverter</a>
+</li>
+<li>~CLbsLocationInfoConverterImpl()
+: <a class="el" href="class_c_lbs_location_info_converter_impl.html#a6922af7983e0624cf5c3c041c69527af">CLbsLocationInfoConverterImpl</a>
+</li>
+<li>~CLbsLocationResolver()
+: <a class="el" href="class_c_lbs_location_resolver.html#a560b5fd5826f872c27c260c22e3a57c1">CLbsLocationResolver</a>
+</li>
+<li>~CLbsLocationResolverImpl()
+: <a class="el" href="class_c_lbs_location_resolver_impl.html#a54a5146d440c18d4468bc6165d59800c">CLbsLocationResolverImpl</a>
+</li>
+<li>~CLbsLocInfoConversionHandler()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a39c27f20318ed964e7a7c0b83f093310">CLbsLocInfoConversionHandler</a>
+</li>
+<li>~CLbsLocInfoConverterPluginBase()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a23ef537586fdf199425c1a640cfa7e7d">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>~CLbsLocMonitorPtrHolder()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a743a17f5f52cea142a229a7993689481">CLbsLocMonitorPtrHolder</a>
+</li>
+<li>~RLbsLocInfoConverter()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a875dd09fefca7f50a56eba86760aa145">RLbsLocInfoConverter</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions_func.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,283 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li><a href="#index_~"><span>~</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CancelConvertLocationInfo()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#acfff21622bccd06f1f75bfa63ed3a026">RLbsLocInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#aa9d43529b701bdc042f4074d4b48fcc4">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7e1b55752c5c35fe9c4853ecdd4dbd87">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#ac54cd4e6bdf43eed3274638c401aad0f">CLbsLocationInfoConverterImpl</a>
+</li>
+<li>CancelDatabaseWipeOut()
+: <a class="el" href="class_r_lbs_loc_monitor_session.html#a12cca6b3c2caef8b98eb1bf34d49b2a6">RLbsLocMonitorSession</a>
+</li>
+<li>CancelResolveLocation()
+: <a class="el" href="class_c_lbs_location_resolver.html#ac7c1ea59321c68a46f8277498723c5e1">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a912676c6637d305e8a62525a30878511">CLbsLocationResolverImpl</a>
+</li>
+<li>CancelValidateClient()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#ac586192b3ac33450c7d2254382468681">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>CLbsLocationResolver()
+: <a class="el" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a>
+</li>
+<li>Close()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a98540bd6149efc361d9ff19561d52e2d">RLbsLocInfoConverter</a>
+</li>
+<li>Connect()
+: <a class="el" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">RLbsLocMonitorSession</a>
+</li>
+<li>ConstructL()
+: <a class="el" href="class_c_lbs_location_resolver.html#a3c23413afa1d44cf1b58b4b4a8a672d5">CLbsLocationResolver</a>
+</li>
+<li>ConversionPluginPreferences()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a389fb993c8bdf0f45960c6e3faa46683">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>ConversionPreferences()
+: <a class="el" href="class_c_lbs_location_resolver_impl.html#a3f0bb3cc5d8301954ecc0229afa2db51">CLbsLocationResolverImpl</a>
+, <a class="el" href="class_c_lbs_location_resolver.html#afc2bea58ab6b98f985c1671d22bca757">CLbsLocationResolver</a>
+</li>
+<li>ConvertLocationInfoL()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">CLbsLocationInfoConverterImpl</a>
+, <a class="el" href="class_r_lbs_loc_info_converter.html#abf0ea1be9a334da668dd8a7e33b63700">RLbsLocInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#a654903fd4ae994d2a736ab0f9692ffb8">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#a00865162431a89ca89ec10eeb20b75bf">CLbsLocationInfoConverterImpl</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>ExtendedInterface()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#abd1623c4637aeef0553039eca650dce8">CLbsLocInfoConverterPluginBase</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>GetLastKnownPositionArea()
+: <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#a2f44c219405b811f7f44ff291e3acdfc">RLbsLocMonitorAreaPositioner</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>HandleMultipleConversionBufferSizeL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a7b535c2636a901025ad076e0e1b6a921">RLbsLocInfoConverter</a>
+</li>
+<li>HandleSingleConversionBufferSizeL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a304df177e37e74e3bcfb6ab79e0d2e55">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>IsPluginPositionToBeCached()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#aca3412234c5ce35908432faeadc78db5">TLbsConversionPluginInfo</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NewL()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#afd8cb1555d5a5aa825caa2dc2e4723fe">CLbsLocInfoConversionHandler</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">CLbsLocInfoConverterPluginBase</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a74210e99e035a4f3db4c4aa67ff1559f">CLbsLocationResolverImpl</a>
+, <a class="el" href="class_c_lbs_location_resolver.html#a2e5971479312910304d306a8fb3c5fc1">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_info_converter_impl.html#ad118bba8abd7661e404f1bd047ee7f6e">CLbsLocationInfoConverterImpl</a>
+, <a class="el" href="class_c_lbs_location_info_converter.html#a0109bd74c44d356be22f10385644dece">CLbsLocationInfoConverter</a>
+, <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a54fcba527aee2304ac9bf9c4efe05ec6">CLbsLocMonitorPtrHolder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>Observer()
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a75a31120987e1b1ffe2bbf88e21ae5fe">TLbsLocInfoConverterPluginParams</a>
+</li>
+<li>OnConversionComplete()
+: <a class="el" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">MLbsLocationInfoConverterObserver</a>
+, <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">MLbsLocInfoConverterPluginObserver</a>
+</li>
+<li>OnResolveLocationComplete()
+: <a class="el" href="class_m_lbs_location_resolver_observer.html#add94f89e5ae465ecc4f1fd4eaaaa84ad">MLbsLocationResolverObserver</a>
+</li>
+<li>OnValidationComplete()
+: <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">MLbsLocInfoConverterPluginObserver</a>
+</li>
+<li>OpenL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a7cdb7398cea8b55f0f94d6e89bca4179">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>PluginCapabilitiesMask()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#a86ba2b72a2db2ec9b68bcc38e2693803">TLbsConversionPluginInfo</a>
+</li>
+<li>Ptr()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#abdc3ea5fb632883d54444e9f51864ab4">CLbsLocMonitorPtrHolder</a>
+</li>
+<li>PtrC()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#ae21cb7e55893df12d6db8971e94206de">CLbsLocMonitorPtrHolder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>ReleaseAllResources()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a8bd0d92f4520803ce4bd88b510f9b288">CLbsLocInfoConversionHandler</a>
+</li>
+<li>ResolveLocationL()
+: <a class="el" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a3693b2bbcc8162a0867e5b737c305fa7">CLbsLocationResolverImpl</a>
+</li>
+<li>RLbsLocInfoConverter()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a27b49873055b412cfaa202743c109d39">RLbsLocInfoConverter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SetBuffer()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a7a5eceb6edcd80ad29cc535781358fe6">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientLocationInfo()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a631cba9bc4beaeee124381eaf3b51b22">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientLocationInfoArray()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2447c239a4d874f4129110d7e9bf744b">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetClientRequestedInfo()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a2ec6632d74675bfb17b8dbeca92e385f">CLbsLocInfoConversionHandler</a>
+</li>
+<li>SetConversionPreferences()
+: <a class="el" href="class_c_lbs_location_resolver.html#a3bdff89e72ec3a0a02afdab217453b70">CLbsLocationResolver</a>
+, <a class="el" href="class_c_lbs_location_resolver_impl.html#a839dc66acd955ca231cf9f5c5fffad9b">CLbsLocationResolverImpl</a>
+</li>
+<li>SetIsPluginPositionToBeCached()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#a95955104b7bdd7ec237c19f63a6f04c4">TLbsConversionPluginInfo</a>
+</li>
+<li>SetLastKnownPosition()
+: <a class="el" href="class_r_lbs_loc_monitor_area_positioner.html#ae44dfca283fe78209b24eda1287f0d12">RLbsLocMonitorAreaPositioner</a>
+</li>
+<li>SetPluginCapabilitiesMask()
+: <a class="el" href="class_t_lbs_conversion_plugin_info.html#ae2a5a5ddc40f37c169249ccc2c34df5e">TLbsConversionPluginInfo</a>
+</li>
+<li>SetStatus()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#ad9f397eb619af1561fdd678efc5ee27c">CLbsLocInfoConversionHandler</a>
+</li>
+<li>Start()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a98c6643d27b542ec8feb758d2dc0f955">CLbsLocInfoConversionHandler</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TLbsLocInfoConverterPluginParams()
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a10e8bacd53077471825fd59a916c0304">TLbsLocInfoConverterPluginParams</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>ValidateClient()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>ValidateLocationInfoL()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#ad2e6b7351e87ea29853b49c6c363a96c">RLbsLocInfoConverter</a>
+</li>
+<li>Version()
+: <a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html#a6208d2f8734f122237961d166d938e6e">MLbsLocInfoConverterPluginObserver</a>
+, <a class="el" href="class_m_lbs_location_resolver_observer.html#a47687d47bba200328aa8e667988368dd">MLbsLocationResolverObserver</a>
+, <a class="el" href="class_m_lbs_location_info_converter_observer.html#a70b7d904faea34a467916a3d78c89711">MLbsLocationInfoConverterObserver</a>
+, <a class="el" href="class_r_lbs_loc_monitor_session.html#a413bb507464ac0b1bacbeae3cf41605b">RLbsLocMonitorSession</a>
+, <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a07c4a46bbd12e99ec81ca838c94b2e93">CLbsLocInfoConverterPluginBase</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~CLbsLocationInfoConverter()
+: <a class="el" href="class_c_lbs_location_info_converter.html#aea397c9a46753269534f76cbfadd6f26">CLbsLocationInfoConverter</a>
+</li>
+<li>~CLbsLocationInfoConverterImpl()
+: <a class="el" href="class_c_lbs_location_info_converter_impl.html#a6922af7983e0624cf5c3c041c69527af">CLbsLocationInfoConverterImpl</a>
+</li>
+<li>~CLbsLocationResolver()
+: <a class="el" href="class_c_lbs_location_resolver.html#a560b5fd5826f872c27c260c22e3a57c1">CLbsLocationResolver</a>
+</li>
+<li>~CLbsLocationResolverImpl()
+: <a class="el" href="class_c_lbs_location_resolver_impl.html#a54a5146d440c18d4468bc6165d59800c">CLbsLocationResolverImpl</a>
+</li>
+<li>~CLbsLocInfoConversionHandler()
+: <a class="el" href="class_c_lbs_loc_info_conversion_handler.html#a39c27f20318ed964e7a7c0b83f093310">CLbsLocInfoConversionHandler</a>
+</li>
+<li>~CLbsLocInfoConverterPluginBase()
+: <a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html#a23ef537586fdf199425c1a640cfa7e7d">CLbsLocInfoConverterPluginBase</a>
+</li>
+<li>~CLbsLocMonitorPtrHolder()
+: <a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html#a743a17f5f52cea142a229a7993689481">CLbsLocMonitorPtrHolder</a>
+</li>
+<li>~RLbsLocInfoConverter()
+: <a class="el" href="class_r_lbs_loc_info_converter.html#a875dd09fefca7f50a56eba86760aa145">RLbsLocInfoConverter</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/functions_vars.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>iClassSize
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">TLbsLocInfoConverterPluginClassTypeBase</a>
+</li>
+<li>iClassType
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">TLbsLocInfoConverterPluginClassTypeBase</a>
+</li>
+<li>iObserver
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">TLbsLocInfoConverterPluginParams</a>
+</li>
+<li>iReserved
+: <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">TLbsLocInfoConverterPluginParams</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+Here is a list of all documented file members with links to the documentation:
+
+<h3><a class="anchor" id="index__">- _ -</a></h3><ul>
+<li>_TLbsAreaInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">lbslocationclasstypes.h</a>
+</li>
+<li>_TLbsConversionOutputInfoMask
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>_TLbsConversionPluginCapabilityMask
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>_TLbsConversionPrefs
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>_TLbsLocationInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">lbslocationclasstypes.h</a>
+</li>
+<li>_TLbsLocInfoConverterPluginParamsClassType
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>ELbsAreaGsmCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaGsmNeighbourCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaInfoLastClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaInfoUnknownClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaPositionInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWcmdaCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWcmdaNeighbourCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWlanInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsConversionCacheOnly
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionNotDefined
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputGsm
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputNotDefined
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputPosition
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputWcdma
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputWlan
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionPrompt
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionSilent
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsLocationInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocationInfoLastClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocationInfoUnknownClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsLastClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsUnknownClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsPluginCapabilityAreaInfoAll
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityGsmInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityNotDefined
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityPosInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityWcdmaInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityWlanInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsWlanOnly
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c">lbslocationinfoconvertercommon.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>KLbsWlanMacAddressLength
+: <a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">lbslocationwlaninfo.h</a>
+</li>
+<li>KPositionMaxBatchSize
+: <a class="el" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">lbslocationcommon.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NONSHARABLE_CLASS()
+: <a class="el" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">lbslocationcommon.h</a>
+, <a class="el" href="lbslocationwlaninfo_8h.html#abfc85a96b978a03e0a7377fea384ced0">lbslocationwlaninfo.h</a>
+, <a class="el" href="lbslocationwcdmaneighbourinfo_8h.html#a5ccd4736467b5ad479bd8398968a2e71">lbslocationwcdmaneighbourinfo.h</a>
+, <a class="el" href="lbslocationwcdmainfo_8h.html#ad6c417aacbf166bebdc3aa64176fab0d">lbslocationwcdmainfo.h</a>
+, <a class="el" href="lbslocationposinfo_8h.html#a5c2dbd94b6527a5a2abfa07488aaac59">lbslocationposinfo.h</a>
+, <a class="el" href="lbslocationinfo_8h.html#a2d138afbad0938ffef52dfb2c6b773ad">lbslocationinfo.h</a>
+, <a class="el" href="lbslocationgsmneighbourinfo_8h.html#a21bd95d3fa0cee1bbfd77683343479a0">lbslocationgsmneighbourinfo.h</a>
+, <a class="el" href="lbslocationgsminfo_8h.html#a0c05102188ddb748ae9406eb69d7c834">lbslocationgsminfo.h</a>
+, <a class="el" href="lbslocationcommon_8h.html#a5e886a3c42f115f6213aefbee7d68d8e">lbslocationcommon.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>RLbsAreaInfoBaseArray
+: <a class="el" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">lbslocationinfo.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TLbsAreaInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">lbslocationclasstypes.h</a>
+</li>
+<li>TLbsConversionOutputInfoMask
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>TLbsConversionPluginCapabilityMask
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>TLbsConversionPrefs
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>TLbsLocationInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">lbslocationclasstypes.h</a>
+</li>
+<li>TLbsLocInfoConverterPluginParamsClassType
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>TLbsWlanMacAddress
+: <a class="el" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">lbslocationwlaninfo.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_enum.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>_TLbsAreaInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">lbslocationclasstypes.h</a>
+</li>
+<li>_TLbsConversionOutputInfoMask
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>_TLbsConversionPluginCapabilityMask
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>_TLbsConversionPrefs
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>_TLbsLocationInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">lbslocationclasstypes.h</a>
+</li>
+<li>_TLbsLocInfoConverterPluginParamsClassType
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_eval.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>ELbsAreaGsmCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaGsmNeighbourCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaInfoLastClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaInfoUnknownClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaPositionInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWcmdaCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWcmdaNeighbourCellInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsAreaWlanInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsConversionCacheOnly
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionNotDefined
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputGsm
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputNotDefined
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputPosition
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputWcdma
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionOutputWlan
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionPrompt
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsConversionSilent
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>ELbsLocationInfoClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocationInfoLastClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocationInfoUnknownClass
+: <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f">lbslocationclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsLastClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsLocInfoConverterPluginParamsUnknownClass
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>ELbsPluginCapabilityAreaInfoAll
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityGsmInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityNotDefined
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityPosInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityWcdmaInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsPluginCapabilityWlanInfo
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>ELbsWlanOnly
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c">lbslocationinfoconvertercommon.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_func.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>NONSHARABLE_CLASS()
+: <a class="el" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">lbslocationcommon.h</a>
+, <a class="el" href="lbslocationwlaninfo_8h.html#abfc85a96b978a03e0a7377fea384ced0">lbslocationwlaninfo.h</a>
+, <a class="el" href="lbslocationwcdmaneighbourinfo_8h.html#a5ccd4736467b5ad479bd8398968a2e71">lbslocationwcdmaneighbourinfo.h</a>
+, <a class="el" href="lbslocationwcdmainfo_8h.html#ad6c417aacbf166bebdc3aa64176fab0d">lbslocationwcdmainfo.h</a>
+, <a class="el" href="lbslocationposinfo_8h.html#a5c2dbd94b6527a5a2abfa07488aaac59">lbslocationposinfo.h</a>
+, <a class="el" href="lbslocationinfo_8h.html#a2d138afbad0938ffef52dfb2c6b773ad">lbslocationinfo.h</a>
+, <a class="el" href="lbslocationgsmneighbourinfo_8h.html#a21bd95d3fa0cee1bbfd77683343479a0">lbslocationgsmneighbourinfo.h</a>
+, <a class="el" href="lbslocationgsminfo_8h.html#a0c05102188ddb748ae9406eb69d7c834">lbslocationgsminfo.h</a>
+, <a class="el" href="lbslocationcommon_8h.html#a5e886a3c42f115f6213aefbee7d68d8e">lbslocationcommon.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_type.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>RLbsAreaInfoBaseArray
+: <a class="el" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">lbslocationinfo.h</a>
+</li>
+<li>TLbsAreaInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">lbslocationclasstypes.h</a>
+</li>
+<li>TLbsConversionOutputInfoMask
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>TLbsConversionPluginCapabilityMask
+: <a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">lbslocinfoconverterplugincommon.h</a>
+</li>
+<li>TLbsConversionPrefs
+: <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">lbslocationinfoconvertercommon.h</a>
+</li>
+<li>TLbsLocationInfoClassType
+: <a class="el" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">lbslocationclasstypes.h</a>
+</li>
+<li>TLbsLocInfoConverterPluginParamsClassType
+: <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">lbslocinfoconverterpluginclasstypes.h</a>
+</li>
+<li>TLbsWlanMacAddress
+: <a class="el" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">lbslocationwlaninfo.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/globals_vars.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>KLbsWlanMacAddressLength
+: <a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">lbslocationwlaninfo.h</a>
+</li>
+<li>KPositionMaxBatchSize
+: <a class="el" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">lbslocationcommon.h</a>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/hierarchy.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Hierarchical Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></li>
+<li><a class="el" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a></li>
+<li><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></li>
+<li><a class="el" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a></li>
+<li><a class="el" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a></li>
+<li><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></li>
+<li><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a></li>
+<li><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a></li>
+<li><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a></li>
+<li><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></li>
+<li><a class="el" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a></li>
+<li><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></li>
+<li><a class="el" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a></li>
+<li><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a></li>
+<li><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></li>
+<li><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a><ul>
+<li><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/index.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs</title>
+</head>
+<frameset cols="250,*">
+  <frame src="tree.html" name="treefrm"/>
+  <frame src="main.html" name="basefrm"/>
+  <noframes>
+    <body>
+    <a href="main.html">Frames are disabled. Click here to go to the main page.</a>
+    </body>
+  </noframes>
+</frameset>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationclasstypes_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h File Reference</h1>
+<p><a href="lbslocationclasstypes_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">TLbsLocationInfoClassType</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">_TLbsAreaInfoClassType</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80">ELbsAreaInfoUnknownClass</a> =  0x00, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82">ELbsAreaPositionInfoClass</a> =  0x01, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84">ELbsAreaGsmCellInfoClass</a> =  0x02, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec">ELbsAreaGsmNeighbourCellInfoClass</a> =  0x04, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba">ELbsAreaWcmdaCellInfoClass</a> =  0x08, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f">ELbsAreaWcmdaNeighbourCellInfoClass</a> =  0x10, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a">ELbsAreaWlanInfoClass</a> =  0x20, 
+<a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5">ELbsAreaInfoLastClass</a> =  0xFFFFFFFF
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">_TLbsLocationInfoClassType</a> { <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f">ELbsLocationInfoUnknownClass</a> =  0x00, 
+<a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125">ELbsLocationInfoClass</a> =  0x01, 
+<a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58">ELbsLocationInfoLastClass</a> =  0xFFFFFFFF
+ }</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aa55c9059044a098c549d243ae561a686"></a><!-- doxytag: member="lbslocationclasstypes.h::TLbsAreaInfoClassType" ref="aa55c9059044a098c549d243ae561a686" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Type used for identifying location info class types </p>
+
+</div>
+</div>
+<a class="anchor" id="abdd7a757542d47ab3d12c493aba35e9c"></a><!-- doxytag: member="lbslocationclasstypes.h::TLbsLocationInfoClassType" ref="abdd7a757542d47ab3d12c493aba35e9c" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">TLbsLocationInfoClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Type used for identifying location info class types </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a865c2465c5d9340b559da6e964190990"></a><!-- doxytag: member="lbslocationclasstypes.h::_TLbsAreaInfoClassType" ref="a865c2465c5d9340b559da6e964190990" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">_TLbsAreaInfoClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enumeration to indicate the type of area information. This information is included when a client application creates a class derived from CLbsAreaInfoBase </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80"></a><!-- doxytag: member="ELbsAreaInfoUnknownClass" ref="a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80" args="" -->ELbsAreaInfoUnknownClass</em>&nbsp;</td><td>
+<p>Should be used for data initialisation only </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82"></a><!-- doxytag: member="ELbsAreaPositionInfoClass" ref="a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82" args="" -->ELbsAreaPositionInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsPositionInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84"></a><!-- doxytag: member="ELbsAreaGsmCellInfoClass" ref="a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84" args="" -->ELbsAreaGsmCellInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsGsmCellInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec"></a><!-- doxytag: member="ELbsAreaGsmNeighbourCellInfoClass" ref="a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec" args="" -->ELbsAreaGsmNeighbourCellInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsGsmNeighbourCellInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba"></a><!-- doxytag: member="ELbsAreaWcmdaCellInfoClass" ref="a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba" args="" -->ELbsAreaWcmdaCellInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsWcdmaCellInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f"></a><!-- doxytag: member="ELbsAreaWcmdaNeighbourCellInfoClass" ref="a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f" args="" -->ELbsAreaWcmdaNeighbourCellInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsWcdmaNeighbourCellInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a"></a><!-- doxytag: member="ELbsAreaWlanInfoClass" ref="a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a" args="" -->ELbsAreaWlanInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsWlanInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5"></a><!-- doxytag: member="ELbsAreaInfoLastClass" ref="a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5" args="" -->ELbsAreaInfoLastClass</em>&nbsp;</td><td>
+<p>Not used </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a393a336ecd90cf329ce0e0e0cfab57b9"></a><!-- doxytag: member="lbslocationclasstypes.h::_TLbsLocationInfoClassType" ref="a393a336ecd90cf329ce0e0e0cfab57b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">_TLbsLocationInfoClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enumeration to indicate the type of area information. This information is included when a client application creates a class derived from CLbsLocationInfoBase </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f"></a><!-- doxytag: member="ELbsLocationInfoUnknownClass" ref="a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f" args="" -->ELbsLocationInfoUnknownClass</em>&nbsp;</td><td>
+<p>Should be used for data initialisation only </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125"></a><!-- doxytag: member="ELbsLocationInfoClass" ref="a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125" args="" -->ELbsLocationInfoClass</em>&nbsp;</td><td>
+<p>Identifier for CLbsLocationInfo class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58"></a><!-- doxytag: member="ELbsLocationInfoLastClass" ref="a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58" args="" -->ELbsLocationInfoLastClass</em>&nbsp;</td><td>
+<p>Not used </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationclasstypes_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h</h1><a href="lbslocationclasstypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: </span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef LBS_LOCATION_CLASS_TYPES_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATION_CLASS_TYPES_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 
+<a name="l00032"></a><a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">00032</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a>;
+<a name="l00033"></a>00033 
+<a name="l00039"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">00039</a> <span class="keyword">enum</span> <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990">_TLbsAreaInfoClassType</a>
+<a name="l00040"></a>00040     {
+<a name="l00044"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80">00044</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990afa13fd3fdf1ec4afd0d67fbed3a3ea80">ELbsAreaInfoUnknownClass</a>                = 0x00,
+<a name="l00045"></a>00045     
+<a name="l00049"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82">00049</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3c453c9c2573238cbe23447a8e158f82">ELbsAreaPositionInfoClass</a>             = 0x01,
+<a name="l00050"></a>00050     
+<a name="l00054"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84">00054</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a3cc14466ba757356b60ad4b0f9deaf84">ELbsAreaGsmCellInfoClass</a>                = 0x02,
+<a name="l00055"></a>00055     
+<a name="l00059"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec">00059</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a8c500d52fe46ccfec5152a79011957ec">ELbsAreaGsmNeighbourCellInfoClass</a>       = 0x04,
+<a name="l00060"></a>00060     
+<a name="l00064"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba">00064</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a2909ebe98bf2cda9c4dc910d1bb047ba">ELbsAreaWcmdaCellInfoClass</a>              = 0x08,
+<a name="l00065"></a>00065     
+<a name="l00069"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f">00069</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990a785e3445230633f2989813b283828b2f">ELbsAreaWcmdaNeighbourCellInfoClass</a>     = 0x10,
+<a name="l00070"></a>00070     
+<a name="l00074"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a">00074</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ade1550539d8e5ad0d09e67c5cddadc3a">ELbsAreaWlanInfoClass</a>                   = 0x20,
+<a name="l00075"></a>00075     
+<a name="l00079"></a><a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5">00079</a>     <a class="code" href="lbslocationclasstypes_8h.html#a865c2465c5d9340b559da6e964190990ae99366c1fa7ebf73cb3cb383e03947b5">ELbsAreaInfoLastClass</a>                   = 0xFFFFFFFF
+<a name="l00080"></a>00080     };
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082 
+<a name="l00086"></a><a class="code" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">00086</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">TLbsLocationInfoClassType</a>;
+<a name="l00087"></a>00087 
+<a name="l00093"></a><a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">00093</a> <span class="keyword">enum</span> <a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9">_TLbsLocationInfoClassType</a>
+<a name="l00094"></a>00094     {
+<a name="l00098"></a><a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f">00098</a>         <a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9ace24fc59cc74f3fce3fdf7b91a920d4f">ELbsLocationInfoUnknownClass</a>    = 0x00,
+<a name="l00099"></a>00099 
+<a name="l00103"></a><a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125">00103</a>     <a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8561159582988cd01f1d31f822ad1125">ELbsLocationInfoClass</a>           = 0x01,
+<a name="l00104"></a>00104 
+<a name="l00108"></a><a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58">00108</a>         <a class="code" href="lbslocationclasstypes_8h.html#a393a336ecd90cf329ce0e0e0cfab57b9a8c4c7eec1018f96fd82a46aa0eea1c58">ELbsLocationInfoLastClass</a>       = 0xFFFFFFFF
+<a name="l00109"></a>00109     };
+<a name="l00110"></a>00110 
+<a name="l00111"></a>00111 <span class="preprocessor">#endif //LBS_LOCATION_CLASS_TYPES_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationcommon_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h File Reference</h1><code>#include &lt;e32base.h&gt;</code><br/>
+<code>#include &lt;s32strm.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationclasstypes.h&gt;</code><br/>
+
+<p><a href="lbslocationcommon_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa866992e50f8b0acd847ba932d21d0bd"></a><!-- doxytag: member="lbslocationcommon.h::RLbsLocationInfoBaseArray" ref="aa866992e50f8b0acd847ba932d21d0bd" args="" -->
+typedef RPointerArray<br class="typebreak"/>
+&lt; CLbsLocationInfoBase &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>RLbsLocationInfoBaseArray</b></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a> (CLbsLocationInfoBase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationcommon_8h.html#a5e886a3c42f115f6213aefbee7d68d8e">NONSHARABLE_CLASS</a> (CLbsAreaInfoBase)</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const TUint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">KPositionMaxBatchSize</a> = 500</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a5e886a3c42f115f6213aefbee7d68d8e"></a><!-- doxytag: member="lbslocationcommon.h::NONSHARABLE_CLASS" ref="a5e886a3c42f115f6213aefbee7d68d8e" args="(CLbsAreaInfoBase)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsAreaInfoBase&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Abstract base class for data types representing geogrphical area information.</p>
+<p>Geographical information may be a collection of GSM or WCDMA cells or WLAN information. </p>
+
+<p><p>This method is implemented by each of the geographical area type classes that extend this class. The method returns the type of geographical area being represented.</p>
+<p>Destructor</p>
+<p>Internalizes the geographical area information from a stream.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream from which the object is internalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Externalizes the geographical area information to a stream.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream to which the object is to be externalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Validates area information.</p>
+<p>C++ default constructor</p>
+<p>Internalize method that subclass must implement.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream from which the object is internalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Externalize method that subclass must implement.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream to which the object is to be externalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Reserved for future use.</p>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ac442d2bb6041514ef3eb0a2b55d4dad3"></a><!-- doxytag: member="lbslocationcommon.h::NONSHARABLE_CLASS" ref="ac442d2bb6041514ef3eb0a2b55d4dad3" args="(CLbsLocationInfoBase)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfoBase&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Abstract base class for data class representing location area information. </p>
+
+<p><p>This method is implemented by each of the derived classes that extend this class.</p>
+<p>Destructor</p>
+<p>Internalizes the geographical area information from a stream.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream from which the object is internalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Externalizes the geographical area information to a stream.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream to which the object is to be externalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>C++ default constructor</p>
+<p>Internalize method that subclass must implement.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream from which the object is internalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Externalize method that subclass must implement.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aStream</em>&nbsp;</td><td>Stream to which the object is to be externalized.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a5bc767e67250b1cfcd091fadebfaaa09"></a><!-- doxytag: member="lbslocationcommon.h::KPositionMaxBatchSize" ref="a5bc767e67250b1cfcd091fadebfaaa09" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const TUint <a class="el" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">KPositionMaxBatchSize</a> = 500</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Defines the maximum allowable batch size supported by the system </p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationcommon_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h</h1><a href="lbslocationcommon_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Base class for all the class representing</span>
+<a name="l00015"></a>00015 <span class="comment">* location informations.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef LBS_LOCATION_COMMON_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATION_COMMON_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;s32strm.h&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;lbs/lbslocationclasstypes.h&gt;</span>
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036 <span class="comment">// Constants </span>
+<a name="l00037"></a>00037 
+<a name="l00041"></a><a class="code" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">00041</a> <span class="keyword">const</span> TUint <a class="code" href="lbslocationcommon_8h.html#a5bc767e67250b1cfcd091fadebfaaa09">KPositionMaxBatchSize</a> = 500;
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043 
+<a name="l00048"></a><a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">00048</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsLocationInfoBase) : public CBase
+<a name="l00049"></a>00049     {
+<a name="l00050"></a>00050 
+<a name="l00051"></a>00051 <span class="keyword">public</span>:
+<a name="l00052"></a>00052   
+<a name="l00057"></a>00057     IMPORT_C <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">TLbsLocationInfoClassType</a> Type();
+<a name="l00058"></a>00058   
+<a name="l00062"></a>00062     IMPORT_C <span class="keyword">virtual</span> ~CLbsLocationInfoBase();
+<a name="l00063"></a>00063 
+<a name="l00069"></a>00069     IMPORT_C <span class="keywordtype">void</span> InternaliseL( RReadStream&amp; aStream );
+<a name="l00070"></a>00070   
+<a name="l00077"></a>00077     IMPORT_C <span class="keywordtype">void</span> ExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00078"></a>00078     
+<a name="l00079"></a>00079 <span class="keyword">protected</span>:
+<a name="l00080"></a>00080 
+<a name="l00084"></a>00084     CLbsLocationInfoBase();
+<a name="l00085"></a>00085         
+<a name="l00091"></a>00091     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream ) = 0;
+<a name="l00092"></a>00092   
+<a name="l00099"></a>00099     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span> = 0;
+<a name="l00100"></a>00100  
+<a name="l00101"></a>00101 <span class="keyword">private</span>:
+<a name="l00102"></a>00102    
+<a name="l00106"></a>00106     CLbsLocationInfoBase( CLbsLocationInfoBase&amp; );
+<a name="l00107"></a>00107    
+<a name="l00111"></a>00111     CLbsLocationInfoBase&amp; operator=( CLbsLocationInfoBase&amp; );
+<a name="l00112"></a>00112 
+<a name="l00113"></a>00113 <span class="keyword">private</span>:
+<a name="l00114"></a>00114     
+<a name="l00115"></a>00115     <span class="comment">/*</span>
+<a name="l00116"></a>00116 <span class="comment">     * Reserved for future use.</span>
+<a name="l00117"></a>00117 <span class="comment">     */</span>
+<a name="l00118"></a>00118     TAny* iReserved;
+<a name="l00119"></a>00119     
+<a name="l00120"></a>00120     };    
+<a name="l00121"></a>00121     
+<a name="l00122"></a>00122 <span class="keyword">typedef</span> RPointerArray&lt;CLbsLocationInfoBase&gt; RLbsLocationInfoBaseArray;
+<a name="l00123"></a>00123 
+<a name="l00131"></a><a class="code" href="lbslocationcommon_8h.html#a5e886a3c42f115f6213aefbee7d68d8e">00131</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsAreaInfoBase) : public CBase
+<a name="l00132"></a>00132     {
+<a name="l00133"></a>00133 
+<a name="l00134"></a>00134 <span class="keyword">public</span>:
+<a name="l00135"></a>00135   
+<a name="l00141"></a>00141     IMPORT_C <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a> Type();
+<a name="l00142"></a>00142   
+<a name="l00146"></a>00146     IMPORT_C <span class="keyword">virtual</span> ~CLbsAreaInfoBase();
+<a name="l00147"></a>00147 
+<a name="l00153"></a>00153     IMPORT_C <span class="keywordtype">void</span> InternaliseL( RReadStream&amp; aStream );
+<a name="l00154"></a>00154   
+<a name="l00161"></a>00161     IMPORT_C <span class="keywordtype">void</span> ExternaliseL( RWriteStream&amp; aStream );
+<a name="l00162"></a>00162     
+<a name="l00166"></a>00166     <span class="keyword">virtual</span> <span class="keywordtype">void</span> ValidateDataL() <span class="keyword">const</span> = 0;
+<a name="l00167"></a>00167 
+<a name="l00168"></a>00168 <span class="keyword">protected</span>:
+<a name="l00169"></a>00169 
+<a name="l00173"></a>00173     CLbsAreaInfoBase();
+<a name="l00174"></a>00174                 
+<a name="l00180"></a>00180     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream ) = 0;
+<a name="l00181"></a>00181   
+<a name="l00188"></a>00188     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span> = 0;
+<a name="l00189"></a>00189  
+<a name="l00190"></a>00190 <span class="keyword">private</span>:
+<a name="l00191"></a>00191    
+<a name="l00195"></a>00195     CLbsAreaInfoBase( CLbsAreaInfoBase&amp; );
+<a name="l00196"></a>00196    
+<a name="l00200"></a>00200     CLbsAreaInfoBase&amp; operator=( CLbsAreaInfoBase&amp; );
+<a name="l00201"></a>00201 
+<a name="l00202"></a>00202 <span class="keyword">private</span>:
+<a name="l00203"></a>00203     
+<a name="l00207"></a>00207     TAny* iReserved;
+<a name="l00208"></a>00208     
+<a name="l00209"></a>00209     };
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211 <span class="preprocessor">#endif // LBS_LOCATION_COMMON_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsminfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationgsmneighbourinfo.h&gt;</code><br/>
+
+<p><a href="lbslocationgsminfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationgsminfo_8h.html#a0c05102188ddb748ae9406eb69d7c834">NONSHARABLE_CLASS</a> (CLbsGsmCellInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a0c05102188ddb748ae9406eb69d7c834"></a><!-- doxytag: member="lbslocationgsminfo.h::NONSHARABLE_CLASS" ref="a0c05102188ddb748ae9406eb69d7c834" args="(CLbsGsmCellInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsGsmCellInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a cell in GSM PLMN. An instance of this class may also contain information of one or more neighbouring GSM cells </p>
+
+<p><p>Allocates and constructs a new GSM cell info object. In the returned instance, the country code, network code, location area code and cell ID are marked as undefined.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new GSM cell info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Allocates and constructs a new GSM cell info object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCountryCode</em>&nbsp;</td><td>Network country code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNetworkCode</em>&nbsp;</td><td>Network code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationAreaCode</em>&nbsp;</td><td>Location area code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCellId</em>&nbsp;</td><td>Cell ID of a cell in GSM PLMN. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new GSM cell info object.  standard symbian error codes, such as KErrNoMemory.</dd></dl>
+<p>Allocates and constructs new GSM cell info objec, a copy of another one.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocality</em>&nbsp;</td><td>Instance of CLbsGsmCellInfo.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Destructor</p>
+<p>Sets the Mobile Country Code information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCountryCode</em>&nbsp;</td><td>Mobile Country Code, range 0..999.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Mobile Country Code information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Mobile Country Code, range 0..999; KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Mobile Network Code information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNetworkCode</em>&nbsp;</td><td>Mobilre Network Code, range 0..999.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Mobile Network Code information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Mobile Network Code, range 0..999. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Location Area Code information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocationAreaCode</em>&nbsp;</td><td>Location Area Code, range 0..65535.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Location Area Code information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Location Area Code, range 0..65535. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Cell Identity information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCellId</em>&nbsp;</td><td>Cell Identity, range 0..65535.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Cell Identity information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Cell Identity, range 0..65535. KErrNotFound if the value is undefined.</dd></dl>
+<p>Initializes the signal strength parameter.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRxLev</em>&nbsp;</td><td>Rx Level, range 0..63.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Rx level.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Rx Level, range 0..63. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Timing Advance information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aTimingAdvance</em>&nbsp;</td><td>Timing Advance, range 0..255.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Timing Advance information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Timing Advance, range 0..255. KErrNotFound if the value is undefined.</dd></dl>
+<p>Adds a neighbouring cell information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>An</em>&nbsp;</td><td>instance of TLbsGsmNeighbourCellInfo class (memory ovnership is being transferred)  KErrArgument if the argument is NULL or one of standard symbian error codes</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves a copy of neighbouring cell information information as an array.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNeighbourCellInfo</em>&nbsp;</td><td>GSM neighbouring cell information (memory ownership is not being transferred to this function therefore it is the responsibility of the caller to ensure Close() is called to free resources)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Removes all neighbouring cell information.</p>
+<p>Returns the type of area information instance.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Area type information</dd></dl>
+<p>Validates GSM cell information. This method checks for boundary conditions as well as the mandatory attributes. The attributes of this class become mandatory in a hierarchical manner. For instance, if location area code is specified then the mobile network code attribute is mandatory. If cell id is specified then, both LAC and MNC become mandatory attributes and so on. However, the mobile country code attribute is always mandatory which means client applications must at least specify the MCC attribute when specifying GSM cell information. This method is used internally to determine the correctness of information provided. Optionally, this method, may also be used by client applications to validate their input.</p>
+<p>KErrArgument If the specified attributes dont meet the boundary conditions or the mandatory arguments are not specified.</p>
+<p>Internalize method to write GSM cell information to a stream.</p>
+<p>Externalize method to read GSM cell information from a stream.</p>
+<p>C++ default constructor</p>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Symbian 2 phase constructor</p>
+<p>Symbian 2 phase constructor</p>
+<p>Mobile country code</p>
+<p>Mobile network code</p>
+<p>Location area code</p>
+<p>Cell id</p>
+<p>Signal strength</p>
+<p>Timing advance</p>
+<p>Data mask to determine initialized data. Used internally.</p>
+<p>Neighbouring cell info</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsminfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h</h1><a href="lbslocationgsminfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* cell information in a GSM PLMN. This class may also optionally contain</span>
+<a name="l00016"></a>00016 <span class="comment">* neighbouring cell information</span>
+<a name="l00017"></a>00017 <span class="comment">*</span>
+<a name="l00018"></a>00018 <span class="comment">*/</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef LBS_GSM_CELL_INFO_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define LBS_GSM_CELL_INFO_H</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00031"></a>00031 
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;lbs/lbslocationgsmneighbourinfo.h&gt;</span>
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036 
+<a name="l00042"></a><a class="code" href="lbslocationgsminfo_8h.html#a0c05102188ddb748ae9406eb69d7c834">00042</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsGsmCellInfo) : public CLbsAreaInfoBase
+<a name="l00043"></a>00043     {
+<a name="l00044"></a>00044 
+<a name="l00045"></a>00045 <span class="keyword">public</span>:
+<a name="l00046"></a>00046 
+<a name="l00055"></a>00055     IMPORT_C <span class="keyword">static</span> CLbsGsmCellInfo* NewL();
+<a name="l00056"></a>00056     
+<a name="l00067"></a>00067     IMPORT_C <span class="keyword">static</span> CLbsGsmCellInfo* NewL( <span class="keyword">const</span> TInt aCountryCode,
+<a name="l00068"></a>00068                                            <span class="keyword">const</span> TInt aNetworkCode,
+<a name="l00069"></a>00069                                            <span class="keyword">const</span> TInt aLocationAreaCode,
+<a name="l00070"></a>00070                                            <span class="keyword">const</span> TInt aCellId );
+<a name="l00071"></a>00071         
+<a name="l00072"></a>00072   
+<a name="l00078"></a>00078      IMPORT_C <span class="keyword">static</span> CLbsGsmCellInfo* NewL( <span class="keyword">const</span> CLbsGsmCellInfo&amp; aPositionInfo );
+<a name="l00079"></a>00079          
+<a name="l00080"></a>00080     
+<a name="l00084"></a>00084     IMPORT_C ~CLbsGsmCellInfo();
+<a name="l00085"></a>00085     
+<a name="l00091"></a>00091     IMPORT_C <span class="keywordtype">void</span> SetMobileCountryCode(<span class="keyword">const</span> TInt aCountryCode);
+<a name="l00092"></a>00092     
+<a name="l00099"></a>00099     IMPORT_C TInt MobileCountryCode() <span class="keyword">const</span>;
+<a name="l00100"></a>00100     
+<a name="l00106"></a>00106     IMPORT_C <span class="keywordtype">void</span> SetMobileNetworkCode( <span class="keyword">const</span> TInt aNetworkCode );
+<a name="l00107"></a>00107     
+<a name="l00114"></a>00114     IMPORT_C TInt MobileNetworkCode() <span class="keyword">const</span>;
+<a name="l00115"></a>00115     
+<a name="l00121"></a>00121     IMPORT_C <span class="keywordtype">void</span> SetLocationAreaCode( <span class="keyword">const</span> TInt aLocationAreaCode );  
+<a name="l00122"></a>00122     
+<a name="l00129"></a>00129     IMPORT_C TInt LocationAreaCode() <span class="keyword">const</span>;
+<a name="l00130"></a>00130     
+<a name="l00136"></a>00136     IMPORT_C <span class="keywordtype">void</span> SetCellId( <span class="keyword">const</span> TInt aCellId ); 
+<a name="l00137"></a>00137     
+<a name="l00144"></a>00144     IMPORT_C TInt CellId() <span class="keyword">const</span>;
+<a name="l00145"></a>00145     
+<a name="l00151"></a>00151     IMPORT_C <span class="keywordtype">void</span> SetRxLevel( <span class="keyword">const</span> TInt aRxLev );
+<a name="l00152"></a>00152     
+<a name="l00159"></a>00159     IMPORT_C TInt RxLevel() <span class="keyword">const</span>;    
+<a name="l00160"></a>00160     
+<a name="l00166"></a>00166     IMPORT_C <span class="keywordtype">void</span> SetTimingAdvance( <span class="keyword">const</span> TInt aTimingAdvance );
+<a name="l00167"></a>00167     
+<a name="l00174"></a>00174     IMPORT_C TInt TimingAdvance() <span class="keyword">const</span>;
+<a name="l00175"></a>00175     
+<a name="l00184"></a>00184     IMPORT_C <span class="keywordtype">void</span> AddNeighbouringCellInfoL( 
+<a name="l00185"></a>00185                     TLbsGsmNeighbourCellInfo* aNeighbourCellInfo );
+<a name="l00186"></a>00186 
+<a name="l00196"></a>00196     IMPORT_C <span class="keywordtype">void</span> GetNeighbouringCellInfoL( 
+<a name="l00197"></a>00197                      RLbsGsmNeighbourCellInfoArray&amp; aNeighbourCellInfo ) <span class="keyword">const</span>;
+<a name="l00198"></a>00198 
+<a name="l00202"></a>00202     IMPORT_C <span class="keywordtype">void</span> ResetNeighbouringCellInfo();
+<a name="l00203"></a>00203                                     
+<a name="l00204"></a>00204 <span class="keyword">public</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00205"></a>00205 
+<a name="l00211"></a>00211     <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a> Type();   
+<a name="l00212"></a>00212     
+<a name="l00230"></a>00230     <span class="keyword">virtual</span> <span class="keywordtype">void</span> ValidateDataL() <span class="keyword">const</span>;
+<a name="l00231"></a>00231     
+<a name="l00232"></a>00232 <span class="keyword">protected</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00233"></a>00233 
+<a name="l00237"></a>00237     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream );
+<a name="l00238"></a>00238 
+<a name="l00242"></a>00242     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00243"></a>00243     
+<a name="l00244"></a>00244 <span class="keyword">private</span>:
+<a name="l00245"></a>00245 
+<a name="l00249"></a>00249     CLbsGsmCellInfo();
+<a name="l00250"></a>00250    
+<a name="l00254"></a>00254     CLbsGsmCellInfo( CLbsGsmCellInfo&amp; ); 
+<a name="l00255"></a>00255     
+<a name="l00259"></a>00259     CLbsGsmCellInfo&amp; operator=( CLbsGsmCellInfo&amp; );     
+<a name="l00260"></a>00260     
+<a name="l00264"></a>00264     <span class="keywordtype">void</span> ConstructL();
+<a name="l00265"></a>00265     
+<a name="l00269"></a>00269     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> TInt aCountryCode, <span class="keyword">const</span> TInt aNetworkCode,
+<a name="l00270"></a>00270                      <span class="keyword">const</span> TInt aLocationAreaCode, <span class="keyword">const</span> TInt aCellId );
+<a name="l00271"></a>00271     
+<a name="l00272"></a>00272 <span class="keyword">private</span>: <span class="comment">// attributes</span>
+<a name="l00273"></a>00273     
+<a name="l00274"></a>00274     <span class="keyword">enum</span> _TGsmDataValidationMask
+<a name="l00275"></a>00275         {
+<a name="l00276"></a>00276         EGsmDataNull = 0x00,
+<a name="l00277"></a>00277         EGsmMCC = 0x01,
+<a name="l00278"></a>00278         EGsmMNC = 0x02,
+<a name="l00279"></a>00279         EGsmLAC = 0x04,
+<a name="l00280"></a>00280         EGsmCI = 0x08,
+<a name="l00281"></a>00281         EGsmRx = 0x10,
+<a name="l00282"></a>00282         EGsmTA = 0x20
+<a name="l00283"></a>00283         };
+<a name="l00284"></a>00284 
+<a name="l00288"></a>00288     TInt16      iMCC;
+<a name="l00289"></a>00289     
+<a name="l00293"></a>00293     TInt16      iMNC;
+<a name="l00294"></a>00294     
+<a name="l00298"></a>00298     TInt32      iLAC;
+<a name="l00299"></a>00299     
+<a name="l00303"></a>00303     TInt32      iCid;
+<a name="l00304"></a>00304 
+<a name="l00308"></a>00308     TInt32      iRxLev;
+<a name="l00309"></a>00309     
+<a name="l00313"></a>00313     TInt16      iTA;
+<a name="l00314"></a>00314     
+<a name="l00318"></a>00318     TInt8       iDataValidationMask;
+<a name="l00319"></a>00319     
+<a name="l00323"></a>00323     RLbsGsmNeighbourCellInfoArray iNeighbourCellInfo;
+<a name="l00324"></a>00324     };
+<a name="l00325"></a>00325 
+<a name="l00326"></a>00326 <span class="preprocessor">#endif //LBS_GSM_CELL_INFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsmneighbourinfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+
+<p><a href="lbslocationgsmneighbourinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b8e7eb34321e25fa419536cfc049741"></a><!-- doxytag: member="lbslocationgsmneighbourinfo.h::RLbsGsmNeighbourCellInfoArray" ref="a1b8e7eb34321e25fa419536cfc049741" args="" -->
+typedef RArray<br class="typebreak"/>
+&lt; TLbsGsmNeighbourCellInfo &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>RLbsGsmNeighbourCellInfoArray</b></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationgsmneighbourinfo_8h.html#a21bd95d3fa0cee1bbfd77683343479a0">NONSHARABLE_CLASS</a> (TLbsGsmNeighbourCellInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a21bd95d3fa0cee1bbfd77683343479a0"></a><!-- doxytag: member="lbslocationgsmneighbourinfo.h::NONSHARABLE_CLASS" ref="a21bd95d3fa0cee1bbfd77683343479a0" args="(TLbsGsmNeighbourCellInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">TLbsGsmNeighbourCellInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a GSM neighbouring cell information. </p>
+
+<p><p>Allocates and constructs a new neighbour GSM cell info object. In the returned instance all data is marked as undefined</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new neighbour GSM cell info object.</dd></dl>
+<p>Allocates and constructs a new neighbour GSM cell info object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aARFCN</em>&nbsp;</td><td>Absolute Radio Frequency Channel Number </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aBSIC</em>&nbsp;</td><td>Base station identity (colour) code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRxLev</em>&nbsp;</td><td>Rx level.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new neighbour GSM cell info object.</dd></dl>
+<p>Sets the Absolute Radio Frequency Channel Number.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aARFCN</em>&nbsp;</td><td>Absolute Radio Frequency Channel Number, range 0..1023.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Absolute Radio Frequency Channel Number.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Absolute Radio Frequency Channel Number, range 0..1023. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Base station identity (colour) code.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iBSIC</em>&nbsp;</td><td>Base station identity code, range 0..63.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Base station identity code.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Base station identity code, range 0..63. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Rx level.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRxLev</em>&nbsp;</td><td>Rx Level, range 0..63.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Rx level.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Rx Level, range 0..63. KErrNotFound if the value is undefined.</dd></dl>
+<p>Absolute Radio Frequency Channel Number</p>
+<p>Base station identity code</p>
+<p>Rx level</p>
+<p>Reserved</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationgsmneighbourinfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h</h1><a href="lbslocationgsmneighbourinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* cell information in a GSM PLMN. This class may also optionally contain</span>
+<a name="l00016"></a>00016 <span class="comment">* neighbouring cell information</span>
+<a name="l00017"></a>00017 <span class="comment">*</span>
+<a name="l00018"></a>00018 <span class="comment">*/</span>
+<a name="l00019"></a>00019 
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef LBS_GSM_NEIGHB_CELL_INFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define LBS_GSM_NEIGHB_CELL_INFO_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 
+<a name="l00038"></a><a class="code" href="lbslocationgsmneighbourinfo_8h.html#a21bd95d3fa0cee1bbfd77683343479a0">00038</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(TLbsGsmNeighbourCellInfo)
+<a name="l00039"></a>00039     {
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00042"></a>00042 
+<a name="l00049"></a>00049     IMPORT_C TLbsGsmNeighbourCellInfo();
+<a name="l00050"></a>00050     
+<a name="l00060"></a>00060     IMPORT_C TLbsGsmNeighbourCellInfo( <span class="keyword">const</span> TInt aARFCN,
+<a name="l00061"></a>00061                                        <span class="keyword">const</span> TInt aBSIC,
+<a name="l00062"></a>00062                                        <span class="keyword">const</span> TInt aRxLev );
+<a name="l00063"></a>00063         
+<a name="l00069"></a>00069     IMPORT_C <span class="keywordtype">void</span> SetArfcn(<span class="keyword">const</span> TInt aARFCN);
+<a name="l00070"></a>00070     
+<a name="l00077"></a>00077     IMPORT_C TInt Arfcn() <span class="keyword">const</span>;
+<a name="l00078"></a>00078     
+<a name="l00084"></a>00084     IMPORT_C <span class="keywordtype">void</span> SetBsic( <span class="keyword">const</span> TInt aBSIC );
+<a name="l00085"></a>00085     
+<a name="l00092"></a>00092     IMPORT_C TInt Bsic() <span class="keyword">const</span>;
+<a name="l00093"></a>00093 
+<a name="l00099"></a>00099     IMPORT_C <span class="keywordtype">void</span> SetRxLevel( <span class="keyword">const</span> TInt aRxLev );  
+<a name="l00100"></a>00100     
+<a name="l00107"></a>00107     IMPORT_C TInt RxLevel() <span class="keyword">const</span>;
+<a name="l00108"></a>00108    
+<a name="l00109"></a>00109 <span class="keyword">protected</span>: <span class="comment">// attributes</span>
+<a name="l00110"></a>00110 
+<a name="l00114"></a>00114     TInt16      iARFCN;
+<a name="l00115"></a>00115 
+<a name="l00119"></a>00119     TInt8       iBSIC;
+<a name="l00120"></a>00120 
+<a name="l00124"></a>00124     TInt8       iRxLev;
+<a name="l00125"></a>00125 
+<a name="l00129"></a>00129     TUint8      iReserved[4];
+<a name="l00130"></a>00130     
+<a name="l00131"></a>00131     };
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> RArray&lt;TLbsGsmNeighbourCellInfo&gt; RLbsGsmNeighbourCellInfoArray;
+<a name="l00134"></a>00134 
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 <span class="preprocessor">#endif //LBS_GSM_NEIGHB_CELL_INFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationwcdmainfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationgsminfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationwlaninfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationposinfo.h&gt;</code><br/>
+
+<p><a href="lbslocationinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef RPointerArray<br class="typebreak"/>
+&lt; CLbsAreaInfoBase &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">RLbsAreaInfoBaseArray</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab31e5025e6f270c0ef52a913fa4aba09"></a><!-- doxytag: member="lbslocationinfo.h::RLbsLocationInfoArray" ref="ab31e5025e6f270c0ef52a913fa4aba09" args="" -->
+typedef RPointerArray<br class="typebreak"/>
+&lt; CLbsLocationInfo &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>RLbsLocationInfoArray</b></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfo_8h.html#a2d138afbad0938ffef52dfb2c6b773ad">NONSHARABLE_CLASS</a> (CLbsLocationInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a678673321e58f02b1c8d6d9b84480e8b"></a><!-- doxytag: member="lbslocationinfo.h::RLbsAreaInfoBaseArray" ref="a678673321e58f02b1c8d6d9b84480e8b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef RPointerArray&lt;CLbsAreaInfoBase&gt; <a class="el" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">RLbsAreaInfoBaseArray</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Type definitions Structure used to carry location information to be converted </p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a2d138afbad0938ffef52dfb2c6b773ad"></a><!-- doxytag: member="lbslocationinfo.h::NONSHARABLE_CLASS" ref="a2d138afbad0938ffef52dfb2c6b773ad" args="(CLbsLocationInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsLocationInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a collection of geographical area information. Client applications create an instance of this class to represent a geographical area for which a conversion is required. The corresponding coordinate values determined by the conversion plugins would be updated in the same instance of CLbsLocationInfo. Client applications may retrieve the position estimate(s) using GetPositionInfo method. </p>
+
+<p><p>Bit mask used to retrieve position information.</p>
+<p>Bit mask used to retrieve GSM cell information.</p>
+<p>Bit mask used to retrieve WCDMA cell information.</p>
+<p>Bit mask used to retrieve WLAN AP information.</p>
+<p>Bit mask used to retrieve all area information.</p>
+<p>Allocates and constructs a new location info object.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new area info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Allocates and constructs a new location info object. This method will push the resultant object onto the cleanup stack.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new area info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Destructor</p>
+<p>Appends the specified area info entry to the data structure. This method takes a pointer to CLbsAreaInfoBase type instances.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aAreaInfo</em>&nbsp;</td><td>Pointer to a CLbsAreaInfoBase type instance.  KErrArgument if the pointer to CLbsAreaInfoBase type is NULL</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the area information that is stored in the internal data structure. Client applications can specify the type of information to be retrieved using the TAreaInfoMask. The result is updated in the instance of RLbsAreaInfoBaseArray. If there is no information stored for the requested type the instance of RLbsAreaInfoBaseArray will not be updated. Client applications would need to check the contents of the array to determine the information retrieved.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>aAreaInfoArray</em>&nbsp;</td><td>Array that is filled with pointers to the area information retrieved. Note it is the callers responsibility to call Close() to free the pointers. However ownership of the objects pointed to is not transferred to the caller. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocInfoMask</em>&nbsp;</td><td>Specifies the type of information to be retrieved.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Removes all entries of the specified type from the data structure. If the mask is not specified all entries would be removed. If there are no entries found for a specific type, no changes will be done.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocInfoMask</em>&nbsp;</td><td>Specifies the type of information to be removed.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Type of location info class</p>
+<p>Internalize method to write location information to a stream.</p>
+<p>Externalize method to read location information from a stream.</p>
+<p>C++ default constructor</p>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Symbian 2 phase constructor</p>
+<p>A collection of geographical area information.</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h</h1><a href="lbslocationinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Container class representing geographical area information as a</span>
+<a name="l00015"></a>00015 <span class="comment">* collection of GSM/WCDMA cell information and WLAN MAC IDs.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef C_LBSLOCATIONINFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define C_LBSLOCATIONINFO_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;lbs/lbslocationwcdmainfo.h&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;lbs/lbslocationgsminfo.h&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;lbs/lbslocationwlaninfo.h&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;lbs/lbslocationposinfo.h&gt;</span>
+<a name="l00037"></a>00037 
+<a name="l00038"></a>00038 
+<a name="l00046"></a><a class="code" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">00046</a> <span class="keyword">typedef</span> RPointerArray&lt;CLbsAreaInfoBase&gt; <a class="code" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">RLbsAreaInfoBaseArray</a>;
+<a name="l00047"></a>00047 
+<a name="l00057"></a><a class="code" href="lbslocationinfo_8h.html#a2d138afbad0938ffef52dfb2c6b773ad">00057</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsLocationInfo) : public CLbsLocationInfoBase
+<a name="l00058"></a>00058     {
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060 <span class="keyword">public</span>: 
+<a name="l00061"></a>00061     
+<a name="l00062"></a>00062         <span class="keyword">typedef</span> TUint32 TAreaInfoMask;
+<a name="l00063"></a>00063     
+<a name="l00064"></a>00064         <span class="keyword">enum</span> _TAreaInfoMask
+<a name="l00065"></a>00065         {
+<a name="l00069"></a>00069         ELbsPosInfo = 0x01,
+<a name="l00070"></a>00070         
+<a name="l00074"></a>00074         ELbsGsmInfo = 0x02,
+<a name="l00075"></a>00075         
+<a name="l00079"></a>00079         ELbsWcdmaInfo = 0x04,
+<a name="l00080"></a>00080         
+<a name="l00084"></a>00084         ELbsWlanInfo = 0x08,
+<a name="l00085"></a>00085         
+<a name="l00089"></a>00089         ELbsAreaInfoAll = 0xFFFFFFFF
+<a name="l00090"></a>00090         };
+<a name="l00091"></a>00091 
+<a name="l00098"></a>00098     IMPORT_C <span class="keyword">static</span> CLbsLocationInfo* NewL();
+<a name="l00099"></a>00099   
+<a name="l00107"></a>00107     IMPORT_C <span class="keyword">static</span> CLbsLocationInfo* NewLC();
+<a name="l00108"></a>00108    
+<a name="l00112"></a>00112     IMPORT_C ~CLbsLocationInfo();
+<a name="l00113"></a>00113      
+<a name="l00121"></a>00121     IMPORT_C <span class="keywordtype">void</span> AddAreaInfoL( CLbsAreaInfoBase* aAreaInfo );
+<a name="l00122"></a>00122     
+<a name="l00139"></a>00139     IMPORT_C <span class="keywordtype">void</span> GetAreaInfoL( <a class="code" href="lbslocationinfo_8h.html#a678673321e58f02b1c8d6d9b84480e8b">RLbsAreaInfoBaseArray</a>&amp; aAreaInfoArray, 
+<a name="l00140"></a>00140                                TAreaInfoMask aAreaInfoMask = ELbsAreaInfoAll );
+<a name="l00141"></a>00141     
+<a name="l00150"></a>00150     IMPORT_C <span class="keywordtype">void</span> ResetAreaInfo( TAreaInfoMask aAreaInfoMask 
+<a name="l00151"></a>00151                                      = ELbsAreaInfoAll );
+<a name="l00152"></a>00152              
+<a name="l00153"></a>00153 <span class="keyword">protected</span>: <span class="comment">// from CLbsLocationInfoBase</span>
+<a name="l00154"></a>00154     
+<a name="l00158"></a>00158     <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#abdd7a757542d47ab3d12c493aba35e9c">TLbsLocationInfoClassType</a> Type();
+<a name="l00159"></a>00159 
+<a name="l00163"></a>00163     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream );
+<a name="l00164"></a>00164   
+<a name="l00168"></a>00168     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00169"></a>00169     
+<a name="l00170"></a>00170 <span class="keyword">private</span>:
+<a name="l00171"></a>00171    
+<a name="l00175"></a>00175     CLbsLocationInfo();
+<a name="l00176"></a>00176    
+<a name="l00180"></a>00180     CLbsLocationInfo( CLbsLocationInfo&amp; );
+<a name="l00181"></a>00181    
+<a name="l00185"></a>00185     CLbsLocationInfo&amp; operator = ( CLbsLocationInfo&amp; );
+<a name="l00186"></a>00186    
+<a name="l00190"></a>00190     <span class="keywordtype">void</span> ConstructL();
+<a name="l00191"></a>00191    
+<a name="l00192"></a>00192 <span class="keyword">private</span>:
+<a name="l00193"></a>00193 
+<a name="l00197"></a>00197     RPointerArray&lt;CLbsAreaInfoBase&gt;  iAreaInfoArray;
+<a name="l00198"></a>00198     
+<a name="l00199"></a>00199     };
+<a name="l00200"></a>00200 
+<a name="l00201"></a>00201 <span class="keyword">typedef</span> RPointerArray&lt;CLbsLocationInfo&gt; RLbsLocationInfoArray;
+<a name="l00202"></a>00202 
+<a name="l00203"></a>00203    
+<a name="l00204"></a>00204 <span class="preprocessor">#endif //C_LBSLOCATIONINFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverter_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h File Reference</h1><code>#include &lt;e32base.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</code><br/>
+
+<p><a href="lbslocationinfoconverter_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverter_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h</h1><a href="lbslocationinfoconverter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Class used by client applications to convert location </span>
+<a name="l00015"></a>00015 <span class="comment">* information</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef LBS_LOCATION_INFO_CONVERTER_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATION_INFO_CONVERTER_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="comment">// OS wide</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00031"></a>00031 
+<a name="l00032"></a>00032 <span class="comment">// LBS wide</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;lbs/lbslocationinfo.h&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037 <span class="keyword">class </span><a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 
+<a name="l00054"></a><a class="code" href="class_m_lbs_location_info_converter_observer.html">00054</a> <span class="keyword">class </span><a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>
+<a name="l00055"></a>00055     {
+<a name="l00056"></a>00056         
+<a name="l00057"></a>00057 <span class="keyword">public</span>:
+<a name="l00058"></a>00058 
+<a name="l00065"></a>00065     IMPORT_C <span class="keyword">virtual</span> TVersion <a class="code" href="class_m_lbs_location_info_converter_observer.html#a70b7d904faea34a467916a3d78c89711">Version</a>()  <span class="keyword">const</span>;
+<a name="l00066"></a>00066     
+<a name="l00088"></a>00088     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_m_lbs_location_info_converter_observer.html#adddac031a44b43c4fbbd9f6f55202e08">OnConversionComplete</a>(TInt aStatusCode) = 0;
+<a name="l00089"></a>00089 
+<a name="l00090"></a>00090     };
+<a name="l00091"></a>00091 
+<a name="l00092"></a>00092 
+<a name="l00093"></a>00093 
+<a name="l00094"></a>00094 
+<a name="l00105"></a><a class="code" href="class_c_lbs_location_info_converter.html">00105</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a> : <span class="keyword">public</span> CBase
+<a name="l00106"></a>00106     {
+<a name="l00107"></a>00107 
+<a name="l00108"></a>00108 <span class="keyword">public</span>:
+<a name="l00109"></a>00109 
+<a name="l00115"></a>00115     IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>* <a class="code" href="class_c_lbs_location_info_converter.html#ac60f81f82a6e6081116743436fd70547">NewL</a>( 
+<a name="l00116"></a>00116                                                 <a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; aObserver,
+<a name="l00117"></a>00117                                                 <span class="keyword">const</span> TUid aConverterModuleId);
+<a name="l00118"></a>00118     
+<a name="l00125"></a>00125     IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>* <a class="code" href="class_c_lbs_location_info_converter.html#ac60f81f82a6e6081116743436fd70547">NewL</a>( 
+<a name="l00126"></a>00126                                                 <a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; aObserver);
+<a name="l00127"></a>00127 
+<a name="l00131"></a>00131     IMPORT_C <a class="code" href="class_c_lbs_location_info_converter.html#aea397c9a46753269534f76cbfadd6f26">~CLbsLocationInfoConverter</a>();
+<a name="l00132"></a>00132     
+<a name="l00151"></a>00151     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">ConvertLocationInfoL</a>( CLbsLocationInfoBase&amp; aLocationInfo,
+<a name="l00152"></a>00152                <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs,
+<a name="l00153"></a>00153                <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo );    
+<a name="l00154"></a>00154 
+<a name="l00155"></a>00155 
+<a name="l00180"></a>00180     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter.html#add1421a54580b4f6c0b3fe41718d0522">ConvertLocationInfoL</a>( RLbsLocationInfoBaseArray&amp; aLocationInfoArray,
+<a name="l00181"></a>00181                                        <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, 
+<a name="l00182"></a>00182                                        <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo );
+<a name="l00183"></a>00183     
+<a name="l00190"></a>00190     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter.html#aa9d43529b701bdc042f4074d4b48fcc4">CancelConvertLocationInfo</a>();
+<a name="l00191"></a>00191 
+<a name="l00192"></a>00192 <span class="keyword">private</span>:
+<a name="l00193"></a>00193    
+<a name="l00197"></a>00197     <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>();
+<a name="l00198"></a>00198     
+<a name="l00202"></a>00202     <span class="keywordtype">void</span> ConstructL(<a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; aObserver,
+<a name="l00203"></a>00203                               <span class="keyword">const</span> TUid aConverterModuleId);
+<a name="l00204"></a>00204 
+<a name="l00208"></a>00208     <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>( <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>&amp; );
+<a name="l00209"></a>00209     
+<a name="l00213"></a>00213     <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>&amp; operator=( <a class="code" href="class_c_lbs_location_info_converter.html">CLbsLocationInfoConverter</a>&amp; );
+<a name="l00214"></a>00214     
+<a name="l00215"></a>00215 <span class="keyword">private</span>:
+<a name="l00216"></a>00216 
+<a name="l00220"></a>00220     <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>* iLocationInfoConverterImpl;
+<a name="l00221"></a>00221     
+<a name="l00222"></a>00222     };
+<a name="l00223"></a>00223 
+<a name="l00224"></a>00224 
+<a name="l00225"></a>00225 
+<a name="l00226"></a>00226 <span class="preprocessor">#endif // LBS_LOCATION_INFO_CONVERTER_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconvertercommon_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+
+<p><a href="lbslocationinfoconvertercommon_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">_TLbsConversionPrefs</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c">ELbsConversionNotDefined</a> =  0x0000, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8">ELbsConversionCacheOnly</a> =  0x0001, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce">ELbsConversionSilent</a> =  0x0002, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c">ELbsConversionPrompt</a> =  0x0004, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c">ELbsWlanOnly</a> =  0x0008
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">_TLbsConversionOutputInfoMask</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83">ELbsConversionOutputNotDefined</a> =  0x0000, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f">ELbsConversionOutputPosition</a> =  0x0001, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b">ELbsConversionOutputGsm</a> =  0x0002, 
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88">ELbsConversionOutputWcdma</a> =  0x0004, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240">ELbsConversionOutputWlan</a> =  0x0008
+<br/>
+ }</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aea09864060e465dab12f568de0aa3826"></a><!-- doxytag: member="lbslocationinfoconvertercommon.h::TLbsConversionOutputInfoMask" ref="aea09864060e465dab12f568de0aa3826" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Output Location Information </p>
+
+</div>
+</div>
+<a class="anchor" id="a9e1665f109ca120a19662aecead7707a"></a><!-- doxytag: member="lbslocationinfoconvertercommon.h::TLbsConversionPrefs" ref="a9e1665f109ca120a19662aecead7707a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Conversion preferences </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a9d140c6c370495d1e89d0efe63d69cee"></a><!-- doxytag: member="lbslocationinfoconvertercommon.h::_TLbsConversionOutputInfoMask" ref="a9d140c6c370495d1e89d0efe63d69cee" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">_TLbsConversionOutputInfoMask</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enumeration to define the type(s) of location information being communicated </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83"></a><!-- doxytag: member="ELbsConversionOutputNotDefined" ref="a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83" args="" -->ELbsConversionOutputNotDefined</em>&nbsp;</td><td>
+<p>Used to initialise data only. Should not be used when requesting conversions. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f"></a><!-- doxytag: member="ELbsConversionOutputPosition" ref="a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f" args="" -->ELbsConversionOutputPosition</em>&nbsp;</td><td>
+<p>Indicates that the input data should be converted to a geographical coordinate </p>
+<dl class="see"><dt><b>See also:</b></dt><dd>CLbsPositionInfo </dd></dl>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b"></a><!-- doxytag: member="ELbsConversionOutputGsm" ref="a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b" args="" -->ELbsConversionOutputGsm</em>&nbsp;</td><td>
+<p>Indicates that the input data should be converted to a GSM Cell information </p>
+<dl class="see"><dt><b>See also:</b></dt><dd>CLbsGsmCellInfo </dd></dl>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88"></a><!-- doxytag: member="ELbsConversionOutputWcdma" ref="a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88" args="" -->ELbsConversionOutputWcdma</em>&nbsp;</td><td>
+<p>Indicates that the input data should be converted to a WCDMA Cell information </p>
+<dl class="see"><dt><b>See also:</b></dt><dd>CLbsWcdmaCellInfo </dd></dl>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240"></a><!-- doxytag: member="ELbsConversionOutputWlan" ref="a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240" args="" -->ELbsConversionOutputWlan</em>&nbsp;</td><td>
+<p>Indicates that the input data should be converted to a WLAN information </p>
+<dl class="see"><dt><b>See also:</b></dt><dd>CLbsWlanInfo </dd></dl>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5a71982e69194ae0686085152bc31ad4"></a><!-- doxytag: member="lbslocationinfoconvertercommon.h::_TLbsConversionPrefs" ref="a5a71982e69194ae0686085152bc31ad4" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">_TLbsConversionPrefs</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enumeration to define the preferences a client can specify while requesting location information. The conversion preferences enumeration shall not be used as a bitmask. The preferences are used by conversion module in order to decide if/how a connection to an external server should be established. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c"></a><!-- doxytag: member="ELbsConversionNotDefined" ref="a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c" args="" -->ELbsConversionNotDefined</em>&nbsp;</td><td>
+<p>Indicates that no preferences are specified. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8"></a><!-- doxytag: member="ELbsConversionCacheOnly" ref="a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8" args="" -->ELbsConversionCacheOnly</em>&nbsp;</td><td>
+<p>Use only local cache to retrieve information. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce"></a><!-- doxytag: member="ELbsConversionSilent" ref="a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce" args="" -->ELbsConversionSilent</em>&nbsp;</td><td>
+<p>Disable prompt while making a connection to an external service for conversion. Ignored if a conversion module does not require external connection. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c"></a><!-- doxytag: member="ELbsConversionPrompt" ref="a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c" args="" -->ELbsConversionPrompt</em>&nbsp;</td><td>
+<p>Allow prompt while making a connection to an external service for conversion. * Ignored if a conversion module does not require external connection. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c"></a><!-- doxytag: member="ELbsWlanOnly" ref="a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c" args="" -->ELbsWlanOnly</em>&nbsp;</td><td>
+<p>Allow Wlan Only to make a connection only using W-Lan. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconvertercommon_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h</h1><a href="lbslocationinfoconvertercommon_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Common enumerations used by client applications and plugins </span>
+<a name="l00015"></a>00015 <span class="comment">* for conversion of location information.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef LBS_LOCATION_INFO_CONVERTER_COMMON_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATION_INFO_CONVERTER_COMMON_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00029"></a>00029 
+<a name="l00033"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">00033</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>;
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 
+<a name="l00043"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">00043</a> <span class="keyword">enum</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4">_TLbsConversionPrefs</a>
+<a name="l00044"></a>00044     {
+<a name="l00045"></a>00045         
+<a name="l00049"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c">00049</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4acba06a4d5efb720ea411dbbb5eb69f7c">ELbsConversionNotDefined</a> = 0x0000,
+<a name="l00050"></a>00050         
+<a name="l00054"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8">00054</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a979fbedc45b499ca18f1e969b99fd1f8">ELbsConversionCacheOnly</a>  = 0x0001,
+<a name="l00055"></a>00055   
+<a name="l00061"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce">00061</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a879bb734cf4ea1c9a969cd21dce935ce">ELbsConversionSilent</a>     = 0x0002,
+<a name="l00062"></a>00062   
+<a name="l00068"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c">00068</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a8ebadf0cde330ac89c88c7a792f2751c">ELbsConversionPrompt</a>     = 0x0004,
+<a name="l00069"></a>00069   
+<a name="l00075"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c">00075</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a5a71982e69194ae0686085152bc31ad4a96960f81f786463b01b72bff16aefe0c">ELbsWlanOnly</a>             = 0x0008
+<a name="l00076"></a>00076 
+<a name="l00077"></a>00077     };  
+<a name="l00078"></a>00078 
+<a name="l00079"></a>00079 
+<a name="l00083"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">00083</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>;
+<a name="l00084"></a>00084 
+<a name="l00085"></a>00085 
+<a name="l00089"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">00089</a> <span class="keyword">enum</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69cee">_TLbsConversionOutputInfoMask</a>
+<a name="l00090"></a>00090     { 
+<a name="l00091"></a>00091     
+<a name="l00095"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83">00095</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeab19265bf7ed9e2a1cc83281f3b766e83">ELbsConversionOutputNotDefined</a> = 0x0000,
+<a name="l00096"></a>00096 
+<a name="l00101"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f">00101</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea5ca5c248ed301f96b630d2c7b8eff13f">ELbsConversionOutputPosition</a> = 0x0001,
+<a name="l00102"></a>00102     
+<a name="l00107"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b">00107</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeaacf515d8fe8da33dc4ddb9d211a8331b">ELbsConversionOutputGsm</a> = 0x0002,
+<a name="l00108"></a>00108     
+<a name="l00113"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88">00113</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceea0a9323b7beb8d39da0677dec96d5bc88">ELbsConversionOutputWcdma</a> = 0x0004,
+<a name="l00114"></a>00114     
+<a name="l00119"></a><a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240">00119</a>     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9d140c6c370495d1e89d0efe63d69ceeac56e6df81585451f79a9628bf42cb240">ELbsConversionOutputWlan</a> = 0x0008
+<a name="l00120"></a>00120     };
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122 <span class="preprocessor">#endif // LBS_LOCATION_INFO_CONVERTER_COMMON_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationinfoconverterimpl_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverterimpl.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverterimpl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Class that implements location information converter </span>
+<a name="l00015"></a>00015 <span class="comment">* information</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span>
+<a name="l00023"></a>00023 
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;lbs/lbslocationinfo.h&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;rlbslocmonitorsession.h&quot;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;rlbslocinfoconverter.h&quot;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="comment">// forward declaration</span>
+<a name="l00032"></a>00032 <span class="keyword">class </span><a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>;
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00038"></a><a class="code" href="class_c_lbs_location_info_converter_impl.html">00038</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a> : <span class="keyword">public</span> CActive
+<a name="l00039"></a>00039     {
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00048"></a>00048     <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>* <a class="code" href="class_c_lbs_location_info_converter_impl.html#ad118bba8abd7661e404f1bd047ee7f6e">NewL</a>( <a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; aObserver,
+<a name="l00049"></a>00049                                                     <span class="keyword">const</span> TUid aConversionModuleId  );
+<a name="l00050"></a>00050     
+<a name="l00054"></a>00054     <a class="code" href="class_c_lbs_location_info_converter_impl.html#a6922af7983e0624cf5c3c041c69527af">~CLbsLocationInfoConverterImpl</a>();
+<a name="l00055"></a>00055     
+<a name="l00068"></a>00068     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">ConvertLocationInfoL</a>( CLbsLocationInfoBase&amp; aLocationInfo,
+<a name="l00069"></a>00069                                <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, 
+<a name="l00070"></a>00070                                <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo );
+<a name="l00071"></a>00071 
+<a name="l00084"></a>00084     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter_impl.html#aaef1c230fcaef852687d207f1fd30a16">ConvertLocationInfoL</a>( RLbsLocationInfoBaseArray&amp; aLocationInfoArray,
+<a name="l00085"></a>00085                                        <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs,
+<a name="l00086"></a>00086                                        <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo );
+<a name="l00087"></a>00087     
+<a name="l00091"></a>00091     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_info_converter_impl.html#ac54cd4e6bdf43eed3274638c401aad0f">CancelConvertLocationInfo</a>();
+<a name="l00092"></a>00092     
+<a name="l00093"></a>00093 <span class="keyword">protected</span>: <span class="comment">// From CActive</span>
+<a name="l00094"></a>00094     <span class="keywordtype">void</span> RunL();
+<a name="l00095"></a>00095     
+<a name="l00096"></a>00096     <span class="keywordtype">void</span> DoCancel();
+<a name="l00097"></a>00097     
+<a name="l00098"></a>00098 <span class="keyword">private</span>:
+<a name="l00102"></a>00102     <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>( <a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; aObserver );
+<a name="l00103"></a>00103     
+<a name="l00107"></a>00107     <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>( <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>&amp; );
+<a name="l00108"></a>00108     
+<a name="l00112"></a>00112     <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>&amp; operator=( <a class="code" href="class_c_lbs_location_info_converter_impl.html">CLbsLocationInfoConverterImpl</a>&amp; );
+<a name="l00113"></a>00113     
+<a name="l00117"></a>00117     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> TUid aConversionModuleId );
+<a name="l00118"></a>00118   
+<a name="l00119"></a>00119 <span class="keyword">private</span>: <span class="comment">// data</span>
+<a name="l00120"></a>00120     
+<a name="l00124"></a>00124     <a class="code" href="class_m_lbs_location_info_converter_observer.html">MLbsLocationInfoConverterObserver</a>&amp; iObserver;
+<a name="l00125"></a>00125 
+<a name="l00129"></a>00129     <a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> iLocMoniterSession;
+<a name="l00130"></a>00130     
+<a name="l00134"></a>00134     <a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a> iLocInfoConverter;   
+<a name="l00135"></a>00135     
+<a name="l00139"></a>00139     TUid iConversionModuleId;
+<a name="l00140"></a>00140     };
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142 <span class="preprocessor">#endif // LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationposinfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+
+<p><a href="lbslocationposinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationposinfo_8h.html#a5c2dbd94b6527a5a2abfa07488aaac59">NONSHARABLE_CLASS</a> (CLbsPositionInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a5c2dbd94b6527a5a2abfa07488aaac59"></a><!-- doxytag: member="lbslocationposinfo.h::NONSHARABLE_CLASS" ref="a5c2dbd94b6527a5a2abfa07488aaac59" args="(CLbsPositionInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsPositionInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains the basic coordinates of a location (latitude, longitude and altitude) along with vertical and horizontal accuracies. This class is different from TPositionInfo class defined in LBS and cannot be used interchangeably. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd>TPositionInfo class for more details. </dd></dl>
+
+<p><p>Allocates and constructs a new position info object. In the returned instance, the longitude, latitude, altitude, horizontal accuracy and vertical accuracy are set to NaN.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new coordinate info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Allocates and constructs a new position info object, a copy of another one.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocality</em>&nbsp;</td><td>Instance of CLbsPositionInfo.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Allocates and constructs a new position info object</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocality</em>&nbsp;</td><td>Instance of TLocality class that contains coordinates along with the error estimates for the horizontal and vertical accuracy of the point.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Destructor</p>
+<p>Initializes the locality information. This includes latitude - should be between and including -90 and 90 degrees. longitude - should be between and including -180 and 180 degrees. altitude - Altitude information in meters. datum - datum information. Defaults to the constant for the coordinate system for a specific positioning system. horizontal accuracy - horizontal accuracy in meters. vertical accuracy - vertical accuracy in meters.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLatitude</em>&nbsp;</td><td>Latitude information.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Locality information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>NaN if nothing specified or latitude information. network.</dd></dl>
+<p>Returns the type of area information instance.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Area type information</dd></dl>
+<p>Validates position information. This method checks for boundary conditions as well as the mandatory attributes. The latitude, longitude and horizontal accuracy attributes are mandatory and must be specified in the TLocality instance being passed as an argument to instantiate/initialize an instance of this class. This method is used internally to determine the correctness of information provided. Optionally, this method, may also be used by client applications to validate their input.</p>
+<p>KErrArgument If the specified attributes dont meet the boundary conditions or the mandatory arguments are not specified.</p>
+<p>Internalize method to write GSM cell information to a stream.</p>
+<p>Externalize method to read GSM cell information from a stream.</p>
+<p>C++ default constructor</p>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Symbian 2 phase constructor</p>
+<p>Symbian 2 phase constuctor</p>
+<p>Locality information</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationposinfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h</h1><a href="lbslocationposinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* latitude,longitude,altitude,horizontal accuracy and vertical accuracy.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef LBS_COORDINATE_INFO_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define LBS_COORDINATE_INFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;lbs.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00041"></a><a class="code" href="lbslocationposinfo_8h.html#a5c2dbd94b6527a5a2abfa07488aaac59">00041</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsPositionInfo) : public CLbsAreaInfoBase
+<a name="l00042"></a>00042     {
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 
+<a name="l00054"></a>00054     IMPORT_C <span class="keyword">static</span> CLbsPositionInfo* NewL();
+<a name="l00055"></a>00055     
+<a name="l00061"></a>00061     IMPORT_C <span class="keyword">static</span> CLbsPositionInfo* NewL( <span class="keyword">const</span> CLbsPositionInfo&amp; aPositionInfo );
+<a name="l00062"></a>00062         
+<a name="l00070"></a>00070        IMPORT_C <span class="keyword">static</span> CLbsPositionInfo* NewL( <span class="keyword">const</span> TLocality&amp; aLocality );
+<a name="l00071"></a>00071       
+<a name="l00075"></a>00075     IMPORT_C <span class="keyword">virtual</span> ~CLbsPositionInfo();
+<a name="l00076"></a>00076     
+<a name="l00089"></a>00089     IMPORT_C <span class="keywordtype">void</span> SetLocality( <span class="keyword">const</span> TLocality&amp; aLocality );
+<a name="l00090"></a>00090     
+<a name="l00097"></a>00097     IMPORT_C <span class="keywordtype">void</span> GetLocality( TLocality&amp; aLocality ) <span class="keyword">const</span>;
+<a name="l00098"></a>00098     
+<a name="l00099"></a>00099 <span class="keyword">public</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00100"></a>00100 
+<a name="l00106"></a>00106     <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a> Type();   
+<a name="l00107"></a>00107     
+<a name="l00122"></a>00122     <span class="keyword">virtual</span> <span class="keywordtype">void</span> ValidateDataL() <span class="keyword">const</span>;
+<a name="l00123"></a>00123     
+<a name="l00124"></a>00124 <span class="keyword">protected</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00125"></a>00125 
+<a name="l00129"></a>00129     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream );
+<a name="l00130"></a>00130 
+<a name="l00134"></a>00134     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00135"></a>00135     
+<a name="l00136"></a>00136 <span class="keyword">private</span>:
+<a name="l00137"></a>00137 
+<a name="l00141"></a>00141     CLbsPositionInfo();
+<a name="l00142"></a>00142 
+<a name="l00146"></a>00146     CLbsPositionInfo( CLbsPositionInfo&amp;  );    
+<a name="l00147"></a>00147     
+<a name="l00151"></a>00151     CLbsPositionInfo&amp; operator=( CLbsPositionInfo&amp; );     
+<a name="l00152"></a>00152     
+<a name="l00156"></a>00156     <span class="keywordtype">void</span> ConstructL();
+<a name="l00157"></a>00157     
+<a name="l00161"></a>00161     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> TLocality&amp; aLocality );
+<a name="l00162"></a>00162     
+<a name="l00163"></a>00163 <span class="keyword">private</span>: <span class="comment">// attributes</span>
+<a name="l00164"></a>00164 
+<a name="l00168"></a>00168     TLocality iLocality;
+<a name="l00169"></a>00169     
+<a name="l00170"></a>00170     };
+<a name="l00171"></a>00171 
+<a name="l00172"></a>00172 <span class="preprocessor">#endif //LBS_COORDINATE_INFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolver_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h File Reference</h1><code>#include &lt;e32base.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</code><br/>
+
+<p><a href="lbslocationresolver_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolver_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h</h1><a href="lbslocationresolver_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Class used by client applications to convert data </span>
+<a name="l00015"></a>00015 <span class="comment">* such as such as WlanInfo or CellIds into TLocality position information</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef LBS_LOCATIONRESOLVER_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATIONRESOLVER_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;lbs/lbslocationinfo.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 <span class="keyword">class </span><a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>;
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036 
+<a name="l00037"></a><a class="code" href="class_m_lbs_location_resolver_observer.html">00037</a> <span class="keyword">class </span><a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>
+<a name="l00038"></a>00038     {
+<a name="l00039"></a>00039         
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00041"></a>00041 
+<a name="l00048"></a>00048     IMPORT_C <span class="keyword">virtual</span> TVersion <a class="code" href="class_m_lbs_location_resolver_observer.html#a47687d47bba200328aa8e667988368dd">Version</a>()  <span class="keyword">const</span>;
+<a name="l00049"></a>00049     
+<a name="l00060"></a>00060     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_m_lbs_location_resolver_observer.html#add94f89e5ae465ecc4f1fd4eaaaa84ad">OnResolveLocationComplete</a>(TInt aStatus, <span class="keyword">const</span> TLocality&amp; aLocality) = 0;
+<a name="l00061"></a>00061     
+<a name="l00062"></a>00062     };
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064 
+<a name="l00065"></a><a class="code" href="class_c_lbs_location_resolver.html">00065</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a> : <span class="keyword">public</span> CBase
+<a name="l00066"></a>00066     {
+<a name="l00067"></a>00067 
+<a name="l00068"></a>00068 <span class="keyword">public</span>:
+<a name="l00069"></a>00069 
+<a name="l00075"></a>00075     IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>* <a class="code" href="class_c_lbs_location_resolver.html#abd55387df3882e65acd8d9dda58849c5">NewL</a>(<a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; aObserver,
+<a name="l00076"></a>00076                                                 <span class="keyword">const</span> TUid aConverterModuleId);
+<a name="l00077"></a>00077     
+<a name="l00082"></a>00082     IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>* <a class="code" href="class_c_lbs_location_resolver.html#abd55387df3882e65acd8d9dda58849c5">NewL</a>(<a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; aObserver);
+<a name="l00083"></a>00083 
+<a name="l00087"></a>00087     IMPORT_C <a class="code" href="class_c_lbs_location_resolver.html#a560b5fd5826f872c27c260c22e3a57c1">~CLbsLocationResolver</a>();
+<a name="l00088"></a>00088     
+<a name="l00100"></a>00100     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_resolver.html#a4b2a24a4dda47c6b844b15f144e9362b">ResolveLocationL</a>(<span class="keyword">const</span> CLbsLocationInfo&amp; aLocationInfo); 
+<a name="l00101"></a>00101    
+<a name="l00107"></a>00107     IMPORT_C TInt <a class="code" href="class_c_lbs_location_resolver.html#a3bdff89e72ec3a0a02afdab217453b70">SetConversionPreferences</a>(<a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs);
+<a name="l00108"></a>00108 
+<a name="l00115"></a>00115     IMPORT_C <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> <a class="code" href="class_c_lbs_location_resolver.html#afc2bea58ab6b98f985c1671d22bca757">ConversionPreferences</a>();
+<a name="l00116"></a>00116     
+<a name="l00124"></a>00124     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_resolver.html#ac7c1ea59321c68a46f8277498723c5e1">CancelResolveLocation</a>();
+<a name="l00125"></a>00125 
+<a name="l00126"></a>00126 <span class="keyword">protected</span>:
+<a name="l00130"></a>00130     <a class="code" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a>();
+<a name="l00131"></a>00131     
+<a name="l00135"></a>00135     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_resolver.html#a3c23413afa1d44cf1b58b4b4a8a672d5">ConstructL</a>(<a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; aObserver, <span class="keyword">const</span> TUid aConverterModuleId);
+<a name="l00136"></a>00136 
+<a name="l00137"></a>00137 
+<a name="l00138"></a>00138 <span class="keyword">private</span>:
+<a name="l00142"></a>00142     <a class="code" href="class_c_lbs_location_resolver.html#afef8b0079b5f9be383ac3075c9c6deb1">CLbsLocationResolver</a>(<a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>&amp;);
+<a name="l00143"></a>00143     
+<a name="l00147"></a>00147     <a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>&amp; operator=(<a class="code" href="class_c_lbs_location_resolver.html">CLbsLocationResolver</a>&amp;);
+<a name="l00148"></a>00148     
+<a name="l00149"></a>00149 <span class="keyword">private</span>:
+<a name="l00150"></a>00150 
+<a name="l00154"></a>00154     <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>* iLocationResolverImpl;
+<a name="l00155"></a>00155     
+<a name="l00156"></a>00156     };
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158 
+<a name="l00159"></a>00159 <span class="preprocessor">#endif // LBS_LOCATIONRESOLVER_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationresolverimpl_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolverimpl.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolverimpl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Class that implements location information converter </span>
+<a name="l00015"></a>00015 <span class="comment">* information</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span>
+<a name="l00023"></a>00023 
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;lbs/lbslocationinfo.h&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;rlbslocmonitorsession.h&quot;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;rlbslocinfoconverter.h&quot;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="comment">// forward declaration</span>
+<a name="l00032"></a>00032 <span class="keyword">class </span><a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>;
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00038"></a><a class="code" href="class_c_lbs_location_resolver_impl.html">00038</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a> : <span class="keyword">public</span> CActive
+<a name="l00039"></a>00039     {
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00048"></a>00048     <span class="keyword">static</span> <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>* <a class="code" href="class_c_lbs_location_resolver_impl.html#a74210e99e035a4f3db4c4aa67ff1559f">NewL</a>( <a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; aObserver,
+<a name="l00049"></a>00049                                                     <span class="keyword">const</span> TUid aConversionModuleId  );
+<a name="l00050"></a>00050     
+<a name="l00054"></a>00054     <a class="code" href="class_c_lbs_location_resolver_impl.html#a54a5146d440c18d4468bc6165d59800c">~CLbsLocationResolverImpl</a>();
+<a name="l00055"></a>00055     
+<a name="l00068"></a>00068     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_resolver_impl.html#a3693b2bbcc8162a0867e5b737c305fa7">ResolveLocationL</a>(<span class="keyword">const</span> CLbsLocationInfoBase&amp; aLocationInfo);
+<a name="l00069"></a>00069 
+<a name="l00073"></a>00073     <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_location_resolver_impl.html#a912676c6637d305e8a62525a30878511">CancelResolveLocation</a>();
+<a name="l00074"></a>00074     
+<a name="l00080"></a>00080     TInt <a class="code" href="class_c_lbs_location_resolver_impl.html#a839dc66acd955ca231cf9f5c5fffad9b">SetConversionPreferences</a>(<a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs);
+<a name="l00081"></a>00081 
+<a name="l00088"></a>00088     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> <a class="code" href="class_c_lbs_location_resolver_impl.html#a3f0bb3cc5d8301954ecc0229afa2db51">ConversionPreferences</a>();
+<a name="l00089"></a>00089     
+<a name="l00090"></a>00090 <span class="keyword">protected</span>: <span class="comment">// From CActive</span>
+<a name="l00091"></a>00091     <span class="keywordtype">void</span> RunL();
+<a name="l00092"></a>00092     
+<a name="l00093"></a>00093     <span class="keywordtype">void</span> DoCancel();
+<a name="l00094"></a>00094     
+<a name="l00095"></a>00095 <span class="keyword">private</span>:
+<a name="l00099"></a>00099     <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>( <a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; aObserver );
+<a name="l00100"></a>00100     
+<a name="l00104"></a>00104     <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>( <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>&amp; );
+<a name="l00105"></a>00105     
+<a name="l00109"></a>00109     <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>&amp; operator=( <a class="code" href="class_c_lbs_location_resolver_impl.html">CLbsLocationResolverImpl</a>&amp; );
+<a name="l00110"></a>00110     
+<a name="l00114"></a>00114     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> TUid aConversionModuleId );
+<a name="l00115"></a>00115   
+<a name="l00116"></a>00116 <span class="keyword">private</span>: <span class="comment">// data</span>
+<a name="l00117"></a>00117     
+<a name="l00121"></a>00121     CLbsLocationInfo* iLocationInfo;
+<a name="l00122"></a>00122     
+<a name="l00126"></a>00126     <a class="code" href="class_m_lbs_location_resolver_observer.html">MLbsLocationResolverObserver</a>&amp; iObserver;
+<a name="l00127"></a>00127 
+<a name="l00131"></a>00131     <a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> iLocMoniterSession;
+<a name="l00132"></a>00132     
+<a name="l00136"></a>00136     <a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a> iLocInfoConverter;   
+<a name="l00137"></a>00137     
+<a name="l00141"></a>00141     TUid iConversionModuleId;
+<a name="l00142"></a>00142     
+<a name="l00146"></a>00146     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> iConversionPrefs;
+<a name="l00147"></a>00147     };
+<a name="l00148"></a>00148 
+<a name="l00149"></a>00149 <span class="preprocessor">#endif // LBSLOCATIONINFOCONVERTERIMPL_H_</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmainfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h File Reference</h1><code>#include &lt;e32base.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationwcdmaneighbourinfo.h&gt;</code><br/>
+
+<p><a href="lbslocationwcdmainfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationwcdmainfo_8h.html#ad6c417aacbf166bebdc3aa64176fab0d">NONSHARABLE_CLASS</a> (CLbsWcdmaCellInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ad6c417aacbf166bebdc3aa64176fab0d"></a><!-- doxytag: member="lbslocationwcdmainfo.h::NONSHARABLE_CLASS" ref="ad6c417aacbf166bebdc3aa64176fab0d" args="(CLbsWcdmaCellInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsWcdmaCellInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a cell in WCDMA PLMN. An instance of this class may also contain information of one or more neighbouring WCDMA cells </p>
+
+<p><p>Allocates and constructs a new WCDMA cell info object. In the returned instance, the country code, network code and cell ID are set to zero.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new WCDMA cell info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Allocates and constructs a new WCDMA cell info object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCountryCode</em>&nbsp;</td><td>Network country code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNetworkCode</em>&nbsp;</td><td>Network code. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aUniqueCellId</em>&nbsp;</td><td>Cell ID of a cell in WCDMA PLMN. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new WCDMA cell info object.  KErrArgument in case of invalid input or other standard symbian error codes, such as KErrNoMemory.</dd></dl>
+<p>Allocates and constructs a WCDMA cell info object, a copy of another one.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocality</em>&nbsp;</td><td>Instance of CLbsWcdmaCellInfo.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Destructor</p>
+<p>Initializes the country code attribute.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aCountryCode</em>&nbsp;</td><td>Network country code, range 0..999</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the country code information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Network country code, range 0..999 KErrNotFound if the value is undefined.</dd></dl>
+<p>Initializes the network code attribute.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNetworkCode</em>&nbsp;</td><td>Network code, range 0..999</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the network code information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Network code, range 0..999 KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Cell Identity.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aUniqueCellId</em>&nbsp;</td><td>Cell Identity, range 0..268435455.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Cell Identity.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Cell Identity, range 0..268435455. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the scrambling code</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aScramblingCode</em>&nbsp;</td><td>scrambling code , range 0..511.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the scrambling code .</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Base scrambling code, range 0..511. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the RSSI parameter</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRssi</em>&nbsp;</td><td>Received Signal Strength Indicator, range 0..127.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the RSSI information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RSSI, range 0..127. KErrNotFound if the value is undefined.</dd></dl>
+<p>Adds a neighbouring cell information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>An</em>&nbsp;</td><td>instance of TLbsWcdmaNeighbourCellInfo class (memory ovnership is being transferred)  KErrArgument if the argument is NULL or one of standard symbian error codes</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves a copy of neighbouring cell information information as an array.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aNeighbourCellInfo</em>&nbsp;</td><td>WCDMA neighbouring cell information (memory ownership is not being transferred to this function therefore it is the responsibility of the caller to ensure Close() is called to free resources)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Removes all neighbouring cell information.</p>
+<p>Returns the type of area information instance.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Area type information</dd></dl>
+<p>Validates WCDMA information. This method checks for boundary conditions as well as the mandatory attributes. The attributes of this class become mandatory in a hierarchical manner. For instance, if scrambling code is specified then, all other attributes except the neighbouring cell information become mandatory. However, the mobile country code attribute is always mandatory which means client applications must at least specify the MCC attribute when specifying WCDMA cell information. This method is used internally to determine the correctness of information provided. Optionally, this method, may also be used by client applications to validate their input.</p>
+<p>KErrArgument If the specified attributes dont meet the boundary conditions or the mandatory arguments are not specified.</p>
+<p>Internalize method to write WCDMA cell information to a stream.</p>
+<p>Externalize method to read WCDMA cell information from a stream.</p>
+<p>C++ default constructor</p>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Symbian 2 phase constructor</p>
+<p>Symbian 2 phase constructor</p>
+<p>Mobile country code</p>
+<p>Mobile network code</p>
+<p>Unique cell identifier</p>
+<p>Scrambling code</p>
+<p>RSSI</p>
+<p>Data mask to determine initialized data. Used internally.</p>
+<p>Neighbouring cell info</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmainfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h</h1><a href="lbslocationwcdmainfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* cell information in a WCDMA PLMN. This class may also optionally contain</span>
+<a name="l00016"></a>00016 <span class="comment">* neighbouring cell information</span>
+<a name="l00017"></a>00017 <span class="comment">*</span>
+<a name="l00018"></a>00018 <span class="comment">*/</span>
+<a name="l00019"></a>00019 
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef C_LBSWCDMACELLINFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define C_LBSWCDMACELLINFO_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;lbs/lbslocationwcdmaneighbourinfo.h&gt;</span>
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 
+<a name="l00041"></a><a class="code" href="lbslocationwcdmainfo_8h.html#ad6c417aacbf166bebdc3aa64176fab0d">00041</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsWcdmaCellInfo) : public CLbsAreaInfoBase
+<a name="l00042"></a>00042     {
+<a name="l00043"></a>00043     
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 
+<a name="l00053"></a>00053     IMPORT_C <span class="keyword">static</span> CLbsWcdmaCellInfo* NewL();
+<a name="l00054"></a>00054      
+<a name="l00065"></a>00065     IMPORT_C <span class="keyword">static</span> CLbsWcdmaCellInfo* NewL( <span class="keyword">const</span> TInt aCountryCode,
+<a name="l00066"></a>00066                                              <span class="keyword">const</span> TInt aNetworkCode,
+<a name="l00067"></a>00067                                              <span class="keyword">const</span> TInt aUniqueCellId );     
+<a name="l00073"></a>00073     IMPORT_C <span class="keyword">static</span>  CLbsWcdmaCellInfo* NewL( <span class="keyword">const</span> CLbsWcdmaCellInfo&amp; aPositionInfo);
+<a name="l00074"></a>00074 
+<a name="l00078"></a>00078     IMPORT_C ~CLbsWcdmaCellInfo();
+<a name="l00079"></a>00079     
+<a name="l00085"></a>00085     IMPORT_C <span class="keywordtype">void</span> SetMobileCountryCode( <span class="keyword">const</span> TInt aCountryCode);
+<a name="l00086"></a>00086     
+<a name="l00093"></a>00093     IMPORT_C TInt MobileCountryCode() <span class="keyword">const</span>;
+<a name="l00094"></a>00094     
+<a name="l00100"></a>00100     IMPORT_C <span class="keywordtype">void</span> SetMobileNetworkCode( <span class="keyword">const</span> TInt aNetworkCode );
+<a name="l00101"></a>00101     
+<a name="l00108"></a>00108     IMPORT_C TInt MobileNetworkCode() <span class="keyword">const</span>;
+<a name="l00109"></a>00109     
+<a name="l00115"></a>00115     IMPORT_C <span class="keywordtype">void</span> SetUniqueCellId( <span class="keyword">const</span> TInt aUniqueCellId );
+<a name="l00116"></a>00116     
+<a name="l00123"></a>00123     IMPORT_C TInt UniqueCellId() <span class="keyword">const</span>; 
+<a name="l00124"></a>00124     
+<a name="l00130"></a>00130     IMPORT_C <span class="keywordtype">void</span> SetScramblingCode( <span class="keyword">const</span> TInt aScramblingCode );
+<a name="l00131"></a>00131     
+<a name="l00138"></a>00138     IMPORT_C TInt ScramblingCode() <span class="keyword">const</span>;
+<a name="l00139"></a>00139     
+<a name="l00145"></a>00145     IMPORT_C <span class="keywordtype">void</span> SetSignalStrength( <span class="keyword">const</span> TInt aRssi );
+<a name="l00146"></a>00146     
+<a name="l00153"></a>00153     IMPORT_C TInt SignalStrength() <span class="keyword">const</span>;    
+<a name="l00154"></a>00154 
+<a name="l00163"></a>00163     IMPORT_C <span class="keywordtype">void</span> AddNeighbouringCellInfoL( 
+<a name="l00164"></a>00164                 TLbsWcdmaNeighbourCellInfo* aNeighbourCellInfo );
+<a name="l00165"></a>00165 
+<a name="l00175"></a>00175     IMPORT_C <span class="keywordtype">void</span> GetNeighbouringCellInfoL( 
+<a name="l00176"></a>00176                 RLbsWcdmaNeighbourCellInfoArray&amp; aNeighbourCellInfo ) <span class="keyword">const</span>;
+<a name="l00177"></a>00177 
+<a name="l00181"></a>00181     IMPORT_C <span class="keywordtype">void</span> ResetNeighbouringCellInfo();
+<a name="l00182"></a>00182 
+<a name="l00183"></a>00183 <span class="keyword">public</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00184"></a>00184 
+<a name="l00190"></a>00190     <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a> Type();   
+<a name="l00191"></a>00191     
+<a name="l00208"></a>00208     <span class="keyword">virtual</span> <span class="keywordtype">void</span> ValidateDataL() <span class="keyword">const</span>;
+<a name="l00209"></a>00209     
+<a name="l00210"></a>00210 <span class="keyword">protected</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00211"></a>00211 
+<a name="l00215"></a>00215     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream );
+<a name="l00216"></a>00216   
+<a name="l00220"></a>00220     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00221"></a>00221     
+<a name="l00222"></a>00222 <span class="keyword">private</span>:
+<a name="l00223"></a>00223 
+<a name="l00227"></a>00227     CLbsWcdmaCellInfo();
+<a name="l00228"></a>00228 
+<a name="l00232"></a>00232     CLbsWcdmaCellInfo( CLbsWcdmaCellInfo&amp; );    
+<a name="l00233"></a>00233     
+<a name="l00237"></a>00237     CLbsWcdmaCellInfo&amp; operator=( CLbsWcdmaCellInfo&amp; );     
+<a name="l00238"></a>00238     
+<a name="l00242"></a>00242     <span class="keywordtype">void</span> ConstructL();
+<a name="l00243"></a>00243     
+<a name="l00247"></a>00247     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> TInt aCountryCode, 
+<a name="l00248"></a>00248                      <span class="keyword">const</span> TInt aNetworkCode,
+<a name="l00249"></a>00249                      <span class="keyword">const</span> TInt aUniqueCellId );
+<a name="l00250"></a>00250     
+<a name="l00251"></a>00251 <span class="keyword">private</span>: <span class="comment">// data</span>
+<a name="l00252"></a>00252 
+<a name="l00253"></a>00253     <span class="keyword">enum</span> _TWcdmaDataValidationMask
+<a name="l00254"></a>00254         {
+<a name="l00255"></a>00255         EWcdmaDataNull = 0x00,
+<a name="l00256"></a>00256         EWcdmaMCC = 0x01,
+<a name="l00257"></a>00257         EWcdmaMNC = 0x02,
+<a name="l00258"></a>00258         EWcdmaUCid = 0x04,
+<a name="l00259"></a>00259         EWcdmaSC = 0x08,
+<a name="l00260"></a>00260         EWcdmaRSSI = 0x10,
+<a name="l00261"></a>00261         };
+<a name="l00262"></a>00262     
+<a name="l00266"></a>00266     TInt16      iMCC;
+<a name="l00267"></a>00267     
+<a name="l00271"></a>00271     TInt16      iMNC;
+<a name="l00272"></a>00272     
+<a name="l00276"></a>00276     TInt32      iUCid;
+<a name="l00277"></a>00277     
+<a name="l00281"></a>00281     TInt16       iSCode;
+<a name="l00282"></a>00282     
+<a name="l00286"></a>00286     TInt16       iRssi;
+<a name="l00287"></a>00287     
+<a name="l00291"></a>00291     TInt8       iDataValidationMask;
+<a name="l00292"></a>00292     
+<a name="l00296"></a>00296     RLbsWcdmaNeighbourCellInfoArray  iNeighbourCellInfo;
+<a name="l00297"></a>00297     
+<a name="l00298"></a>00298     };
+<a name="l00299"></a>00299 
+<a name="l00300"></a>00300 <span class="preprocessor">#endif // C_POSWCDMACELLINFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmaneighbourinfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+
+<p><a href="lbslocationwcdmaneighbourinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a837de8890c5305553a36967890c6b238"></a><!-- doxytag: member="lbslocationwcdmaneighbourinfo.h::RLbsWcdmaNeighbourCellInfoArray" ref="a837de8890c5305553a36967890c6b238" args="" -->
+typedef RArray<br class="typebreak"/>
+&lt; TLbsWcdmaNeighbourCellInfo &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>RLbsWcdmaNeighbourCellInfoArray</b></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationwcdmaneighbourinfo_8h.html#a5ccd4736467b5ad479bd8398968a2e71">NONSHARABLE_CLASS</a> (TLbsWcdmaNeighbourCellInfo)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a5ccd4736467b5ad479bd8398968a2e71"></a><!-- doxytag: member="lbslocationwcdmaneighbourinfo.h::NONSHARABLE_CLASS" ref="a5ccd4736467b5ad479bd8398968a2e71" args="(TLbsWcdmaNeighbourCellInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">TLbsWcdmaNeighbourCellInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a Wcdma neighbouring cell information </p>
+
+<p><p>Allocates and constructs a new neighbour Wcdma cell info object. In the returned instance all data is marked as undefined</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new neighbour Wcdma cell info object.</dd></dl>
+<p>Allocates and constructs a new neighbour Wcdma cell info object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aUCid</em>&nbsp;</td><td>Cell Identity </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aSCode</em>&nbsp;</td><td>Scrambling Code </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aPathloss</em>&nbsp;</td><td>Pathloss </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>Received</em>&nbsp;</td><td>Signal Strength Indicator</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new neighbour Wcdma cell info object.</dd></dl>
+<p>Sets the Cell Identity.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aUniqueCellId</em>&nbsp;</td><td>Cell Identity, range 0..268435455.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the Cell Identity.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Cell Identity, range 0..268435455. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the scrambling code</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aScramblingCode</em>&nbsp;</td><td>scrambling code , range 0..511.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the scrambling code .</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Base scrambling code, range 0..511. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the Pathloss parameter</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aPathloss</em>&nbsp;</td><td>Pathloss, range 46..173.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the pathloss information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>pathloss, range 46..173. KErrNotFound if the value is undefined.</dd></dl>
+<p>Sets the RSSI parameter</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRssi</em>&nbsp;</td><td>Received Signal Strength Indicator, range 0..127.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the RSSI information.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RSSI, range 0..127. KErrNotFound if the value is undefined.</dd></dl>
+<p>Cell Identity</p>
+<p>Scrambling Code</p>
+<p>Path loss</p>
+<p>RSSI</p>
+<p>Reserved</p>
+</p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwcdmaneighbourinfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h</h1><a href="lbslocationwcdmaneighbourinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* cell information in a Wcdma PLMN. This class may also optionally contain</span>
+<a name="l00016"></a>00016 <span class="comment">* neighbouring cell information</span>
+<a name="l00017"></a>00017 <span class="comment">*</span>
+<a name="l00018"></a>00018 <span class="comment">*/</span>
+<a name="l00019"></a>00019 
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef LBS_WCDMA_NEIGHB_CELL_INFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define LBS_WCDMA_NEIGHB_CELL_INFO_H</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00038"></a><a class="code" href="lbslocationwcdmaneighbourinfo_8h.html#a5ccd4736467b5ad479bd8398968a2e71">00038</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(TLbsWcdmaNeighbourCellInfo)
+<a name="l00039"></a>00039     {
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00042"></a>00042 
+<a name="l00049"></a>00049     IMPORT_C TLbsWcdmaNeighbourCellInfo();
+<a name="l00050"></a>00050     
+<a name="l00061"></a>00061     IMPORT_C TLbsWcdmaNeighbourCellInfo(<span class="keyword">const</span> TInt aUCid,
+<a name="l00062"></a>00062                                         <span class="keyword">const</span> TInt aSCode,
+<a name="l00063"></a>00063                                         <span class="keyword">const</span> TInt aPathloss,
+<a name="l00064"></a>00064                                         <span class="keyword">const</span> TInt aRssi );
+<a name="l00065"></a>00065         
+<a name="l00071"></a>00071     IMPORT_C <span class="keywordtype">void</span> SetUniqueCellId( <span class="keyword">const</span> TInt aUniqueCellId );
+<a name="l00072"></a>00072     
+<a name="l00079"></a>00079     IMPORT_C TInt UniqueCellId() <span class="keyword">const</span>; 
+<a name="l00080"></a>00080     
+<a name="l00086"></a>00086     IMPORT_C <span class="keywordtype">void</span> SetScramblingCode( <span class="keyword">const</span> TInt aScramblingCode );
+<a name="l00087"></a>00087     
+<a name="l00094"></a>00094     IMPORT_C TInt ScramblingCode() <span class="keyword">const</span>;
+<a name="l00095"></a>00095     
+<a name="l00101"></a>00101     IMPORT_C <span class="keywordtype">void</span> SetPathloss( <span class="keyword">const</span> TInt aPathloss );
+<a name="l00102"></a>00102     
+<a name="l00109"></a>00109     IMPORT_C TInt Pathloss() <span class="keyword">const</span>;
+<a name="l00110"></a>00110     
+<a name="l00116"></a>00116     IMPORT_C <span class="keywordtype">void</span> SetSignalStrength( <span class="keyword">const</span> TInt aRssi );
+<a name="l00117"></a>00117     
+<a name="l00124"></a>00124     IMPORT_C TInt SignalStrength() <span class="keyword">const</span>;    
+<a name="l00125"></a>00125     
+<a name="l00126"></a>00126 <span class="keyword">protected</span>: <span class="comment">// attributes</span>
+<a name="l00127"></a>00127 
+<a name="l00131"></a>00131     TInt32      iUniqueCellId;
+<a name="l00132"></a>00132 
+<a name="l00136"></a>00136     TInt16       iScramblingCode;
+<a name="l00137"></a>00137     
+<a name="l00141"></a>00141     TInt16        iPathloss;
+<a name="l00142"></a>00142     
+<a name="l00146"></a>00146     TInt16       iRssi;
+<a name="l00147"></a>00147     
+<a name="l00151"></a>00151     TUint8      iReserved[8];
+<a name="l00152"></a>00152     
+<a name="l00153"></a>00153     };
+<a name="l00154"></a>00154 
+<a name="l00155"></a>00155 <span class="keyword">typedef</span> RArray&lt;TLbsWcdmaNeighbourCellInfo&gt; RLbsWcdmaNeighbourCellInfoArray;
+<a name="l00156"></a>00156 
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158 <span class="preprocessor">#endif //LBS_WCDMA_NEIGHB_CELL_INFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwlaninfo_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationcommon.h&gt;</code><br/>
+
+<p><a href="lbslocationwlaninfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TBuf8<br class="typebreak"/>
+&lt; <a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">KLbsWlanMacAddressLength</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationwlaninfo_8h.html#abfc85a96b978a03e0a7377fea384ced0">NONSHARABLE_CLASS</a> (CLbsWlanInfo)</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">KLbsWlanMacAddressLength</a> = 18</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a3bcb95c19888590da018a28c090dc4eb"></a><!-- doxytag: member="lbslocationwlaninfo.h::TLbsWlanMacAddress" ref="a3bcb95c19888590da018a28c090dc4eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TBuf8&lt;<a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">KLbsWlanMacAddressLength</a>&gt; <a class="el" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>WLAN MAC address consists of six hex numbers and is typically represented as a string with 6, colon separated hexadecimal numbers. (e.g. 11:22:33:44:55:66)</p>
+<p>In order so save memory the LBS subsystem does not use a string. A 6 byte long buffer is used instead.</p>
+<p>The leftmost number of the MAC address ("11" in the example) is stored in the first byte of the buffer. The rightmost number of the MAC address ("66" in the example) is stored in the last byte of the buffer. </p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="abfc85a96b978a03e0a7377fea384ced0"></a><!-- doxytag: member="lbslocationwlaninfo.h::NONSHARABLE_CLASS" ref="abfc85a96b978a03e0a7377fea384ced0" args="(CLbsWlanInfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">NONSHARABLE_CLASS </td>
+          <td>(</td>
+          <td class="paramtype">CLbsWlanInfo&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This class contains information related to a WLAN radio map object. </p>
+
+<p><p>Allocates and constructs a new WLAN info object. In the returned instance, the MAC ID and signal strength values are set to zero.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new WLAN info object.  Standard symbian error codes, such as KErrNoMemory</dd></dl>
+<p>Allocates and constructs a new WLAN info object.</p>
+<p>The validation for the arguments is hierarchical. For instance, if signal strength is given, then specifying MAC ID is mandatory.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aMacAddress</em>&nbsp;</td><td>MAC address of the WLAN AP. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRxStrength</em>&nbsp;</td><td>AP signal strength received at the SET.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the new WLAN info object.  KErrArgument in case of invalid input or other standard symbian error codes, such as KErrNoMemory.</dd></dl>
+<p>Allocates and constructs a Wlan info object, a copy of another one.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aLocality</em>&nbsp;</td><td>Instance of CLbsWlanInfo.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Destructor</p>
+<p>Initializes the MAC ID attribute.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aMacAddress</em>&nbsp;</td><td>MAC address of the WLAN AP</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the MAC ID information.</p>
+<p>Initializes the AP signal strength received at the SET.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aRxStrength</em>&nbsp;</td><td>AP signal strength received at the SET, range 0..255</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Retrieves the AP signal strength received at the SET.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>AP signal strength received at the SET, range 0..255 KErrNotFound if the value is undefined.</dd></dl>
+<p>Returns the type of area information instance.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Area type information</dd></dl>
+<p>Validates WLAN information. This method checks for boundary conditions as well as the mandatory attributes. All attributes of this class are mandatory. This method is used internally to determine the correctness of information provided. Optionally, this method, may also be used by client applications to validate their input.</p>
+<p>KErrArgument If the specified attributes dont meet the boundary conditions or the mandatory arguments are not specified.</p>
+<p>Internalize method to write WLAN information to a stream.</p>
+<p>Externalize method to read WLAN information from a stream.</p>
+<p>C++ default constructor</p>
+<p>Copy constructor. Prohibited by default.</p>
+<p>Overloaded assignment operator. Prohibited by default.</p>
+<p>Symbian 2 phase constructor</p>
+<p>Symbian 2 phase constructor</p>
+<p>MAC code</p>
+<p>Received signal strength</p>
+</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="af0543b4959693c741ef96756a242e96b"></a><!-- doxytag: member="lbslocationwlaninfo.h::KLbsWlanMacAddressLength" ref="af0543b4959693c741ef96756a242e96b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const TInt <a class="el" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">KLbsWlanMacAddressLength</a> = 18</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Length of a WLAN MAC address. </p>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocationwlaninfo_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h</h1><a href="lbslocationwlaninfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Data class representing a geographical area in terms of </span>
+<a name="l00015"></a>00015 <span class="comment">* WLAN MAC ID. </span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef LBSWLANINFO_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define LBSWLANINFO_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 
+<a name="l00037"></a><a class="code" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">00037</a> <span class="keyword">const</span> TInt <a class="code" href="lbslocationwlaninfo_8h.html#af0543b4959693c741ef96756a242e96b">KLbsWlanMacAddressLength</a> = 18;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 
+<a name="l00051"></a><a class="code" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">00051</a> <span class="keyword">typedef</span> TBuf8&lt;KLbsWlanMacAddressLength&gt; <a class="code" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a>;
+<a name="l00052"></a>00052 
+<a name="l00053"></a>00053 
+<a name="l00057"></a><a class="code" href="lbslocationwlaninfo_8h.html#abfc85a96b978a03e0a7377fea384ced0">00057</a> <a class="code" href="lbslocationcommon_8h.html#ac442d2bb6041514ef3eb0a2b55d4dad3">NONSHARABLE_CLASS</a>(CLbsWlanInfo) : public CLbsAreaInfoBase
+<a name="l00058"></a>00058     {
+<a name="l00059"></a>00059       
+<a name="l00060"></a>00060 <span class="keyword">public</span>:
+<a name="l00061"></a>00061 
+<a name="l00069"></a>00069     IMPORT_C <span class="keyword">static</span> CLbsWlanInfo* NewL();
+<a name="l00070"></a>00070     
+<a name="l00084"></a>00084     IMPORT_C <span class="keyword">static</span> CLbsWlanInfo* NewL( <span class="keyword">const</span> <a class="code" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a>&amp; MacAddress, 
+<a name="l00085"></a>00085                                                                         <span class="keyword">const</span> TInt aRxStrength );
+<a name="l00086"></a>00086 
+<a name="l00093"></a>00093     IMPORT_C <span class="keyword">static</span> CLbsWlanInfo* NewL( <span class="keyword">const</span> CLbsWlanInfo&amp; aPositionInfo);
+<a name="l00094"></a>00094  
+<a name="l00098"></a>00098     IMPORT_C ~CLbsWlanInfo();
+<a name="l00099"></a>00099     
+<a name="l00105"></a>00105     IMPORT_C <span class="keywordtype">void</span> SetMacAddress( <span class="keyword">const</span> TDesC8&amp; aMacAddress );
+<a name="l00106"></a>00106     
+<a name="l00110"></a>00110     IMPORT_C <span class="keywordtype">void</span> GetMacAddress(TDes8&amp; aMacAddress ) <span class="keyword">const</span>;
+<a name="l00111"></a>00111     
+<a name="l00117"></a>00117     IMPORT_C <span class="keywordtype">void</span> SetSignalStrength( <span class="keyword">const</span> TInt aRxStrength );
+<a name="l00118"></a>00118     
+<a name="l00125"></a>00125     IMPORT_C TInt SignalStrength() <span class="keyword">const</span>;
+<a name="l00126"></a>00126     
+<a name="l00127"></a>00127 <span class="keyword">public</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00128"></a>00128 
+<a name="l00134"></a>00134     <span class="keyword">virtual</span> <a class="code" href="lbslocationclasstypes_8h.html#aa55c9059044a098c549d243ae561a686">TLbsAreaInfoClassType</a> Type();  
+<a name="l00135"></a>00135     
+<a name="l00147"></a>00147     <span class="keyword">virtual</span> <span class="keywordtype">void</span> ValidateDataL() <span class="keyword">const</span>;
+<a name="l00148"></a>00148     
+<a name="l00149"></a>00149 <span class="keyword">protected</span>: <span class="comment">// from CLbsAreaInfoBase</span>
+<a name="l00150"></a>00150 
+<a name="l00154"></a>00154     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoInternaliseL( RReadStream&amp; aStream );
+<a name="l00155"></a>00155   
+<a name="l00159"></a>00159     <span class="keyword">virtual</span> <span class="keywordtype">void</span> DoExternaliseL( RWriteStream&amp; aStream ) <span class="keyword">const</span>;
+<a name="l00160"></a>00160     
+<a name="l00161"></a>00161 <span class="keyword">private</span>:
+<a name="l00162"></a>00162 
+<a name="l00166"></a>00166     CLbsWlanInfo();
+<a name="l00167"></a>00167     
+<a name="l00171"></a>00171     CLbsWlanInfo( CLbsWlanInfo&amp; );  
+<a name="l00172"></a>00172     
+<a name="l00176"></a>00176     CLbsWlanInfo&amp; operator=( CLbsWlanInfo&amp; );     
+<a name="l00177"></a>00177     
+<a name="l00181"></a>00181     <span class="keywordtype">void</span> ConstructL();
+<a name="l00182"></a>00182     
+<a name="l00186"></a>00186     <span class="keywordtype">void</span> ConstructL( <span class="keyword">const</span> <a class="code" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a>&amp; MacAddress,
+<a name="l00187"></a>00187                      <span class="keyword">const</span> TInt aPowRx );
+<a name="l00188"></a>00188     
+<a name="l00189"></a>00189 <span class="keyword">private</span>: <span class="comment">// data</span>
+<a name="l00190"></a>00190 
+<a name="l00194"></a>00194     <a class="code" href="lbslocationwlaninfo_8h.html#a3bcb95c19888590da018a28c090dc4eb">TLbsWlanMacAddress</a> iMacAddress;
+<a name="l00195"></a>00195     
+<a name="l00199"></a>00199     TInt16    iPowRx;
+<a name="l00200"></a>00200     
+<a name="l00201"></a>00201     };
+<a name="l00202"></a>00202 
+<a name="l00203"></a>00203 <span class="preprocessor">#endif // LBSWLANINFO_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginbase_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h File Reference</h1><code>#include &lt;e32base.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfo.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocinfoconverterplugincommon.h&gt;</code><br/>
+<code>#include &lt;lbs/lbslocinfoconverterpluginclasstypes.h&gt;</code><br/>
+
+<p><a href="lbslocinfoconverterpluginbase_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginbase_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h</h1><a href="lbslocinfoconverterpluginbase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Location information converter plug in API</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 <span class="comment">// System wide</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;e32base.h&gt;</span>
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 <span class="comment">// Common LBS data types</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;lbs/lbslocationinfo.h&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037 <span class="comment">// Component specific</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;lbs/lbslocinfoconverterplugincommon.h&gt;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;lbs/lbslocinfoconverterpluginclasstypes.h&gt;</span>
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 
+<a name="l00042"></a>00042 <span class="keyword">class </span><a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a>;
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 
+<a name="l00054"></a><a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html">00054</a> <span class="keyword">class </span><a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>
+<a name="l00055"></a>00055     {
+<a name="l00056"></a>00056     
+<a name="l00057"></a>00057 <span class="keyword">public</span>:
+<a name="l00058"></a>00058 
+<a name="l00065"></a>00065         IMPORT_C <span class="keyword">virtual</span> TVersion <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html#a6208d2f8734f122237961d166d938e6e">Version</a>() <span class="keyword">const</span>;
+<a name="l00066"></a>00066         
+<a name="l00077"></a>00077         IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html#a01b04b72b17ff4997cab71d36155c364">OnValidationComplete</a>( TInt aStatusCode ) = 0;
+<a name="l00078"></a>00078 
+<a name="l00098"></a>00098     IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html#aae3eb00909314280c3a5488a99d364d6">OnConversionComplete</a>( TInt aStatusCode ) = 0;
+<a name="l00099"></a>00099 
+<a name="l00100"></a>00100 <span class="keyword">private</span>:
+<a name="l00101"></a>00101     
+<a name="l00106"></a>00106         IMPORT_C <span class="keyword">virtual</span> TAny* ExtendedInterface( TInt aFunctionNumber, 
+<a name="l00107"></a>00107                                               TAny* aPtr1, 
+<a name="l00108"></a>00108                                               TAny* aPtr2 );
+<a name="l00109"></a>00109         
+<a name="l00110"></a>00110     };
+<a name="l00111"></a>00111 
+<a name="l00112"></a>00112 
+<a name="l00132"></a><a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html">00132</a> <span class="keyword">class </span><a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a> : <span class="keyword">public</span> CBase
+<a name="l00133"></a>00133     {
+<a name="l00134"></a>00134         
+<a name="l00135"></a>00135 <span class="keyword">public</span>:
+<a name="l00136"></a>00136     
+<a name="l00146"></a>00146     IMPORT_C <span class="keyword">static</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html">CLbsLocInfoConverterPluginBase</a>* <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a20a41c65e7d7f2ba5a11834d1e5af0a8">NewL</a>( 
+<a name="l00147"></a>00147                                    TUid aImplementationUid,
+<a name="l00148"></a>00148                                    <a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a>&amp; aParams );
+<a name="l00149"></a>00149                                                            
+<a name="l00153"></a>00153     IMPORT_C <span class="keyword">virtual</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a23ef537586fdf199425c1a640cfa7e7d">~CLbsLocInfoConverterPluginBase</a>();
+<a name="l00154"></a>00154 
+<a name="l00161"></a>00161         IMPORT_C <span class="keyword">virtual</span> TVersion <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a07c4a46bbd12e99ec81ca838c94b2e93">Version</a>() <span class="keyword">const</span>;
+<a name="l00162"></a>00162         
+<a name="l00176"></a>00176         IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a7cabd6e422e681f228ce0fdc0bbd09c0">ValidateClient</a>( <span class="keyword">const</span> TSecureId&amp; aSecureId, 
+<a name="l00177"></a>00177                             <span class="keyword">const</span> TVendorId&amp; aVendorId, 
+<a name="l00178"></a>00178                             <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo) = 0;
+<a name="l00179"></a>00179                             
+<a name="l00188"></a>00188         IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#ac586192b3ac33450c7d2254382468681">CancelValidateClient</a>() = 0;
+<a name="l00189"></a>00189     
+<a name="l00208"></a>00208     IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a98c807aaf0183755f5e04e688d63cf6e">ConvertLocationInfoL</a>( 
+<a name="l00209"></a>00209                        RLbsLocationInfoArray&amp; aLocationInfoArray,
+<a name="l00210"></a>00210                        <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, 
+<a name="l00211"></a>00211                        <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo ) = 0;
+<a name="l00212"></a>00212 
+<a name="l00220"></a>00220     IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a7e1b55752c5c35fe9c4853ecdd4dbd87">CancelConvertLocationInfo</a>() = 0;
+<a name="l00221"></a>00221 
+<a name="l00222"></a>00222     
+<a name="l00228"></a>00228     IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#a389fb993c8bdf0f45960c6e3faa46683">ConversionPluginPreferences</a>(
+<a name="l00229"></a>00229             <a class="code" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>&amp; aPluginInfo ) = 0;
+<a name="l00230"></a>00230     
+<a name="l00235"></a>00235         IMPORT_C <span class="keyword">virtual</span> TAny* <a class="code" href="class_c_lbs_loc_info_converter_plugin_base.html#abd1623c4637aeef0553039eca650dce8">ExtendedInterface</a>( TInt aFunctionNumber, 
+<a name="l00236"></a>00236                                                TAny* aPtr1, 
+<a name="l00237"></a>00237                                                TAny* aPtr2 );
+<a name="l00238"></a>00238 
+<a name="l00239"></a>00239 <span class="keyword">private</span>: <span class="comment">// data</span>
+<a name="l00240"></a>00240 
+<a name="l00247"></a>00247      TUid iDtor_ID_Key;
+<a name="l00248"></a>00248      
+<a name="l00249"></a>00249     };
+<a name="l00250"></a>00250 
+<a name="l00251"></a>00251 
+<a name="l00263"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html">00263</a> <span class="keyword">class </span><a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a> : <span class="keyword">public</span> <a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>
+<a name="l00264"></a>00264         {
+<a name="l00265"></a>00265         
+<a name="l00266"></a>00266 <span class="keyword">public</span>:
+<a name="l00267"></a>00267     
+<a name="l00278"></a>00278     IMPORT_C <a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#a10e8bacd53077471825fd59a916c0304">TLbsLocInfoConverterPluginParams</a>( 
+<a name="l00279"></a>00279                 <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>&amp; aObserver );
+<a name="l00280"></a>00280 
+<a name="l00287"></a>00287         IMPORT_C <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>&amp; <a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#a75a31120987e1b1ffe2bbf88e21ae5fe">Observer</a>() <span class="keyword">const</span>;
+<a name="l00288"></a>00288         
+<a name="l00289"></a>00289 <span class="keyword">protected</span>:
+<a name="l00290"></a>00290     
+<a name="l00294"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">00294</a>     <a class="code" href="class_m_lbs_loc_info_converter_plugin_observer.html">MLbsLocInfoConverterPluginObserver</a>&amp; <a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#aff6a48ec1a18c463416bd46dc3c74cd4">iObserver</a>;
+<a name="l00295"></a>00295     
+<a name="l00299"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">00299</a>         TUint8 <a class="code" href="class_t_lbs_loc_info_converter_plugin_params.html#a83d9366cef1799dc81bffb5cd3d86710">iReserved</a>[20];
+<a name="l00300"></a>00300         
+<a name="l00301"></a>00301         };
+<a name="l00302"></a>00302 
+<a name="l00303"></a>00303 <span class="preprocessor">#endif // LBS_LOC_INFO_CONVERSION_PLUGIN_BASE_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginclasstypes_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h File Reference</h1>
+<p><a href="lbslocinfoconverterpluginclasstypes_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">TLbsLocInfoConverterPluginParamsClassType</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">_TLbsLocInfoConverterPluginParamsClassType</a> { <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b">ELbsLocInfoConverterPluginParamsUnknownClass</a> =  0x00, 
+<a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402">ELbsLocInfoConverterPluginParamsClass</a> =  0x01, 
+<a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d">ELbsLocInfoConverterPluginParamsLastClass</a> =  0xFFFFFFFF
+ }</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aee07c1e0281895795937167128640c91"></a><!-- doxytag: member="lbslocinfoconverterpluginclasstypes.h::TLbsLocInfoConverterPluginParamsClassType" ref="aee07c1e0281895795937167128640c91" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">TLbsLocInfoConverterPluginParamsClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Type used for identifying class types </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a7822597426adf9f04c10fb01ee25b3b1"></a><!-- doxytag: member="lbslocinfoconverterpluginclasstypes.h::_TLbsLocInfoConverterPluginParamsClassType" ref="a7822597426adf9f04c10fb01ee25b3b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">_TLbsLocInfoConverterPluginParamsClassType</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Class types for <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a> and its derived classes </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b"></a><!-- doxytag: member="ELbsLocInfoConverterPluginParamsUnknownClass" ref="a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b" args="" -->ELbsLocInfoConverterPluginParamsUnknownClass</em>&nbsp;</td><td>
+<p>Should be used for data initialisation only </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402"></a><!-- doxytag: member="ELbsLocInfoConverterPluginParamsClass" ref="a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402" args="" -->ELbsLocInfoConverterPluginParamsClass</em>&nbsp;</td><td>
+<p>Identifier for <a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html">TLbsLocInfoConverterPluginParams</a> class </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d"></a><!-- doxytag: member="ELbsLocInfoConverterPluginParamsLastClass" ref="a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d" args="" -->ELbsLocInfoConverterPluginParamsLastClass</em>&nbsp;</td><td>
+<p>Not used. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterpluginclasstypes_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h</h1><a href="lbslocinfoconverterpluginclasstypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Common enumerations used by client applications and plugins </span>
+<a name="l00015"></a>00015 <span class="comment">* for conversion of location information.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 
+<a name="l00031"></a><a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">00031</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#aee07c1e0281895795937167128640c91">TLbsLocInfoConverterPluginParamsClassType</a>;
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 
+<a name="l00037"></a><a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">00037</a> <span class="keyword">enum</span> <a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1">_TLbsLocInfoConverterPluginParamsClassType</a>
+<a name="l00038"></a>00038         {
+<a name="l00040"></a><a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b">00040</a>         <a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1ac7049f6f692a79c7145eade94c4b731b">ELbsLocInfoConverterPluginParamsUnknownClass</a> = 0x00,
+<a name="l00041"></a>00041 
+<a name="l00043"></a><a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402">00043</a>         <a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a84a6589cfb0b139638b600541fc06402">ELbsLocInfoConverterPluginParamsClass</a>        = 0x01,
+<a name="l00044"></a>00044 
+<a name="l00046"></a><a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d">00046</a>         <a class="code" href="lbslocinfoconverterpluginclasstypes_8h.html#a7822597426adf9f04c10fb01ee25b3b1a7ac73675f9905ab6ccfce7bc08903a1d">ELbsLocInfoConverterPluginParamsLastClass</a>    = 0xFFFFFFFF
+<a name="l00047"></a>00047         };
+<a name="l00048"></a>00048 
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050 <span class="preprocessor">#endif // LBS_LOC_INFO_CONV_PLUGIN_CLASS_TYPES_H</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterplugincommon_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h File Reference</h1><code>#include &lt;e32std.h&gt;</code><br/>
+
+<p><a href="lbslocinfoconverterplugincommon_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef TUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">_TLbsConversionPluginCapabilityMask</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d">ELbsPluginCapabilityNotDefined</a> =  0x00, 
+<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d">ELbsPluginCapabilityPosInfo</a> =  0x01, 
+<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869">ELbsPluginCapabilityGsmInfo</a> =  0x02, 
+<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e">ELbsPluginCapabilityWcdmaInfo</a> =  0x04, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07">ELbsPluginCapabilityWlanInfo</a> =  0x08, 
+<a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6">ELbsPluginCapabilityAreaInfoAll</a> =  0xFFFFFFFF
+<br/>
+ }</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a32dff3d8ca638ecfe1944cc958638ada"></a><!-- doxytag: member="lbslocinfoconverterplugincommon.h::TLbsConversionPluginCapabilityMask" ref="a32dff3d8ca638ecfe1944cc958638ada" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TUint32 <a class="el" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Conversion plugin's capabilities </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ab78cbc574a096432af04b6fe55cca067"></a><!-- doxytag: member="lbslocinfoconverterplugincommon.h::_TLbsConversionPluginCapabilityMask" ref="ab78cbc574a096432af04b6fe55cca067" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">_TLbsConversionPluginCapabilityMask</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enums that are used as bitmasks to define the capabilities of the conversion plugin. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d"></a><!-- doxytag: member="ELbsPluginCapabilityNotDefined" ref="ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d" args="" -->ELbsPluginCapabilityNotDefined</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability has not been defined. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d"></a><!-- doxytag: member="ELbsPluginCapabilityPosInfo" ref="ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d" args="" -->ELbsPluginCapabilityPosInfo</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability to use position information for the conversion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869"></a><!-- doxytag: member="ELbsPluginCapabilityGsmInfo" ref="ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869" args="" -->ELbsPluginCapabilityGsmInfo</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability to use GSM cell information for the conversion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e"></a><!-- doxytag: member="ELbsPluginCapabilityWcdmaInfo" ref="ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e" args="" -->ELbsPluginCapabilityWcdmaInfo</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability to use WCDMA cell information for the conversion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07"></a><!-- doxytag: member="ELbsPluginCapabilityWlanInfo" ref="ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07" args="" -->ELbsPluginCapabilityWlanInfo</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability to use WLAN AP information for the conversion. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6"></a><!-- doxytag: member="ELbsPluginCapabilityAreaInfoAll" ref="ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6" args="" -->ELbsPluginCapabilityAreaInfoAll</em>&nbsp;</td><td>
+<p>Bitmask indicating the conversion plugin's capability to use all area information for the conversion. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocinfoconverterplugincommon_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h</h1><a href="lbslocinfoconverterplugincommon_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description: Base class for all the class representing</span>
+<a name="l00015"></a>00015 <span class="comment">* location informations.</span>
+<a name="l00016"></a>00016 <span class="comment">*</span>
+<a name="l00017"></a>00017 <span class="comment">*/</span>
+<a name="l00018"></a>00018 
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;e32std.h&gt;</span>
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 
+<a name="l00035"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">00035</a> <span class="keyword">class </span><a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>
+<a name="l00036"></a>00036         {
+<a name="l00037"></a>00037 <span class="keyword">public</span>:
+<a name="l00038"></a>00038         IMPORT_C TUint32 ClassType() <span class="keyword">const</span>;
+<a name="l00039"></a>00039         IMPORT_C TUint ClassSize() <span class="keyword">const</span>;
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 <span class="keyword">protected</span>:
+<a name="l00042"></a>00042         IMPORT_C <a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html">TLbsLocInfoConverterPluginClassTypeBase</a>();
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 <span class="keyword">protected</span>:
+<a name="l00046"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">00046</a>         TUint32 <a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a0a442b57385a9c8423bf1e4352a316d0">iClassType</a>;
+<a name="l00048"></a><a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">00048</a>         TUint <a class="code" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html#a6f14da2d6857357c108e739788e89cf8">iClassSize</a>;
+<a name="l00049"></a>00049         };
+<a name="l00050"></a>00050 
+<a name="l00054"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">00054</a> <span class="keyword">typedef</span> TUint32 <a class="code" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a>;
+<a name="l00055"></a>00055 
+<a name="l00059"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">00059</a> <span class="keyword">enum</span> <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067">_TLbsConversionPluginCapabilityMask</a>
+<a name="l00060"></a>00060     {
+<a name="l00064"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d">00064</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067ac0d64a1abc460a42a8b380d51bf8e33d">ELbsPluginCapabilityNotDefined</a> = 0x00,
+<a name="l00065"></a>00065             
+<a name="l00070"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d">00070</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aec59b34bd0f9999fc8dddb463fe6529d">ELbsPluginCapabilityPosInfo</a> = 0x01,
+<a name="l00071"></a>00071     
+<a name="l00076"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869">00076</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a10419fa5686f9603c8491b898b6dd869">ELbsPluginCapabilityGsmInfo</a> = 0x02,
+<a name="l00077"></a>00077     
+<a name="l00082"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e">00082</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067aa3a8106008cd6747c99510d4a38b598e">ELbsPluginCapabilityWcdmaInfo</a> = 0x04,
+<a name="l00083"></a>00083     
+<a name="l00088"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07">00088</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a0e2403bab8a733041db555d222ebef07">ELbsPluginCapabilityWlanInfo</a> = 0x08,
+<a name="l00089"></a>00089     
+<a name="l00094"></a><a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6">00094</a>     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#ab78cbc574a096432af04b6fe55cca067a7d56f633868f1cc64516ae21eec68fd6">ELbsPluginCapabilityAreaInfoAll</a> = 0xFFFFFFFF
+<a name="l00095"></a>00095     };
+<a name="l00096"></a>00096 
+<a name="l00097"></a>00097 
+<a name="l00103"></a><a class="code" href="class_t_lbs_conversion_plugin_info.html">00103</a> <span class="keyword">class </span><a class="code" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>
+<a name="l00104"></a>00104     {
+<a name="l00105"></a>00105 <span class="keyword">public</span>:
+<a name="l00106"></a>00106     IMPORT_C <a class="code" href="class_t_lbs_conversion_plugin_info.html">TLbsConversionPluginInfo</a>();
+<a name="l00107"></a>00107 
+<a name="l00108"></a>00108 <span class="keyword">public</span>:
+<a name="l00112"></a>00112     IMPORT_C TBool <a class="code" href="class_t_lbs_conversion_plugin_info.html#aca3412234c5ce35908432faeadc78db5">IsPluginPositionToBeCached</a>() <span class="keyword">const</span>;
+<a name="l00113"></a>00113     
+<a name="l00117"></a>00117     IMPORT_C <a class="code" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a> <a class="code" href="class_t_lbs_conversion_plugin_info.html#a86ba2b72a2db2ec9b68bcc38e2693803">PluginCapabilitiesMask</a>() <span class="keyword">const</span>;
+<a name="l00118"></a>00118     
+<a name="l00123"></a>00123     IMPORT_C <span class="keywordtype">void</span>  <a class="code" href="class_t_lbs_conversion_plugin_info.html#a95955104b7bdd7ec237c19f63a6f04c4">SetIsPluginPositionToBeCached</a>(TBool aCachePluginPosition);
+<a name="l00124"></a>00124     
+<a name="l00128"></a>00128     IMPORT_C <span class="keywordtype">void</span>  <a class="code" href="class_t_lbs_conversion_plugin_info.html#ae2a5a5ddc40f37c169249ccc2c34df5e">SetPluginCapabilitiesMask</a>(<a class="code" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a> aCapabilitiesMask);
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130 <span class="keyword">private</span>:
+<a name="l00131"></a>00131     TBool                               iIsPluginPositionToBeCached;
+<a name="l00132"></a>00132     <a class="code" href="lbslocinfoconverterplugincommon_8h.html#a32dff3d8ca638ecfe1944cc958638ada">TLbsConversionPluginCapabilityMask</a>  iCapabilitiesMask;
+<a name="l00133"></a>00133     TUint32                             iReserved[8];
+<a name="l00134"></a>00134     };
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 <span class="preprocessor">#endif // LBS_LOCATION_CONVERTER_PLUGIN_COMMON_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/lbslocmonitorclientconsts_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/lbslocmonitorclientconsts.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/lbslocmonitorclientconsts.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description:</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef LBSLOCMONITORCLIENTCONSTS_H_</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define LBSLOCMONITORCLIENTCONSTS_H_</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;e32cmn.h&gt;</span>
+<a name="l00024"></a>00024 
+<a name="l00030"></a>00030 <span class="comment">// This position in the IPC is used by the client library to receive </span>
+<a name="l00031"></a>00031 <span class="comment">// buffer size.</span>
+<a name="l00032"></a>00032 <span class="keyword">const</span> TInt KParamBufferSize = 0;
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 <span class="comment">// This position in the IPC is used by the client library to send location</span>
+<a name="l00036"></a>00036 <span class="comment">// information.</span>
+<a name="l00037"></a>00037 <span class="keyword">const</span> TInt KParamLocationInfo = 1;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 <span class="comment">// This position in the IPC is used by the client library to send client preferences.</span>
+<a name="l00040"></a>00040 <span class="keyword">const</span> TInt KParamClientPrefs = 2;
+<a name="l00041"></a>00041 
+<a name="l00042"></a>00042 <span class="comment">// This position in the IPC is used by the server to send converted info</span>
+<a name="l00043"></a>00043 <span class="keyword">const</span> TInt KParamConvertedInfo = 0;
+<a name="l00044"></a>00044 
+<a name="l00049"></a><a class="code" href="struct_t_lbs_client_prefs.html">00049</a> <span class="keyword">struct </span><a class="code" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>
+<a name="l00050"></a>00050     {
+<a name="l00051"></a>00051     <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> iConversionPrefs;
+<a name="l00052"></a>00052     
+<a name="l00053"></a>00053     <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> iRequestedInfo;
+<a name="l00054"></a>00054     
+<a name="l00055"></a>00055     TUid iConverterModuleId;
+<a name="l00056"></a>00056     };
+<a name="l00057"></a>00057 
+<a name="l00058"></a>00058 <span class="preprocessor">#endif </span><span class="comment">/*LBSLOCMONITORCLIENTCONSTS_H_*/</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/main.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Location Monitor APIs Documentation</h1></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocinfoconverter_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocinfoconverter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocinfoconverter.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description:</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef R_LBSLOCINFOCONVERTER_H_</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define R_LBSLOCINFOCONVERTER_H_</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span>
+<a name="l00022"></a>00022 
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;lbs/lbslocationcommon.h&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;lbs/lbslocationinfoconvertercommon.h&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;rlbslocmonitorsession.h&quot;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;rsecuresessionbase.h&quot;</span>
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="comment">// Forward declaration</span>
+<a name="l00030"></a>00030 <span class="keyword">class </span><a class="code" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>;
+<a name="l00031"></a>00031 <span class="keyword">class </span><a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>;
+<a name="l00032"></a>00032 <span class="keyword">struct </span><a class="code" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>;
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00046"></a><a class="code" href="class_r_lbs_loc_info_converter.html">00046</a> <span class="keyword">class </span><a class="code" href="class_r_lbs_loc_info_converter.html">RLbsLocInfoConverter</a> : <span class="keyword">public</span> RSecureSubSessionBase
+<a name="l00047"></a>00047     {
+<a name="l00048"></a>00048 <span class="keyword">public</span>:
+<a name="l00049"></a>00049 
+<a name="l00053"></a>00053     IMPORT_C <a class="code" href="class_r_lbs_loc_info_converter.html#a27b49873055b412cfaa202743c109d39">RLbsLocInfoConverter</a>();
+<a name="l00054"></a>00054     
+<a name="l00058"></a>00058     IMPORT_C <a class="code" href="class_r_lbs_loc_info_converter.html#a875dd09fefca7f50a56eba86760aa145">~RLbsLocInfoConverter</a>();
+<a name="l00059"></a>00059     
+<a name="l00071"></a>00071     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#a7cdb7398cea8b55f0f94d6e89bca4179">OpenL</a>( <a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>&amp; aLocMonSession );
+<a name="l00072"></a>00072     
+<a name="l00076"></a>00076     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#a98540bd6149efc361d9ff19561d52e2d">Close</a>();
+<a name="l00077"></a>00077     
+<a name="l00093"></a>00093      IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#abcf77b323929d0615840781a4e742e6c">ConvertLocationInfoL</a>( CLbsLocationInfoBase&amp; aLocationInfo,
+<a name="l00094"></a>00094                                          <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs, 
+<a name="l00095"></a>00095                                          <span class="keyword">const</span> <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&amp; aRequestedInfo,
+<a name="l00096"></a>00096                                          <span class="keyword">const</span> TUid aConverterModuleId,
+<a name="l00097"></a>00097                                          TRequestStatus&amp; aStatus );
+<a name="l00098"></a>00098     
+<a name="l00114"></a>00114     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#abcf77b323929d0615840781a4e742e6c">ConvertLocationInfoL</a>( RLbsLocationInfoBaseArray&amp; aLocationInfoArray,
+<a name="l00115"></a>00115                                         <a class="code" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a> aConversionPrefs,
+<a name="l00116"></a>00116                                         <a class="code" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a> aRequestedInfo,
+<a name="l00117"></a>00117                                         <span class="keyword">const</span> TUid aConverterModuleId,
+<a name="l00118"></a>00118                                         TRequestStatus&amp; aStatus );
+<a name="l00119"></a>00119     
+<a name="l00123"></a>00123     IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#acfff21622bccd06f1f75bfa63ed3a026">CancelConvertLocationInfo</a>();
+<a name="l00124"></a>00124     
+<a name="l00129"></a>00129     <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#a304df177e37e74e3bcfb6ab79e0d2e55">HandleSingleConversionBufferSizeL</a>(); 
+<a name="l00130"></a>00130 
+<a name="l00135"></a>00135     <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#a7b535c2636a901025ad076e0e1b6a921">HandleMultipleConversionBufferSizeL</a>(); 
+<a name="l00136"></a>00136     
+<a name="l00140"></a>00140     <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_info_converter.html#ad2e6b7351e87ea29853b49c6c363a96c">ValidateLocationInfoL</a>( CLbsLocationInfoBase* aLocationInfo );
+<a name="l00141"></a>00141     
+<a name="l00142"></a>00142 
+<a name="l00143"></a>00143 <span class="keyword">private</span>:
+<a name="l00147"></a>00147     <span class="keywordtype">void</span> ConstructL();
+<a name="l00148"></a>00148 
+<a name="l00149"></a>00149     
+<a name="l00150"></a>00150 <span class="keyword">private</span>: <span class="comment">// Member variables</span>
+<a name="l00154"></a>00154 <span class="comment"></span>    <a class="code" href="class_c_lbs_loc_info_conversion_handler.html">CLbsLocInfoConversionHandler</a>* iConversionHandler;
+<a name="l00155"></a>00155     
+<a name="l00160"></a>00160     <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>* iPtrHolder;
+<a name="l00161"></a>00161     
+<a name="l00166"></a>00166     TInt iBufferSize;
+<a name="l00167"></a>00167     
+<a name="l00171"></a>00171     <a class="code" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>* iClientPrefs;
+<a name="l00172"></a>00172     };
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174 <span class="preprocessor">#endif </span><span class="comment">/*R_LBSLOCINFOCONVERTER_H_*/</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorareapositioner_8h.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h File Reference</h1><code>#include &lt;lbspositioninfo.h&gt;</code><br/>
+<code>#include &lt;lbsareainfo.h&gt;</code><br/>
+<code>#include &quot;rlbslocmonitorsession.h&quot;</code><br/>
+<code>#include &quot;lbslocmonitorserverdata.h&quot;</code><br/>
+<code>#include &quot;<a class="el" href="rlbslocmonitorareapositioner_8h_source.html">clbslocmonitorptrholder.h</a>&quot;</code><br/>
+<code>#include &lt;e32base.h&gt;</code><br/>
+
+<p><a href="rlbslocmonitorareapositioner_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorareapositioner_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h</h1><a href="rlbslocmonitorareapositioner_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description:</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef RLBSLOCMONITORAREAPOSITIONER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define RLBSLOCMONITORAREAPOSITIONER_H</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;lbspositioninfo.h&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;lbsareainfo.h&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;rlbslocmonitorsession.h&quot;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;lbslocmonitorserverdata.h&quot;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;clbslocmonitorptrholder.h&quot;</span>
+<a name="l00031"></a>00031 
+<a name="l00041"></a><a class="code" href="class_r_lbs_loc_monitor_area_positioner.html">00041</a> <span class="keyword">class </span><a class="code" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a> : <span class="keyword">public</span> RSecureSubSessionBase
+<a name="l00042"></a>00042         {
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 
+<a name="l00046"></a>00046         IMPORT_C <a class="code" href="class_r_lbs_loc_monitor_area_positioner.html">RLbsLocMonitorAreaPositioner</a>();
+<a name="l00047"></a>00047         IMPORT_C <span class="keywordtype">void</span> OpenL(<a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>&amp; aLocMonSession);
+<a name="l00048"></a>00048         IMPORT_C <span class="keywordtype">void</span> Close();
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050         <span class="comment">/* Called by the Location Server to report the last</span>
+<a name="l00051"></a>00051 <span class="comment">         Position obtained from any of its PSYs that are not otherwise</span>
+<a name="l00052"></a>00052 <span class="comment">         available to the Location Monitor. The position</span>
+<a name="l00053"></a>00053 <span class="comment">         will be stored in a database.</span>
+<a name="l00054"></a>00054 <span class="comment">         */</span>
+<a name="l00055"></a>00055         IMPORT_C TInt <a class="code" href="class_r_lbs_loc_monitor_area_positioner.html#ae44dfca283fe78209b24eda1287f0d12">SetLastKnownPosition</a>(<span class="keyword">const</span> TPositionInfoBase&amp; aPosInfo) <span class="keyword">const</span>;
+<a name="l00056"></a>00056         
+<a name="l00057"></a>00057         <span class="comment">/* Retrieve the position last stored in the database */</span>
+<a name="l00058"></a>00058     IMPORT_C <span class="keywordtype">void</span> GetLastKnownPosition(TPositionInfoBase&amp; aPosInfo,
+<a name="l00059"></a>00059                                          TRequestStatus&amp; aStatus) <span class="keyword">const</span>;
+<a name="l00060"></a>00060     
+<a name="l00061"></a>00061     <span class="comment">/* Cancel a previous call to GetLastKnownPosition*/</span>
+<a name="l00062"></a>00062     IMPORT_C TInt CancelGetLastKnownPosition() <span class="keyword">const</span>;                 
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064         <span class="comment">/* Returns in aPosInfo a position which had been previously stored </span>
+<a name="l00065"></a>00065 <span class="comment">        in association with &quot;context information&quot; that is bound to a </span>
+<a name="l00066"></a>00066 <span class="comment">        geographical area (e.g. Global Cell Id).</span>
+<a name="l00067"></a>00067 <span class="comment">        </span>
+<a name="l00068"></a>00068 <span class="comment">        Current context information will be sensed by the server and used</span>
+<a name="l00069"></a>00069 <span class="comment">        to search for a position in the database. If found, the position </span>
+<a name="l00070"></a>00070 <span class="comment">        will be an approximation of the current position of the handset.</span>
+<a name="l00071"></a>00071 <span class="comment">        If no position is found in the database for the current context</span>
+<a name="l00072"></a>00072 <span class="comment">        information, the position last stored in the database is returned.</span>
+<a name="l00073"></a>00073 <span class="comment">        </span>
+<a name="l00074"></a>00074 <span class="comment">        The method returns in aAreaInfo a rough indication of how accurate the</span>
+<a name="l00075"></a>00075 <span class="comment">        returned position is based on an estimation of the size of the</span>
+<a name="l00076"></a>00076 <span class="comment">        geographical area covered by the sensed context information.</span>
+<a name="l00077"></a>00077 <span class="comment">        */</span>
+<a name="l00078"></a>00078         IMPORT_C <span class="keywordtype">void</span> <a class="code" href="class_r_lbs_loc_monitor_area_positioner.html#a2f44c219405b811f7f44ff291e3acdfc">GetLastKnownPositionArea</a>(TPositionInfoBase&amp; aPosInfo,
+<a name="l00079"></a>00079                                                                  TPositionAreaInfoBase&amp; aAreaInfo,
+<a name="l00080"></a>00080                                                                  TPosAreaReqParams&amp; aParameters,
+<a name="l00081"></a>00081                                          TRequestStatus&amp; aStatus) <span class="keyword">const</span>;
+<a name="l00082"></a>00082 
+<a name="l00083"></a>00083     <span class="comment">/* Cancel a call to GetLastKnownPositionArea */</span>
+<a name="l00084"></a>00084     IMPORT_C TInt CancelGetLastKnownPositionArea() <span class="keyword">const</span>;
+<a name="l00085"></a>00085 
+<a name="l00086"></a>00086                                                  
+<a name="l00087"></a>00087 <span class="keyword">protected</span>:
+<a name="l00088"></a>00088 
+<a name="l00089"></a>00089         IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> ConstructL();
+<a name="l00090"></a>00090         IMPORT_C <span class="keyword">virtual</span> <span class="keywordtype">void</span> Destruct();
+<a name="l00091"></a>00091 
+<a name="l00092"></a>00092 <span class="keyword">private</span>:
+<a name="l00093"></a>00093 
+<a name="l00096"></a>00096         <a class="code" href="class_c_lbs_loc_monitor_ptr_holder.html">CLbsLocMonitorPtrHolder</a>* iPtrHolder;                                     
+<a name="l00097"></a>00097         };
+<a name="l00098"></a>00098         
+<a name="l00099"></a>00099 <span class="preprocessor">#endif // RLBSLOCMONITORAREAPOSITIONER_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/rlbslocmonitorsession_8h_source.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorsession.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+<h1>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorsession.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment">* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).</span>
+<a name="l00003"></a>00003 <span class="comment">* All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment">* This component and the accompanying materials are made available</span>
+<a name="l00005"></a>00005 <span class="comment">* under the terms of &quot;Eclipse Public License v1.0&quot;</span>
+<a name="l00006"></a>00006 <span class="comment">* which accompanies this distribution, and is available</span>
+<a name="l00007"></a>00007 <span class="comment">* at the URL &quot;http://www.eclipse.org/legal/epl-v10.html&quot;.</span>
+<a name="l00008"></a>00008 <span class="comment">*</span>
+<a name="l00009"></a>00009 <span class="comment">* Initial Contributors:</span>
+<a name="l00010"></a>00010 <span class="comment">* Nokia Corporation - initial contribution.</span>
+<a name="l00011"></a>00011 <span class="comment">*</span>
+<a name="l00012"></a>00012 <span class="comment">* Contributors:</span>
+<a name="l00013"></a>00013 <span class="comment">*</span>
+<a name="l00014"></a>00014 <span class="comment">* Description:</span>
+<a name="l00015"></a>00015 <span class="comment">*</span>
+<a name="l00016"></a>00016 <span class="comment">*/</span>
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef RLBSLOCMONITORSESSION_H</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define RLBSLOCMONITORSESSION_H</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;rsecuresessionbase.h&quot;</span>
+<a name="l00028"></a>00028 
+<a name="l00032"></a><a class="code" href="class_r_lbs_loc_monitor_session.html">00032</a> <span class="keyword">class </span><a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a> : <span class="keyword">public</span> RSecureSessionBase
+<a name="l00033"></a>00033         {
+<a name="l00034"></a>00034         
+<a name="l00035"></a>00035 <span class="keyword">public</span>:
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037         IMPORT_C <a class="code" href="class_r_lbs_loc_monitor_session.html">RLbsLocMonitorSession</a>();
+<a name="l00038"></a>00038         
+<a name="l00039"></a>00039         IMPORT_C TInt <a class="code" href="class_r_lbs_loc_monitor_session.html#a6a923bc833b41c6eec5726d4a08b5b1d">Connect</a>();
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041         IMPORT_C <span class="keywordtype">void</span> Close();
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043         <span class="comment">/* Close the database and wipe out the DB file.</span>
+<a name="l00044"></a>00044 <span class="comment">        */</span>
+<a name="l00045"></a>00045         IMPORT_C <span class="keywordtype">void</span> WipeOutDatabase(TRequestStatus&amp; aStatus) <span class="keyword">const</span>;
+<a name="l00046"></a>00046         
+<a name="l00047"></a>00047         <span class="comment">/* Cancel previous request to delete the Database</span>
+<a name="l00048"></a>00048 <span class="comment">        of positions.</span>
+<a name="l00049"></a>00049 <span class="comment">        */</span>
+<a name="l00050"></a>00050         IMPORT_C TInt <a class="code" href="class_r_lbs_loc_monitor_session.html#a12cca6b3c2caef8b98eb1bf34d49b2a6">CancelDatabaseWipeOut</a>() <span class="keyword">const</span>;
+<a name="l00051"></a>00051         
+<a name="l00052"></a>00052         IMPORT_C TVersion <a class="code" href="class_r_lbs_loc_monitor_session.html#a413bb507464ac0b1bacbeae3cf41605b">Version</a>();
+<a name="l00053"></a>00053         
+<a name="l00054"></a>00054 <span class="keyword">protected</span>:
+<a name="l00055"></a>00055         
+<a name="l00056"></a>00056         <span class="comment">// From RSecureSessionBase</span>
+<a name="l00057"></a>00057         TInt StartServer(TServerStartParams&amp; aParams);
+<a name="l00058"></a>00058         };
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060 <span class="preprocessor">#endif // RLBSLOCMONITORSESSION_H</span>
+</pre></div></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/struct_t_lbs_client_prefs-members.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsClientPrefs Member List</h1>This is the complete list of members for <a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><b>iConversionPrefs</b> (defined in <a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>)</td><td><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>iConverterModuleId</b> (defined in <a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>)</td><td><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>iRequestedInfo</b> (defined in <a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a>)</td><td><a class="el" href="struct_t_lbs_client_prefs.html">TLbsClientPrefs</a></td><td></td></tr>
+</table></div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/struct_t_lbs_client_prefs.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Location Monitor APIs: TLbsClientPrefs Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>TLbsClientPrefs Struct Reference</h1><!-- doxytag: class="TLbsClientPrefs" -->
+<p><code>#include &lt;<a class="el" href="lbslocmonitorclientconsts_8h_source.html">lbslocmonitorclientconsts.h</a>&gt;</code></p>
+
+<p><a href="struct_t_lbs_client_prefs-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe3c207c9d49929114bcaa8dcc4fee79"></a><!-- doxytag: member="TLbsClientPrefs::iConversionPrefs" ref="abe3c207c9d49929114bcaa8dcc4fee79" args="" -->
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#a9e1665f109ca120a19662aecead7707a">TLbsConversionPrefs</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>iConversionPrefs</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dbf54b2593ae9ee7ed8171b136d60de"></a><!-- doxytag: member="TLbsClientPrefs::iRequestedInfo" ref="a2dbf54b2593ae9ee7ed8171b136d60de" args="" -->
+<a class="el" href="lbslocationinfoconvertercommon_8h.html#aea09864060e465dab12f568de0aa3826">TLbsConversionOutputInfoMask</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>iRequestedInfo</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575cc392e3fc52c742608bb1aa8192e6"></a><!-- doxytag: member="TLbsClientPrefs::iConverterModuleId" ref="a575cc392e3fc52c742608bb1aa8192e6" args="" -->
+TUid&nbsp;</td><td class="memItemRight" valign="bottom"><b>iConverterModuleId</b></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure holds conversion prefs,location info mask and the conversion module id. </p>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/<a class="el" href="lbslocmonitorclientconsts_8h_source.html">lbslocmonitorclientconsts.h</a></li>
+</ul>
+</div>
+<HR>
+Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).<BR>
+All rights reserved. These materials are provided under the terms of the
+<A HREF="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0.</A>
+</BODY>
+</HTML>
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_b.gif has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_l.gif has changed
Binary file locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tab_r.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tabs.css	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+   float            : left;
+   width            : 100%;
+   background       : url("tab_b.gif") repeat-x bottom;
+   margin-bottom    : 4px;
+}
+
+DIV.tabs UL
+{
+   margin           : 0px;
+   padding-left     : 10px;
+   list-style       : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+   display          : inline;
+   margin           : 0px;
+   padding          : 0px;
+}
+
+DIV.tabs FORM
+{
+   float            : right;
+}
+
+DIV.tabs A
+{
+   float            : left;
+   background       : url("tab_r.gif") no-repeat right top;
+   border-bottom    : 1px solid #84B0C7;
+   font-size        : 80%;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+DIV.tabs A:hover
+{
+   background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+       color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+   float            : left;
+   display          : block;
+   background       : url("tab_l.gif") no-repeat left top;
+   padding          : 5px 9px;
+   white-space      : nowrap;
+}
+
+DIV.tabs #MSearchBox
+{
+   float            : right;
+   display          : inline;
+   font-size        : 1em;
+}
+
+DIV.tabs TD
+{
+   font-size        : 80%;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+   background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+   background-position: 100% -150px;
+   border-width     : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+   background-position: 0% -150px;
+   padding-bottom   : 6px;
+}
+
+DIV.navpath
+{
+   background       : none;
+   border           : none;
+   border-bottom    : 1px solid #84B0C7;
+   text-align       : center;
+   margin           : 2px;
+   padding          : 2px;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/doc_pub/html/tree.html	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta http-equiv="Content-Language" content="en" />
+    <link rel="stylesheet" href="doxygen.css"/>
+    <title>TreeView</title>
+    <script type="text/javascript">
+    <!-- // Hide script from old browsers
+    
+    function toggleFolder(id, imageNode) 
+    {
+      var folder = document.getElementById(id);
+      var l = imageNode.src.length;
+      if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" || 
+          imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
+      {
+        imageNode = imageNode.previousSibling;
+        l = imageNode.src.length;
+      }
+      if (folder == null) 
+      {
+      } 
+      else if (folder.style.display == "block") 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderclosed.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
+          {
+            imageNode.src = "ftv2pnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
+          {
+            imageNode.src = "ftv2plastnode.png";
+          }
+        }
+        folder.style.display = "none";
+      } 
+      else 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderopen.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
+          {
+            imageNode.src = "ftv2mnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
+          {
+            imageNode.src = "ftv2mlastnode.png";
+          }
+        }
+        folder.style.display = "block";
+      }
+    }
+
+    // End script hiding -->        
+    </script>
+  </head>
+
+  <body class="ftvtree">
+    <div class="directory">
+      <h3 class="swap"><span>Location Monitor APIs</span></h3>
+      <div style="display: block;">
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder1', this)"/><a class="el" href="annotated.html" target="basefrm">Class List</a></p>
+        <div id="folder1">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_info_converter.html" target="basefrm">CLbsLocationInfoConverter</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_info_converter_impl.html" target="basefrm">CLbsLocationInfoConverterImpl</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_resolver.html" target="basefrm">CLbsLocationResolver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_resolver_impl.html" target="basefrm">CLbsLocationResolverImpl</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_info_conversion_handler.html" target="basefrm">CLbsLocInfoConversionHandler</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html" target="basefrm">CLbsLocInfoConverterPluginBase</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html" target="basefrm">CLbsLocMonitorPtrHolder</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_location_info_converter_observer.html" target="basefrm">MLbsLocationInfoConverterObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_location_resolver_observer.html" target="basefrm">MLbsLocationResolverObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html" target="basefrm">MLbsLocInfoConverterPluginObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_info_converter.html" target="basefrm">RLbsLocInfoConverter</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html" target="basefrm">RLbsLocMonitorAreaPositioner</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_monitor_session.html" target="basefrm">RLbsLocMonitorSession</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct_t_lbs_client_prefs.html" target="basefrm">TLbsClientPrefs</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_t_lbs_conversion_plugin_info.html" target="basefrm">TLbsConversionPluginInfo</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html" target="basefrm">TLbsLocInfoConverterPluginClassTypeBase</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html" target="basefrm">TLbsLocInfoConverterPluginParams</a></p>
+        </div>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder2', this)"/><a class="el" href="hierarchy.html" target="basefrm">Class Hierarchy</a></p>
+        <div id="folder2">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_info_converter.html" target="basefrm">CLbsLocationInfoConverter</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_info_converter_impl.html" target="basefrm">CLbsLocationInfoConverterImpl</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_resolver.html" target="basefrm">CLbsLocationResolver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_location_resolver_impl.html" target="basefrm">CLbsLocationResolverImpl</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_info_conversion_handler.html" target="basefrm">CLbsLocInfoConversionHandler</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_info_converter_plugin_base.html" target="basefrm">CLbsLocInfoConverterPluginBase</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_c_lbs_loc_monitor_ptr_holder.html" target="basefrm">CLbsLocMonitorPtrHolder</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_location_info_converter_observer.html" target="basefrm">MLbsLocationInfoConverterObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_location_resolver_observer.html" target="basefrm">MLbsLocationResolverObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_m_lbs_loc_info_converter_plugin_observer.html" target="basefrm">MLbsLocInfoConverterPluginObserver</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_info_converter.html" target="basefrm">RLbsLocInfoConverter</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_monitor_area_positioner.html" target="basefrm">RLbsLocMonitorAreaPositioner</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_r_lbs_loc_monitor_session.html" target="basefrm">RLbsLocMonitorSession</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct_t_lbs_client_prefs.html" target="basefrm">TLbsClientPrefs</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_t_lbs_conversion_plugin_info.html" target="basefrm">TLbsConversionPluginInfo</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder3', this)"/><a class="el" href="class_t_lbs_loc_info_converter_plugin_class_type_base.html" target="basefrm">TLbsLocInfoConverterPluginClassTypeBase</a></p>
+          <div id="folder3">
+            <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="class_t_lbs_loc_info_converter_plugin_params.html" target="basefrm">TLbsLocInfoConverterPluginParams</a></p>
+          </div>
+        </div>
+        <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="functions.html" target="basefrm">Class Members</a></p>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder4', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
+        <div id="folder4">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocinfoconversionhandler.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/clbslocmonitorptrholder.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/lbslocmonitorclientconsts.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocinfoconverter.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rlbslocmonitorareapositioner_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorareapositioner.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/CommonClientServerApi/inc/rlbslocmonitorsession.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationinfoconverter_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverter.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationinfoconverterimpl.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationresolver_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolver.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionClientApi/inc/lbslocationresolverimpl.h</b></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationinfoconvertercommon_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionCommon/inc/lbslocationinfoconvertercommon.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocinfoconverterpluginbase_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginbase.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocinfoconverterpluginclasstypes_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterpluginclasstypes.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocinfoconverterplugincommon_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionApi/ConversionPluginApi/inc/lbslocinfoconverterplugincommon.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationclasstypes_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationclasstypes.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationcommon_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationcommon.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationgsminfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsminfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationgsmneighbourinfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationgsmneighbourinfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationinfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationinfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationposinfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationposinfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationwcdmainfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmainfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationwcdmaneighbourinfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwcdmaneighbourinfo.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lbslocationwlaninfo_8h.html" target="basefrm">C:/Data/Dev/Synergy/MCL/lbs/lbs/locationmgmt/locmonitor/lbslocmonitorapis/ConversionDataTypes/inc/lbslocationwlaninfo.h</a></p>
+        </div>
+        <p><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="globals.html" target="basefrm">File Members</a></p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorapis/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This file provides the information required for building the 
+*              location monitor API component.
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS  
+DEFAULT
+
+PRJ_EXPORTS
+
+#ifdef OS_LAYER_CONFML
+../conf/locationinfoconverter.confml		OS_LAYER_CONFML(locationinfoconverter.confml)
+#endif
+
+#ifdef OS_LAYER_CRML
+../conf/locationinfoconverter_20026814.crml	OS_LAYER_CRML(locationinfoconverter_20026814.crml)
+#endif
+
+#include "../ConversionApi/ConversionCommon/group/bld.inf"
+#include "../ConversionDataTypes/group/bld.inf"
+#include "../CommonClientServerApi/group/bld.inf"
+#include "../ConversionApi/ConversionClientApi/group/bld.inf"
+#include "../ConversionApi/ConversionPluginApi/group/bld.inf"
+
+// End of file
--- a/locationmgmt/locmonitor/lbslocmonitorclient/bwins/lbslocmonclient.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	?OpenL@RLbsLocMonitorAreaPositioner@@QAEXAAVRLbsLocMonitorSession@@@Z @ 1 NONAME ; void RLbsLocMonitorAreaPositioner::OpenL(class RLbsLocMonitorSession &)
-	?ConstructL@RLbsLocMonitorAreaPositioner@@MAEXXZ @ 2 NONAME ; void RLbsLocMonitorAreaPositioner::ConstructL(void)
-	?ConstructL@CLbsLocMonitorPtrHolder@@IAEXHH@Z @ 3 NONAME ; void CLbsLocMonitorPtrHolder::ConstructL(int, int)
-	?PtrC@CLbsLocMonitorPtrHolder@@QAEAAVTPtrC8@@H@Z @ 4 NONAME ; class TPtrC8 & CLbsLocMonitorPtrHolder::PtrC(int)
-	?CancelDatabaseWipeOut@RLbsLocMonitorSession@@QBEHXZ @ 5 NONAME ; int RLbsLocMonitorSession::CancelDatabaseWipeOut(void) const
-	?Ptr@CLbsLocMonitorPtrHolder@@QAEAAVTPtr8@@H@Z @ 6 NONAME ; class TPtr8 & CLbsLocMonitorPtrHolder::Ptr(int)
-	?GetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEXAAVTPositionInfoBase@@AAVTRequestStatus@@@Z @ 7 NONAME ; void RLbsLocMonitorAreaPositioner::GetLastKnownPosition(class TPositionInfoBase &, class TRequestStatus &) const
-	?Close@RLbsLocMonitorSession@@UAEXXZ @ 8 NONAME ; void RLbsLocMonitorSession::Close(void)
-	?Destruct@RLbsLocMonitorAreaPositioner@@MAEXXZ @ 9 NONAME ; void RLbsLocMonitorAreaPositioner::Destruct(void)
-	?GetLastKnownPositionArea@RLbsLocMonitorAreaPositioner@@QBEXAAVTPositionInfoBase@@AAVTPositionAreaInfoBase@@AAVTPosAreaReqParams@@AAVTRequestStatus@@@Z @ 10 NONAME ; void RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea(class TPositionInfoBase &, class TPositionAreaInfoBase &, class TPosAreaReqParams &, class TRequestStatus &) const
-	?CancelGetLastKnownPositionArea@RLbsLocMonitorAreaPositioner@@QBEHXZ @ 11 NONAME ; int RLbsLocMonitorAreaPositioner::CancelGetLastKnownPositionArea(void) const
-	?NewL@CLbsLocMonitorPtrHolder@@SAPAV1@HH@Z @ 12 NONAME ; class CLbsLocMonitorPtrHolder * CLbsLocMonitorPtrHolder::NewL(int, int)
-	??0RLbsLocMonitorAreaPositioner@@QAE@XZ @ 13 NONAME ; RLbsLocMonitorAreaPositioner::RLbsLocMonitorAreaPositioner(void)
-	?CancelGetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEHXZ @ 14 NONAME ; int RLbsLocMonitorAreaPositioner::CancelGetLastKnownPosition(void) const
-	??0RLbsLocMonitorSession@@QAE@XZ @ 15 NONAME ; RLbsLocMonitorSession::RLbsLocMonitorSession(void)
-	?WipeOutDatabase@RLbsLocMonitorSession@@QBEXAAVTRequestStatus@@@Z @ 16 NONAME ; void RLbsLocMonitorSession::WipeOutDatabase(class TRequestStatus &) const
-	?Close@RLbsLocMonitorAreaPositioner@@UAEXXZ @ 17 NONAME ; void RLbsLocMonitorAreaPositioner::Close(void)
-	??1CLbsLocMonitorPtrHolder@@UAE@XZ @ 18 NONAME ; CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder(void)
-	?Connect@RLbsLocMonitorSession@@QAEHXZ @ 19 NONAME ; int RLbsLocMonitorSession::Connect(void)
-	?Version@RLbsLocMonitorSession@@UAE?AVTVersion@@XZ @ 20 NONAME ; class TVersion RLbsLocMonitorSession::Version(void)
-	?SetLastKnownPosition@RLbsLocMonitorAreaPositioner@@QBEHABVTPositionInfoBase@@@Z @ 21 NONAME ; int RLbsLocMonitorAreaPositioner::SetLastKnownPosition(class TPositionInfoBase const &) const
-
--- a/locationmgmt/locmonitor/lbslocmonitorclient/eabi/lbslocmonclient.def	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-EXPORTS
-	_ZN21RLbsLocMonitorSession5CloseEv @ 1 NONAME
-	_ZN21RLbsLocMonitorSession7ConnectEv @ 2 NONAME
-	_ZN21RLbsLocMonitorSession7VersionEv @ 3 NONAME
-	_ZN21RLbsLocMonitorSessionC1Ev @ 4 NONAME
-	_ZN21RLbsLocMonitorSessionC2Ev @ 5 NONAME
-	_ZN23CLbsLocMonitorPtrHolder10ConstructLEii @ 6 NONAME
-	_ZN23CLbsLocMonitorPtrHolder3PtrEi @ 7 NONAME
-	_ZN23CLbsLocMonitorPtrHolder4NewLEii @ 8 NONAME
-	_ZN23CLbsLocMonitorPtrHolder4PtrCEi @ 9 NONAME
-	_ZN23CLbsLocMonitorPtrHolderD0Ev @ 10 NONAME
-	_ZN23CLbsLocMonitorPtrHolderD1Ev @ 11 NONAME
-	_ZN23CLbsLocMonitorPtrHolderD2Ev @ 12 NONAME
-	_ZN28RLbsLocMonitorAreaPositioner5CloseEv @ 13 NONAME
-	_ZN28RLbsLocMonitorAreaPositioner5OpenLER21RLbsLocMonitorSession @ 14 NONAME
-	_ZN28RLbsLocMonitorAreaPositionerC1Ev @ 15 NONAME
-	_ZN28RLbsLocMonitorAreaPositionerC2Ev @ 16 NONAME
-	_ZNK21RLbsLocMonitorSession15WipeOutDatabaseER14TRequestStatus @ 17 NONAME
-	_ZNK21RLbsLocMonitorSession21CancelDatabaseWipeOutEv @ 18 NONAME
-	_ZNK28RLbsLocMonitorAreaPositioner20GetLastKnownPositionER17TPositionInfoBaseR14TRequestStatus @ 19 NONAME
-	_ZNK28RLbsLocMonitorAreaPositioner20SetLastKnownPositionERK17TPositionInfoBase @ 20 NONAME
-	_ZNK28RLbsLocMonitorAreaPositioner24GetLastKnownPositionAreaER17TPositionInfoBaseR21TPositionAreaInfoBaseR17TPosAreaReqParamsR14TRequestStatus @ 21 NONAME
-	_ZNK28RLbsLocMonitorAreaPositioner26CancelGetLastKnownPositionEv @ 22 NONAME
-	_ZNK28RLbsLocMonitorAreaPositioner30CancelGetLastKnownPositionAreaEv @ 23 NONAME
-	_ZTI21RLbsLocMonitorSession @ 24 NONAME
-	_ZTI23CLbsLocMonitorPtrHolder @ 25 NONAME
-	_ZTI28RLbsLocMonitorAreaPositioner @ 26 NONAME
-	_ZTV21RLbsLocMonitorSession @ 27 NONAME
-	_ZTV23CLbsLocMonitorPtrHolder @ 28 NONAME
-	_ZTV28RLbsLocMonitorAreaPositioner @ 29 NONAME
-	_ZN28RLbsLocMonitorAreaPositioner10ConstructLEv @ 30 NONAME
-	_ZN28RLbsLocMonitorAreaPositioner8DestructEv @ 31 NONAME
-
--- a/locationmgmt/locmonitor/lbslocmonitorclient/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-PRJ_EXPORTS
-lbslocmonclient.iby			/epoc32/rom/include/lbslocmonclient.iby
-
-
-PRJ_MMPFILES
-lbslocmonclient.mmp
--- a/locationmgmt/locmonitor/lbslocmonitorclient/group/lbslocmonclient.iby	Fri Apr 09 17:19:12 2010 +0100
+++ /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:
-*
-*/
-#ifndef __LBS_LOCMONCLIENT_IBY__
-#define __LBS_LOCMONCLIENT_IBY__
-
-//#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-file=ABI_DIR\DEBUG_DIR\lbslocmonclient.dll			System\libs\lbslocmonclient.dll
-
-//#endif // SYMBIAN_EXCLUDE_LOCATION
-
-#endif
\ No newline at end of file
--- a/locationmgmt/locmonitor/lbslocmonitorclient/group/lbslocmonclient.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:
-*
-*/
-
-
-TARGET		lbslocmonclient.dll
-TARGETTYPE	dll
-UID		0x1000008d 0x102869DE
-
-CAPABILITY ALL -TCB
-
-MACRO ENABLE_LBS_DEV_LOGGER
-
-NOSTRICTDEF
-
-SOURCEPATH	../src
-SOURCE		rlbslocmonitorareapositioner.cpp
-SOURCE		rlbslocmonitorsession.cpp
-SOURCE		clbslocmonitorptrholder.cpp
-
-//
-// Server framework stuff
-//
-SOURCEPATH	../../../locationcore/LbsLocCommon/ServerFramework/src
-SOURCE	tserverstartparams.cpp
-SOURCE	rsecuresessionbase.cpp
-SOURCE	cserverlaunch.cpp
-SOURCE	tstartparamsbase.cpp
-
-USERINCLUDE	../inc
-USERINCLUDE	../../../locationcore/LbsLocCommon/ServerFramework/inc
-USERINCLUDE	../../lbslocmonitorserver/inc
-USERINCLUDE	../../../locationcore/LbsInternalApi/inc
-USERINCLUDE ../../../locationcore/lbsrootapi/inc
-USERINCLUDE ../../../locationcore/LbsPartnerCommon/inc
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY		euser.lib 
-LIBRARY		estor.lib 
-LIBRARY		lbs.lib
-LIBRARY		lbsloccommon.lib
-LIBRARY		lbspartnercommon.lib
-LIBRARY		lbsrootapi.lib
-
-SMPSAFE
--- a/locationmgmt/locmonitor/lbslocmonitorclient/inc/clbslocmonitorptrholder.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORPTRHOLDER_H
-#define CLBSLOCMONITORPTRHOLDER_H
-
-#include <e32base.h>
-
-class CLbsLocMonitorPtrHolder : public CBase
-/**
-Holds the TPtr8 and TPtrC8 arrays for all RPositionServer requests.
-@internalComponent
- */
-	{
-public:
-	
-	enum TParameter
-		{
-		EPosForGetLastKnownPosition = 0,
-		EPosForGetLastKnownPositionArea,
-		EAreaForGetLastKnownPositionArea,
-		EParamsForGetLastKnownPositionArea,
-		ELastParam, // Keep this the last
-		};
-	
-public:
-	IMPORT_C static CLbsLocMonitorPtrHolder* NewL(TInt aNumberOfPtrs,
-	                                            TInt aNumberOfPtrCs);
-	IMPORT_C ~CLbsLocMonitorPtrHolder();
-	IMPORT_C TPtr8& Ptr(TInt aIndex);
-	IMPORT_C TPtrC8& PtrC(TInt aIndex);
-protected:
-	IMPORT_C void ConstructL(TInt aNumberOfPtrs, TInt aNumberOfPtrCs);
-private:
-	/** modifiable pointer array */ 
-	RArray<TPtr8> iPtrArray;
-	/** non-modifiable pointer array */ 
-	RArray<TPtrC8> iPtrCArray;
-	};
-
-#endif // CLBSLOCMONITORPTRHOLDER_H
--- a/locationmgmt/locmonitor/lbslocmonitorclient/inc/rlbslocmonitorareapositioner.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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:
-*
-*/
-
-/**
-@file
-@internalTechnology
-*/
-
-#ifndef RLBSLOCMONITORAREAPOSITIONER_H
-#define RLBSLOCMONITORAREAPOSITIONER_H
-
-#include <lbspositioninfo.h>
-#include <LbsAreaInfo.h>
-#include "rlbslocmonitorsession.h"
-#include "lbslocmonitorserverdata.h"
-#include "clbslocmonitorptrholder.h"
-
-/**
-This class is used by clients of the Location Monitor server to
-create a sub-session with the server.
-
-Before using the class, a primary connection must have already been
-established with the server with RLbsLocMonitorSession::Connect().
-
-@see RLbsLocMonitorSession
-*/
-class RLbsLocMonitorAreaPositioner : public RSecureSubSessionBase
-	{
-
-public:
-
-	IMPORT_C RLbsLocMonitorAreaPositioner();
-	IMPORT_C void OpenL(RLbsLocMonitorSession& aLocMonSession);
-	IMPORT_C void Close();
-
-   	/* Called by the Location Server to report the last
-   	 Position obtained from any of its PSYs that are not otherwise
-   	 available to the Location Monitor. The position
-   	 will be stored in a database.
-   	 */
-   	IMPORT_C TInt SetLastKnownPosition(const TPositionInfoBase& aPosInfo) const;
-   	
-   	/* Retrieve the position last stored in the database */
-    IMPORT_C void GetLastKnownPosition(TPositionInfoBase& aPosInfo,
-                                	 TRequestStatus& aStatus) const;
-    
-    /* Cancel a previous call to GetLastKnownPosition*/
-    IMPORT_C TInt CancelGetLastKnownPosition() const;                 
-
-  	/* Returns in aPosInfo a position which had been previously stored 
-  	in association with "context information" that is bound to a 
-  	geographical area (e.g. Global Cell Id).
-  	
-  	Current context information will be sensed by the server and used
-  	to search for a position in the database. If found, the position 
-  	will be an approximation of the current position of the handset.
-  	If no position is found in the database for the current context
-  	information, the position last stored in the database is returned.
-  	
-  	The method returns in aAreaInfo a rough indication of how accurate the
-  	returned position is based on an estimation of the size of the
-  	geographical area covered by the sensed context information.
-   	*/
-   	IMPORT_C void GetLastKnownPositionArea(TPositionInfoBase& aPosInfo,
-				      				 TPositionAreaInfoBase& aAreaInfo,
-				      				 TPosAreaReqParams& aParameters,
-                                	 TRequestStatus& aStatus) const;
-
-    /* Cancel a call to GetLastKnownPositionArea */
-    IMPORT_C TInt CancelGetLastKnownPositionArea() const;
-
-                                	 	 
-protected:
-
-	IMPORT_C virtual void ConstructL();
-	IMPORT_C virtual void Destruct();
-
-private:
-
-	/** A pointer to a container that holds pointer descriptors, needed to point
-	to the clients request data during asynchronous requests */
-	CLbsLocMonitorPtrHolder* iPtrHolder;                                	 
-	};
-	
-#endif // RLBSLOCMONITORAREAPOSITIONER_H
--- a/locationmgmt/locmonitor/lbslocmonitorclient/inc/rlbslocmonitorsession.h	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:
-*
-*/
-
-
-/**
-@internalTechnology
-@prototype
-*/
-
-#ifndef RLBSLOCMONITORSESSION_H
-#define RLBSLOCMONITORSESSION_H
-
-#include "rlbslocmonitorsession.h"
-#include "rsecuresessionbase.h"
-
-/**
-Client-side session with the Location Monitor server.
- */
-class RLbsLocMonitorSession : public RSecureSessionBase
-	{
-	
-public:
-
-	IMPORT_C RLbsLocMonitorSession();
-	
-	IMPORT_C TInt Connect();
-
-	IMPORT_C void Close();
-
-	/* Close the database and wipe out the DB file.
-	*/
-	IMPORT_C void WipeOutDatabase(TRequestStatus& aStatus) const;
-   	
-   	/* Cancel previous request to delete the Database
-   	of positions.
-   	*/
-   	IMPORT_C TInt CancelDatabaseWipeOut() const;
-   	
-   	IMPORT_C TVersion Version();
-   	
-protected:
-	
-	// From RSecureSessionBase
-	TInt StartServer(TServerStartParams& aParams);
-	};
-
-#endif // RLBSLOCMONITORSESSION_H
--- a/locationmgmt/locmonitor/lbslocmonitorclient/src/clbslocmonitorptrholder.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:
-*
-*/
-
-
-#include "clbslocmonitorptrholder.h"
-
-
-//-----------------------------------------------------------------------------
-// CLbsLocMonitorPtrHolder
-//-----------------------------------------------------------------------------
-
-/**
- Allocates and constructs a CLbsLocMonitorPtrHolder object.
-
- The function leaves if there is insufficient memory.
-
-@internalComponent
-@param aNumberOfPtrs is the number of modifiable pointer descriptors to
-  create. These are used for asynchronous 'get' requests.
-@param aNumberOfPtrCs is the number of read-only pointer descriptors to
-  create. These are used for asynchronous 'set' requests.
-@return a newly created CLbsLocMonitorPtrHolder object.
- */
-EXPORT_C CLbsLocMonitorPtrHolder* CLbsLocMonitorPtrHolder::NewL(TInt aNumberOfPtrs,
-                                                            TInt aNumberOfPtrCs)
-	{
-	CLbsLocMonitorPtrHolder* self = new (ELeave) CLbsLocMonitorPtrHolder;
-	CleanupStack::PushL(self);
-	self->ConstructL(aNumberOfPtrs, aNumberOfPtrCs);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C void CLbsLocMonitorPtrHolder::ConstructL(TInt aNumberOfPtrs,
-                                                TInt aNumberOfPtrCs)
-
-	{
-	TPtr8 ptr(NULL, 0);
-	TInt i;
-	for (i = 0; i < aNumberOfPtrs; i++)
-		{
-		User::LeaveIfError(iPtrArray.Append(ptr));
-		}
-
-	TPtrC8 ptrC(NULL, 0);
-	for (i = 0; i < aNumberOfPtrCs; i++)
-		{
-		User::LeaveIfError(iPtrCArray.Append(ptrC));
-		}
-	}
-
-/**
-Destructor for CLbsLocMonitorPtrHolder.
-
-@internalComponent
-*/
-EXPORT_C CLbsLocMonitorPtrHolder::~CLbsLocMonitorPtrHolder()
-	{
-	iPtrCArray.Close();
-	iPtrArray.Close();
-	}
-
-/**
-An accessor for the modifiable pointer descriptors.
-
-@internalComponent
-@param aIndex specifies the descriptor to return.
-@return a reference to one of our contained pointer descriptors.
- */
-EXPORT_C TPtr8& CLbsLocMonitorPtrHolder::Ptr(TInt aIndex)
-	{
-	return iPtrArray[aIndex];
-	}
-
-/**
-An accessor for the read-only pointer descriptors.
-
-@internalComponent
-@param aIndex specifies the descriptor to return.
-@return a reference to one of our contained pointer descriptors.
-*/
-EXPORT_C TPtrC8& CLbsLocMonitorPtrHolder::PtrC(TInt aIndex)
-	{
-	return iPtrCArray[aIndex];
-	}
-
-
--- a/locationmgmt/locmonitor/lbslocmonitorclient/src/rlbslocmonitorareapositioner.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +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:
-*
-*/
-
-
-#include <e32base.h>
-#include <e32debug.h>
-#include <e32cmn.h>
-#include <lbsposition.h>
-#include "rlbslocmonitorareapositioner.h"
-
-
-EXPORT_C RLbsLocMonitorAreaPositioner::RLbsLocMonitorAreaPositioner()
-  : RSecureSubSessionBase(), 
-    iPtrHolder(NULL)
-	{
-	}
-	
-EXPORT_C void RLbsLocMonitorAreaPositioner::ConstructL()
-	{
-	iPtrHolder = CLbsLocMonitorPtrHolder::NewL(CLbsLocMonitorPtrHolder::ELastParam, 0);
-	}
-
-EXPORT_C void RLbsLocMonitorAreaPositioner::Destruct()
-	{
-	delete iPtrHolder;
-	iPtrHolder = NULL;
-	}
-
-EXPORT_C void RLbsLocMonitorAreaPositioner::OpenL(RLbsLocMonitorSession& aLocMonSession)
-	{
-	__ASSERT_ALWAYS(aLocMonSession.Handle() != 0, User::Invariant()); // trying to open twice
-	TInt err(KErrNone);
-	ConstructL();
-	
-	// Call Server Framework 'Open'
-	TLbsLocMonitorAreaPositionerData emptyData;
-	TLbsLocMonitorSubSessionType type(ELocMonitorSubSessionTypeAreaPositioner);
-	err = RSecureSubSessionBase::Open<TLbsLocMonitorSubSessionType, TLbsLocMonitorAreaPositionerData>(aLocMonSession, type, emptyData);
-	if (err != KErrNone)
-		{
-		Destruct();
-		}
-	User::LeaveIfError(err);
-	}
-
-EXPORT_C void RLbsLocMonitorAreaPositioner::Close()
-	{
-	// Call Server Framework 'Close'
-	RSecureSubSessionBase::Close();
-	Destruct();
-	}
-
-/**
-Method called by the Location Server to send the Last Known Position to the Location Monitor
-for storing together with Local Area information if possible.
-
-@param aPosInfo the position object to be sent to the server (only the TPositionInfo portion 
-		will be sent)
-@return KErrNone if position is succesfully sent to server
-		KErrArgument if aPosInfo is not a TPositionInfo class or derived class.
-		Any of the error codes returned by RSessionBase::SendReceive
-*/
-EXPORT_C TInt RLbsLocMonitorAreaPositioner::SetLastKnownPosition(const TPositionInfoBase& aPosInfo) const
-	{
-	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
-	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
-	// Verify aPosInfo is of a type that contains a position
-	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
-    TUint32 classType = infoBase.PositionClassType();
-    if (!(classType & EPositionInfoClass))
-        {
-        return KErrArgument;
-        }
-
-	// Get the TPosition in aPosInfo and send to the Location Monitor
-	const TPositionInfo& posInfo = static_cast<const TPositionInfo&>(aPosInfo);
-	TPosition position;
-	posInfo.GetPosition(position);
-
-	TPckgC<TPosition> posPckg(position);
-	return SendReceive(ESetLastKnownPosition, TIpcArgs(&posPckg));
-	}
-
-
-/* Retrieve the position last stored in the database */
-EXPORT_C void RLbsLocMonitorAreaPositioner::GetLastKnownPosition(TPositionInfoBase& aPosInfo,
-                                	 TRequestStatus& aStatus) const
-	{
-	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
-	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
-	
-	// Ensure aPosInfo output parameter is at TPositionInfo or derived class
-	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
-    TUint32 classType = infoBase.PositionClassType();
-    if (!(classType & EPositionInfoClass))
-        {
-        TRequestStatus* status = &aStatus;
-		User::RequestComplete(status, KErrArgument);
-		return;
-        }
-
-	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPosition).Set(
-		reinterpret_cast<TUint8*>(&aPosInfo),
-		aPosInfo.PositionClassSize(),
-		aPosInfo.PositionClassSize());
-
-	SendReceive(EGetLastKnownPosition,
-				TIpcArgs(&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPosition)),
-						aStatus);
-	}                              
-
-EXPORT_C TInt RLbsLocMonitorAreaPositioner::CancelGetLastKnownPosition() const
-	{
-	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
-
-	return SendReceive(ECancelGetLastKnownPosition);
-	}
-
-
-/**
-Returns in aPosInfo a position which had been previously stored 
-in association with "context information" that is bound to a 
-geographical area (e.g. Global Cell Id).
-
-Current context information will be sensed by the server and used
-to search for a position in the database. If found, the position 
-will be an approximation of the current position of the handset.
-If no position is found in the database for the current context
-information, the position last stored in the database is returned.
-
-The method returns in aAreaInfo a rough indication of how accurate the
-returned position is based on an estimation of the size of the
-geographical area covered by the sensed context information.
-*/
-EXPORT_C void RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea(TPositionInfoBase& aPosInfo,
-				      				 TPositionAreaInfoBase& aAreaInfo,
-				      				 TPosAreaReqParams& aParameters,
-                                	 TRequestStatus& aStatus) const
-	{
-	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
-	__ASSERT_ALWAYS(iPtrHolder != NULL, User::Invariant());
-
-	// Ensure aPosInfo output parameter is at TPositionInfo or derived class
-	const TPositionInfoBase& infoBase = static_cast<const TPositionInfoBase&>(aPosInfo);
-    TUint32 classType = infoBase.PositionClassType();
-    if (!(classType & EPositionInfoClass))
-        {
-        TRequestStatus* status = &aStatus;
-		User::RequestComplete(status, KErrArgument);
-		return;
-        }
-	 
-	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPositionArea).Set(
-		reinterpret_cast<TUint8*>(&aPosInfo),
-		aPosInfo.PositionClassSize(),
-		aPosInfo.PositionClassSize());
-
-	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EAreaForGetLastKnownPositionArea).Set(
-		reinterpret_cast<TUint8*>(&aAreaInfo),
-		aAreaInfo.PositionClassSize(),
-		aAreaInfo.PositionClassSize());
-
-	iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EParamsForGetLastKnownPositionArea).Set(
-		reinterpret_cast<TUint8*>(&aParameters),
-		sizeof(TPosAreaReqParams),
-		sizeof(TPosAreaReqParams));
-		  
-	SendReceive(EGetLastKnownPositionArea,
-	 	 		TIpcArgs(&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EPosForGetLastKnownPositionArea),
-	 	 				&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EAreaForGetLastKnownPositionArea),
-	 	 				&iPtrHolder->Ptr(CLbsLocMonitorPtrHolder::EParamsForGetLastKnownPositionArea)),
-	 	 				aStatus);
-	}
-
-EXPORT_C TInt RLbsLocMonitorAreaPositioner::CancelGetLastKnownPositionArea() const
-	{
-	__ASSERT_ALWAYS(SubSessionHandle(), User::Invariant());
-	return SendReceive(ECancelGetLastKnownPositionArea);
-	}
-
--- a/locationmgmt/locmonitor/lbslocmonitorclient/src/rlbslocmonitorsession.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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:
-*
-*/
-
-
-#include "rlbslocmonitorsession.h"
-#include "lbsdevloggermacros.h"
-#include "tserverstartparams.h"
-#include "cserverlaunch.h"
-#include "lbslocmonitorserverdata.h"
-#include "lbsprocessuiddefs.h"
-#include "lbsipc.h"
-
-
-//-----------------------------------------------------------------------------
-// RLbsLocMonitorSession
-//-----------------------------------------------------------------------------
-EXPORT_C RLbsLocMonitorSession::RLbsLocMonitorSession()
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::RLbsLocMonitorSession() lbslocmonitor.exe\n");
-	}
-
-/**
-Creates a session with the location monitor server.
-This method starts the server if not yet started.
-
-@return Standard Symbian OS error code.
-*/
-EXPORT_C TInt RLbsLocMonitorSession::Connect()
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Connect()\n");
-	TInt ret(KErrNone);
-    TServerStartParams params;
-	params.SetServerFileName(KLocMonitorExeName);
-	params.SetServerName(KLocMonitorServerName);
-	params.SetNumberOfServerSlots(KLbsDefaultMessageSlots);
-	params.SetServerUids(KNullUid, KNullUid, KLbsLocMonitorUid);
-	
-	// Base class creates the session (and the server if required)	
-	ret = RSecureSessionBase::Connect(params);
-	
-	LBSLOG2(ELogP9, "  Return  = %d\n", ret);
-	return ret;
-	}
-
-EXPORT_C void RLbsLocMonitorSession::Close()
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Close() lbslocationmonitor.exe\n");
-	RSecureSessionBase::Close();
-	}
-
-/**
-Attempts to Cancel a previously issued asynchronous request to delete the
-database of area-locations.
-
-The TRequestStatus of the original request will be set to KErrCancel if
-the cancellation request was successful, or any other Symbian OS error code
-if CancelRequest was called too late.
-
-@return Standard Symbian OS error code.
- */
-EXPORT_C TInt RLbsLocMonitorSession::CancelDatabaseWipeOut() const
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::CancelDatabaseWipeOut() lbslocationmonitor.exe\n");	
-	__ASSERT_ALWAYS(Handle(), User::Invariant());
-	return SendReceive(ECancelDbWipeOut);
-	}
-
-EXPORT_C void RLbsLocMonitorSession::WipeOutDatabase(TRequestStatus& aStatus) const
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::WipeOutDatabase() lbslocationmonitor.exe\n");	
-	__ASSERT_ALWAYS(Handle(), User::Invariant());
-	return SendReceive(EWipeOutDb, aStatus);
-	}
-
-EXPORT_C TVersion RLbsLocMonitorSession::Version()
-/**
-Obtains the current version number of the location monitor.
-
-@return the version of the client API.
- */
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorSession::Version() lbslocationmonitor.exe\n");	
-	LBSLOG4(ELogP9, "  Return TVersion  = (%d, %d, %d)\n", KLbsLocMonitorMajorVersionNumber,
-														   KLbsLocMonitorMinorVersionNumber,
-														   KLbsLocMonitorBuildVersionNumber);
-	return TVersion(
-		KLbsLocMonitorMajorVersionNumber,
-		KLbsLocMonitorMinorVersionNumber,
-		KLbsLocMonitorBuildVersionNumber);
-	}
-
-TInt RLbsLocMonitorSession::StartServer(TServerStartParams& aParams)
-	{
-	return RSecureSessionBase::StartServer(aParams);
-	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -1,26 +1,26 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-PRJ_EXPORTS
-lbslocationmonitor.iby		/epoc32/rom/include/lbslocationmonitor.iby
-
-PRJ_MMPFILES
-lbslocationmonitor.mmp
-
-PRJ_TESTMMPFILES
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_EXPORTS
+lbslocationmonitor.iby		/epoc32/rom/include/lbslocationmonitor.iby
+
+PRJ_MMPFILES
+lbslocationmonitor.mmp
+
+PRJ_TESTMMPFILES
 #include "../../test/group/bld.inf"
\ No newline at end of file
--- a/locationmgmt/locmonitor/lbslocmonitorserver/group/lbs_locationmonitor.mrp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/group/lbs_locationmonitor.mrp	Fri May 28 18:01:03 2010 +0100
@@ -1,11 +1,27 @@
-component	lbs_locationmonitor
-
-source  \sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver
-source  \sf\os\lbs\locationmgmt\locmonitor\test
-binary	\sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver\group all
-exports	\sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver\group
-
-notes_source	\component_defs\release.src
-
-ipr E 
-ipr T  \sf\os\lbs\locationmgmt\locmonitor\test
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component	lbs_locationmonitor
+
+source  \sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver
+source  \sf\os\lbs\locationmgmt\locmonitor\test
+binary	\sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver\group all
+exports	\sf\os\lbs\locationmgmt\locmonitor\lbslocmonitorserver\group
+
+notes_source	\component_defs\release.src
+
+ipr E 
+ipr T  \sf\os\lbs\locationmgmt\locmonitor\test
--- a/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.iby	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.iby	Fri May 28 18:01:03 2010 +0100
@@ -1,26 +1,26 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef __LBS_LOCATIONMONITOR_IBY__
-#define __LBS_LOCATIONMONITOR_IBY__
-
-#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-file=ABI_DIR\DEBUG_DIR\locationmonitor.exe			sys\bin\locationmonitor.exe
-
-#endif // SYMBIAN_EXCLUDE_LOCATION
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_LOCATIONMONITOR_IBY__
+#define __LBS_LOCATIONMONITOR_IBY__
+
+#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+file=ABI_DIR\DEBUG_DIR\locationmonitor.exe			sys\bin\locationmonitor.exe
+
+#endif // SYMBIAN_EXCLUDE_LOCATION
+
+#endif
--- a/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp	Fri May 28 18:01:03 2010 +0100
@@ -1,100 +1,109 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-// lbsnetworkrequesthandler.mmp
-
-TARGET        locationmonitor.exe
-TARGETTYPE    exe
-
-UID           0x1000007A 0x102869DF
-VENDORID	0x70000001
-
-CAPABILITY ReadDeviceData ProtServ Location
-
-MACRO ENABLE_LBS_DEV_LOGGER
-
-// Top level
-SOURCEPATH    ../src
-SOURCE clbslocmonitormain.cpp
-SOURCE clbslocmonitorserver.cpp
-SOURCE clbslocmonitorsession.cpp
-SOURCE clbsareapositionersubsession.cpp
-SOURCE clbslocmonitorareainfofinder.cpp
-SOURCE clbslocmonitornetworkinfofinder.cpp
-SOURCE clbslocmonitorgpsbus.cpp
-SOURCE clbslocmonitorposlistener.cpp
-SOURCE clbslocmonitorutils.cpp
-SOURCE lbslocmonitorareainfodefs.cpp
-SOURCE clbslocmonitorrequesthandler.cpp
-SOURCE	rlbslocmonitordb.cpp
-SOURCE	clbslocmonitordbengine.cpp
-
-
-SOURCEPATH		../../../locationcore/LbsLocCommon/ServerFramework/src
-
-//
-// Generic server source
-//
-SOURCE csecureasbase.cpp
-SOURCE csecureserverbase.cpp
-SOURCE csecuresessionbase.cpp
-SOURCE csecuresessionsubsessionbase.cpp
-SOURCE cshutdowntimer.cpp
-SOURCE csubsessionbase.cpp
-SOURCE messageutils.cpp
-SOURCE tserverstartparams.cpp
-SOURCE tstartparamsbase.cpp
-
-
-USERINCLUDE   ../inc
-USERINCLUDE   ../../../locationcore/inc
-USERINCLUDE	  ../../../locationcore/lbsroot/inc
-USERINCLUDE	  ../../../locationcore/LbsCommonInternalDataTypes/inc
-USERINCLUDE	  ../../../locationcore/lbsrootapi/inc
-USERINCLUDE   ../../../locationcore/LbsInternalApi/inc
-USERINCLUDE   ../../../locationcore/LbsNetInternalApi/inc
-USERINCLUDE   ../../../locationcore/LbsLocDataSource/inc
-USERINCLUDE   ../../../locationcore/LbsPartnerCommon/inc
-USERINCLUDE   ../../../locationcore/LbsLocCommon/ServerFramework/inc
-USERINCLUDE   ../../../locationcore/LbsDebug/inc
-USERINCLUDE	  ../../../locationcore/LbsLogging/inc
-
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY		euser.lib
-LIBRARY		estor.lib
-LIBRARY		lbs.lib
-LIBRARY		lbsloccommon.lib
-LIBRARY		lbslocdatasource.lib
-LIBRARY		lbsadmin.lib
-LIBRARY		lbspartnercommon.lib
-LIBRARY		etel.lib
-LIBRARY		etelmm.lib
-LIBRARY		sqldb.lib 
-LIBRARY		commsdat.lib
-
-
-LIBRARY		lbsinternalapi.lib
-LIBRARY		lbsnetinternalapi.lib
-
-//
-// For interface with LBS Root process
-//
-LIBRARY		lbsrootapi.lib
-LIBRARY		lbsnetprotocol.lib
-
-SMPSAFE
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+// lbsnetworkrequesthandler.mmp
+
+TARGET        locationmonitor.exe
+TARGETTYPE    exe
+
+UID           0x1000007A 0x102869DF
+VENDORID	0x70000001
+
+CAPABILITY ReadDeviceData ProtServ Location NetworkServices  WriteDeviceData ReadUserData
+           
+
+MACRO ENABLE_LBS_DEV_LOGGER
+
+// Top level
+SOURCEPATH    ../src
+SOURCE clbslocmonitormain.cpp
+SOURCE clbslocmonitorserver.cpp
+SOURCE clbslocmonitorsession.cpp
+SOURCE clbsareapositionersubsession.cpp
+SOURCE clbslocmonitorareainfofinder.cpp
+SOURCE clbslocmonitornetworkinfofinder.cpp
+SOURCE clbslocmonitorgpsbus.cpp
+SOURCE clbslocmonitorposlistener.cpp
+SOURCE clbslocmonitorutils.cpp
+SOURCE lbslocmonitorareainfodefs.cpp
+SOURCE clbslocmonitorrequesthandler.cpp
+SOURCE rlbslocmonitordb.cpp
+SOURCE clbslocmonitordbengine.cpp
+SOURCE clbsconversionpositionersubsession.cpp
+SOURCE clbslocmonitorconversionhandler.cpp
+SOURCE clbslocmonitorpluginresolver.cpp
+SOURCE	clbslocmonitordbtimer.cpp
+ 
+SOURCEPATH		../../../locationcore/LbsLocCommon/ServerFramework/src
+
+//
+// Generic server source
+//
+SOURCE csecureasbase.cpp
+SOURCE csecureserverbase.cpp
+SOURCE csecuresessionbase.cpp
+SOURCE csecuresessionsubsessionbase.cpp
+SOURCE cshutdowntimer.cpp
+SOURCE csubsessionbase.cpp
+SOURCE messageutils.cpp
+SOURCE tserverstartparams.cpp
+SOURCE tstartparamsbase.cpp
+
+
+USERINCLUDE   ../inc
+USERINCLUDE   ../../lbslocmonitorapis/CommonClientServerApi/inc
+USERINCLUDE   ../../../locationcore/inc
+USERINCLUDE	  ../../../locationcore/lbsroot/inc
+USERINCLUDE	  ../../../locationcore/LbsCommonInternalDataTypes/inc
+USERINCLUDE	  ../../../locationcore/lbsrootapi/inc
+USERINCLUDE   ../../../locationcore/LbsInternalApi/inc
+USERINCLUDE   ../../../locationcore/LbsNetInternalApi/inc
+USERINCLUDE   ../../../locationcore/LbsLocDataSource/inc
+USERINCLUDE   ../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE   ../../../locationcore/LbsDebug/inc
+USERINCLUDE	  ../../../locationcore/LbsLogging/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY		euser.lib
+LIBRARY		estor.lib
+LIBRARY		lbs.lib
+LIBRARY		lbsloccommon.lib
+LIBRARY		lbslocdatasource.lib
+LIBRARY		lbsadmin.lib
+LIBRARY		lbspartnercommon.lib
+LIBRARY		etel.lib
+LIBRARY		etelmm.lib
+LIBRARY		sqldb.lib 
+LIBRARY		commsdat.lib
+LIBRARY     ecom.lib
+LIBRARY     centralrepository.lib  
+
+#ifdef SYMBIAN_FEATURE_MANAGER
+LIBRARY		featdiscovery.lib
+#endif
+
+LIBRARY		lbsinternalapi.lib
+LIBRARY         lbslocationinfoconverterplugin.lib
+LIBRARY         lbslocationinfodatatypes.lib 
+//
+// For interface with LBS Root process
+//
+LIBRARY		lbsrootapi.lib
+LIBRARY		lbsnetprotocol.lib
+
+SMPSAFE
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsareapositionersubsession.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsareapositionersubsession.h	Fri May 28 18:01:03 2010 +0100
@@ -1,88 +1,88 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORPOSITIONERSUBSESSION_H
-#define CLBSLOCMONITORPOSITIONERSUBSESSION_H
-
-/**
-@file
-@internalComponent
-@released
-*/
-
-#include <e32property.h>
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-#include "clbslocmonitorutils.h"
-#include "clbslocmonitorserver.h"
-
-class CLbsLocMonitorServer;
-
-/*
-  Server side subsession of the Location Monitor server.
-  This subsession handles client's requests for the
-  last known position and also the last known position
-  for the current area information (e.g Global Cell ID).
-  This subsession is also used by clients to supply an 
-  accurate position (e.g, a position obtained with GPS) so
-  that the position is kept in a database together with 
-  area information.	
-*/
-class CLbsAreaPositionerSubsession : public CBase, public MSubSessionImpl, public MLocMonServerDestructObserver
-	{
-
-public:
-	static CLbsAreaPositionerSubsession* NewL();
-    ~CLbsAreaPositionerSubsession();
-    
-	// From MSubSessionImpl
-	virtual void DispatchL(const RMessage2& aMessage);
-	virtual void DispatchError(const RMessage2& aMessage, TInt aError);
-	virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
-	virtual void CloseSubSession();
-
-	// via MSubSessionImpl::MRelease	
-	void VirtualRelease();
-	// from MLocMonServerDestructObserver
-	void LocMonServerDestructed();
-protected:
-
-	CLbsAreaPositionerSubsession();
-	void ConstructL();
-
-	//
-	// action methods.
-	//
-	void GetPositionL(const RMessage2& aMessage);
-	void CancelGetPositionL(const RMessage2& aMessage);
-	void SetLastKnownPositionL(const RMessage2& aMessage);
-	
-private:
-
-	const CLbsLocMonitorServer* iLocMonitorServer;
-
-	// Unique ID of this subsession
-	CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
-	};
-
-#endif //CLBSLOCMONITORPOSITIONERSUBSESSION_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORPOSITIONERSUBSESSION_H
+#define CLBSLOCMONITORPOSITIONERSUBSESSION_H
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "clbslocmonitorutils.h"
+#include "clbslocmonitorserver.h"
+
+class CLbsLocMonitorServer;
+
+/*
+  Server side subsession of the Location Monitor server.
+  This subsession handles client's requests for the
+  last known position and also the last known position
+  for the current area information (e.g Global Cell ID).
+  This subsession is also used by clients to supply an 
+  accurate position (e.g, a position obtained with GPS) so
+  that the position is kept in a database together with 
+  area information.	
+*/
+class CLbsAreaPositionerSubsession : public CBase, public MSubSessionImpl, public MLocMonServerDestructObserver
+	{
+
+public:
+	static CLbsAreaPositionerSubsession* NewL();
+    ~CLbsAreaPositionerSubsession();
+    
+	// From MSubSessionImpl
+	virtual void DispatchL(const RMessage2& aMessage);
+	virtual void DispatchError(const RMessage2& aMessage, TInt aError);
+	virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
+	virtual void CloseSubSession();
+
+	// via MSubSessionImpl::MRelease	
+	void VirtualRelease();
+	// from MLocMonServerDestructObserver
+	void LocMonServerDestructed();
+protected:
+
+	CLbsAreaPositionerSubsession();
+	void ConstructL();
+
+	//
+	// action methods.
+	//
+	void GetPositionL(const RMessage2& aMessage);
+	void CancelGetPositionL(const RMessage2& aMessage);
+	void SetLastKnownPositionL(const RMessage2& aMessage);
+	
+private:
+
+	const CLbsLocMonitorServer* iLocMonitorServer;
+
+	// Unique ID of this subsession
+	CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
+	};
+
+#endif //CLBSLOCMONITORPOSITIONERSUBSESSION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsconversionpositionersubsession.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSCONVERSIONPOSITIONERSUBSESSION_H_
+#define CLBSCONVERSIONPOSITIONERSUBSESSION_H_
+
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "clbslocmonitorutils.h"
+
+class CLbsLocMonitorServer;
+
+/*
+  Server side subsession of the Location Monitor server.
+  This subsession handles client's requests for the
+  location info conversion.
+*/
+class CLbsConversionPositionerSubsession : public CBase, 
+                                           public MSubSessionImpl
+   {
+public:
+   static CLbsConversionPositionerSubsession* NewL();
+   
+   ~CLbsConversionPositionerSubsession();
+   
+   // From MSubSessionImpl
+   virtual void DispatchL(const RMessage2& aMessage);
+   virtual void DispatchError(const RMessage2& aMessage, TInt aError);
+   virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
+   virtual void CloseSubSession();
+   
+   // via MSubSessionImpl::MRelease    
+   void VirtualRelease(); 
+     
+protected:
+   CLbsConversionPositionerSubsession();
+   void ConstructL();
+
+   //
+   // action methods.
+   //
+   void GetPositionL(const RMessage2& aMessage);
+   void CancelGetPositionL(const RMessage2& aMessage);
+   void SetLastKnownPositionL(const RMessage2& aMessage);
+    
+private:
+
+   CLbsLocMonitorServer* iLocMonitorServer;
+
+   // Unique ID of this subsession
+   CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
+   };
+
+#endif /*CLBSCONVERSIONPOSITIONERSUBSESSION_H_*/
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorareainfofinder.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorareainfofinder.h	Fri May 28 18:01:03 2010 +0100
@@ -1,60 +1,60 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORAREAINFOFINDER_H
-#define CLBSLOCMONITORAREAINFOFINDER_H
-
-#include "tserverstartparams.h"
-#include "LbsInternalInterface.h"
-#include "LbsLogger.h"
-#include "mlbslocmonitorareainfofinderobserver.h"
-
-class TLbsLocMonitorAreaInfoBase;
-
-/**
-Base class for all the classes used by the Location Monitor to 
-find area information (e.g. one such subclass is the 
-CLbsLocMonitorCellInfoFinder that obtains cell information 
-from ETEL)
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorAreaInfoFinder : public CActive
-	{
-
-public:
-	void RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver);
-	
-	virtual TInt RunError(TInt aError) = 0;
-	virtual void RunL() = 0;
-	virtual void DoCancel() = 0;
-	
-	~CLbsLocMonitorAreaInfoFinder();
-
-protected:
-	CLbsLocMonitorAreaInfoFinder();
-	
-	void NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate);
-	
-private:
-
-	RPointerArray<MLbsLocMonitorAreaInfoFinderObserver> iObservers;
-	};
-	
-#endif //CLBSLOCMONITORAREAINFOFINDER_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORAREAINFOFINDER_H
+#define CLBSLOCMONITORAREAINFOFINDER_H
+
+#include "tserverstartparams.h"
+#include "LbsInternalInterface.h"
+#include "LbsLogger.h"
+#include "mlbslocmonitorareainfofinderobserver.h"
+
+class TLbsLocMonitorAreaInfoBase;
+
+/**
+Base class for all the classes used by the Location Monitor to 
+find area information (e.g. one such subclass is the 
+CLbsLocMonitorCellInfoFinder that obtains cell information 
+from ETEL)
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorAreaInfoFinder : public CActive
+	{
+
+public:
+	void RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver);
+	
+	virtual TInt RunError(TInt aError) = 0;
+	virtual void RunL() = 0;
+	virtual void DoCancel() = 0;
+	
+	~CLbsLocMonitorAreaInfoFinder();
+
+protected:
+	CLbsLocMonitorAreaInfoFinder();
+	
+	void NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate);
+	
+private:
+
+	RPointerArray<MLbsLocMonitorAreaInfoFinderObserver> iObservers;
+	};
+	
+#endif //CLBSLOCMONITORAREAINFOFINDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorconversionhandler.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of CLbsLocMonitorConversionHandler class.
+*
+*/
+
+#ifndef CLBSLOCMONITORCONVERSIONHANDLER_H_
+#define CLBSLOCMONITORCONVERSIONHANDLER_H_
+
+#include <e32base.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocationinfo.h>
+#include "mlbsconversioncompleteobserver.h"
+#include "rlbslocmonitordb.h"
+
+/**
+ * This class is responsible for requesting location conversion from 
+ * the plug in and later to handle the converted information.
+ */
+class CLbsLocMonitorConversionHandler : public CActive,
+                                        public MLbsLocInfoConverterPluginObserver
+    {
+public:
+    /**
+     * Validation info assosciated with each client
+     */
+    struct TValidationInfo
+        {
+        TSecureId  iClientSecureId;
+        };    /**
+     * This represent different state of conversion handler. 
+     */
+    enum TState
+        {
+        EStateIdle,
+        EStateValidation,
+        EStateConversion,
+        EStateCacheSave,
+        EStateCacheSaveComplete
+        };
+    
+public:
+    /**
+     * Creates new instance of CLbsLocMonitorConversionHandler object. 
+     */ 
+    static CLbsLocMonitorConversionHandler* NewL( 
+                               MLbsConversionCompleteObserver& 
+                               aConversionCompleteObserver,
+                               TUid aConversionPluginUid );
+    
+    /**
+     * Destructor
+     */
+    ~CLbsLocMonitorConversionHandler();
+    
+    /**
+     * Returns the size of converted location information to the client.
+     */
+    void GetConvertLocationInfoSizeL(const RMessage2& aMessage);
+    
+    /**
+     * Returns the converted location information to the client.
+     */
+    void GetConvertedLocationInfoL(const RMessage2& aMessage);
+    
+    /**
+     * Cancel location info conversion.
+     */
+    void CancelLocationInfoConversionL(const RMessage2& aMessage);
+    
+    /**
+     * Returns Uid of conversion plugin that is loaded.
+     */
+    TUid ConversionPluginUid();
+    
+    /**
+     * Returns ETrue is any message corresponding to subsession id 
+     * is present in the handler.
+     */
+    TBool IsMessagePresent(const RMessage2& aMessage);
+    
+    /**
+     * Returns ETrue if secure id and subsession id matches else EFalse.
+     */
+    TBool CompareMessage(const RMessage2& aSrc,const RMessage2& aDes);
+    
+    /**
+     * Returns accuracy level from a cache match, or nan if undefined.
+     */
+    TReal32 AccuracyFromMatchLevel(TPositionAreaExtendedInfo::TArea aMatchlevel);
+    
+   
+    
+public: // from MLbsLocInfoConverterPluginObserver
+    virtual void OnConversionComplete(TInt aStatusCode);
+    
+    virtual void OnValidationComplete(TInt aStatusCode);
+    
+protected: // from CActive
+    void RunL();
+    void DoCancel();
+    
+private:
+    /**
+     * Constructor.
+     */
+    CLbsLocMonitorConversionHandler(MLbsConversionCompleteObserver& 
+                                     aConversionCompleteObserver);
+    
+    /**
+     * Symbian 2 phase constructor.
+     */
+    void ConstructL(TUid aConversionPluginUid);
+    
+    /**
+     * Processes the request which is recently validated.
+     */
+    TInt ProcessRequestL();
+    
+    /**
+     * Loads the conversion module specified by client.
+     */
+    void LoadConversionPluginL(TUid aConversionModuleId);
+    
+    /**
+     * Writes converted position information to the stream.
+     */
+    void WriteAreaInfoL(RBufWriteStream& aWriteStream,
+                         CLbsLocationInfo::TAreaInfoMask aAreaInfoMask);
+
+    /**
+     * Completes client's message.
+     */
+    void CompleteRequest(const RMessage2& aMessage,TInt aReason);
+    
+    /**
+     * This is called after each conversion request complete
+     */
+    void RequestCompleteL();
+    
+    
+    void WriteResultToBufferL();
+    
+    
+    /**
+     * Fills in partial results from cache where they are better than those returned from the plugin
+     */
+    void FillInPartialL();
+    
+    /**
+     * Sends requests from iRequestedInfo to the cacne and uses the result to
+     * fill in iCacheLookupResults, the RunL will decide which responses to 
+     * write back into iRequestedInfo and send back to the client
+     */
+    TBool CacheLookupL();
+    
+    /*
+     * Writes any cellid + location pairs received as part of a query back into 
+     * the cache 
+     */
+    TBool CacheSaveL();
+    
+private: // Member variables
+    /**
+     * Handle to conversion complete observer
+     */
+    MLbsConversionCompleteObserver& iConversionCompleteObserver;
+    
+    /**
+     * Conversion request.
+     */
+    RMessage2 iConversionRequest;
+     
+    /**
+     * Validation request array.
+     */
+    RArray<RMessage2> iValidationRequestQueue;
+     
+    /**
+     * Pointer to conversion plugin
+     */
+    CLbsLocInfoConverterPluginBase* iLocInfoConverterPlugIn;
+    
+    /**
+     * Handle to buffer that contains converted information.
+     */
+    CBufFlat* iBuffer;
+    
+    /**
+     * Client specified request info
+     */
+    TLbsConversionOutputInfoMask iRequestedInfo;
+    
+    /**
+     * Location information array passed from client.
+     */
+    RLbsLocationInfoArray  iLocationInfoArray;
+    
+    
+    /**
+     * A subset of location information array passed from client.
+     * requests that have been solved by the cache are ommitted
+     * this array DOES NOT OWN its contents and should not destroy them.
+     * as the ownership remains with iLocationInfoArray
+     */
+    RLbsLocationInfoArray  iSubsetLocationInfoArray;
+    
+    /**
+     * Uid of currently loaded conversion plug in
+     */
+    TUid iConversionPluginId;
+    
+    /**
+     * State of conversion handler.
+     */
+    TState iState;
+    
+    /**
+     * Secure id of client that has outstanding request
+     */
+    TSecureId iCurrentRequestSecureId;
+    
+    /**
+     * Subsession id of client that has outstanding request
+     */
+    TInt iCurrentRequestSubsessionId;
+
+    
+    /*
+     * Cache lookup results
+     */
+    RArray<TLocality> iCachePartialResults;
+    
+    
+    /**
+     * Cache for lookups
+     */
+    RLbsLocMonitorDb iCache;
+    
+    
+    TInt iSavedToCacheCount;
+    
+    };
+
+#endif /*CLBSLOCMONITORCONVERSIONHANDLER_H_*/
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitordbengine.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitordbengine.h	Fri May 28 18:01:03 2010 +0100
@@ -1,83 +1,89 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBS_LOCMONITORDBENGINE_H
-#define LBS_LOCMONITORDBENGINE_H
-
-
-//-------------------------------------------------------------------------------
-#include <e32base.h>
-#include <sqldb.h> 
-#include <lbspositioninfo.h> 
-#include <e32capability.h>
-#include "rlbslocmonitordb.h"
-
-//-------------------------------------------------------------------------------
-/** 
-*/
-class CLbsLocMonitorDbEngine : public CActive
-	{
-
-public:		
-	static CLbsLocMonitorDbEngine* NewL();
-	virtual ~CLbsLocMonitorDbEngine();
-	TInt SavePosition(TUint aMcc, TUint aMnc, TUint aLac, 
-			TUint aCid, const TPosition& aPosition, TRequestStatus& aStatus);
-	TInt GetPosition(TUint aMcc, TUint aMnc, TUint aLac, 
-			TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
-	TInt GetPosition(TPosition& aPosition, TRequestStatus& aStatus);
-	TInt ClearDatabase();
-	static TInt FlushTimerCallback(TAny* aPtr);
-
-
-private:
-	CLbsLocMonitorDbEngine();
-	void ConstructL();
-	void InitDbL();
-	TBool Select(TPosition& aPosition, TPtrC aQuery, 
-			TInt aMcc = KErrNotFound, TInt aMnc = KErrNotFound, 
-			TInt aLac = KErrNotFound, TInt aCid = KErrNotFound);
-	void CheckFlush();
-	void Flush(TBool aShutdown);
-	TPositionAreaExtendedInfo CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid);
-	TInt Insert(TBool aShutdown);
-	TInt DbSize();
-	virtual void RunL();
-	virtual void DoCancel();
-	
-private:
-	RSqlDatabase iDatabase;
-	CPeriodic* iPeriodic;
-	TTimeIntervalMicroSeconds32 iFlushInterval;
-	TInt iCount;
-	RSqlStatement iSqlSaveStatement;
-	TRequestStatus* iClientStatus;
-	
-	TInt iLastMcc;
-	TInt iLastMnc;
-	TInt iLastLac;
-	TInt iLastCid;
-	TPosition iLastPosition;
-	TTime iLastTime;
-	TBool iIsLastValid;
-	};
-	
-
-
-
-#endif //LBS_LOCATIONMONITORDATABASE_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBS_LOCMONITORDBENGINE_H
+#define LBS_LOCMONITORDBENGINE_H
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+#include <sqldb.h> 
+#include <lbspositioninfo.h> 
+#include <e32capability.h>
+#include "rlbslocmonitordb.h"
+#include "clbslocmonitordbtimer.h"
+
+//-------------------------------------------------------------------------------
+/** 
+*/
+class CLbsLocMonitorDbEngine : public CActive, MLocMonitorDBCallback
+	{
+
+public:		
+	static CLbsLocMonitorDbEngine* NewL();
+	virtual ~CLbsLocMonitorDbEngine();
+	TInt SavePosition(TUint aMcc, TUint aMnc, TUint aLac, 
+			TUint aCid, const TPosition& aPosition, TBool aUserPosition, TRequestStatus& aStatus);
+	TInt GetPosition(TUint aMcc, TUint aMnc, TUint aLac, 
+			TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
+	TInt GetPosition(TPosition& aPosition, TRequestStatus& aStatus);
+	TInt ClearDatabase();
+	
+   // from CLbsLocMonitorDbTimer
+    void FlushTimerCallback();
+
+
+private:
+	CLbsLocMonitorDbEngine();
+	void ConstructL();
+	void InitDbL();
+	TBool Select(TPosition& aPosition, TPtrC aQuery, 
+			TInt aMcc = KErrNotFound, TInt aMnc = KErrNotFound, 
+			TInt aLac = KErrNotFound, TInt aCid = KErrNotFound);
+	void CheckFlush();
+	void Flush(TBool aShutdown);
+	TPositionAreaExtendedInfo CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid);
+	TInt Insert(TBool aShutdown);
+	TInt DbSize();
+	virtual void RunL();
+	virtual void DoCancel();
+	
+private:
+	RSqlDatabase iDatabase;
+	TTimeIntervalMicroSeconds32 iFlushInterval;
+	TInt iCount;
+	RSqlStatement iSqlSaveStatement;
+	TRequestStatus* iClientStatus;
+	CLbsLocMonitorDbTimer* iDbTimer;
+	
+	TBool iDBInitialised;
+	TBool iSaveLastPos;
+	TInt iLastMcc;
+	TInt iLastMnc;
+	TInt iLastLac;
+	TInt iLastCid;
+	TPosition iLastPosition;
+	TPosition iLastKnownPosition;
+	TTime iLastTime;
+	TBool iIsLastValid;
+	};
+	
+
+
+
+#endif //LBS_LOCATIONMONITORDATABASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitordbtimer.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef LBS_LOCMONITORDBTIMER_H
+#define LBS_LOCMONITORDBTIMER_H
+
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+
+
+//-------------------------------------------------------------------------------
+/** 
+*/
+
+class MLocMonitorDBCallback
+    {
+public:
+    virtual void FlushTimerCallback() = 0; 
+    };
+
+
+
+class CLbsLocMonitorDbTimer : public CActive
+	{
+
+public:		
+	static CLbsLocMonitorDbTimer* NewL(MLocMonitorDBCallback& aObserver);
+	virtual ~CLbsLocMonitorDbTimer();
+	TBool IsRunning();
+	TBool StartTimer(TTimeIntervalSeconds aTimeInterval);
+
+
+private:
+	CLbsLocMonitorDbTimer(MLocMonitorDBCallback& aObserver);
+	void ConstructL();
+	virtual void RunL();
+	virtual void DoCancel();
+	
+	
+private:
+	MLocMonitorDBCallback& iObserver;
+	RTimer iTimer;
+	TBool iRunning;
+	};
+	
+
+
+
+#endif //LBS_LOCATIONMONITORDBTIMER_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h	Fri May 28 18:01:03 2010 +0100
@@ -1,77 +1,77 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
-@file
-@internalComponent
-@released
-*/
-#ifndef CLBSLOCMONITORGPSBUS_H
-#define CLBSLOCMONITORGPSBUS_H
-
-#include <e32base.h>
-#include "LbsInternalInterface.h"
-
-class MLbsLocMonitorGpsBusObserver;
-
-/**
- Active object to listen on GPS updates bus
-*/
-class CLbsLocMonitorGpsBus : public CActive
-	{
-
-public:
-
-	static CLbsLocMonitorGpsBus* NewL(MLbsLocMonitorGpsBusObserver& aObserver);
-	~CLbsLocMonitorGpsBus();
-
-private:
-
-	CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver);
-	void ConstructL();
-
-private:
-
-	// from CActive
-	void RunL();
-	void DoCancel();
-	TInt RunError(TInt aError);
-
-private:
-
-	/** Data bus to subscribe to in order to receive
-	 notifications of gps-calculated positions.
-	 */
-	RLbsPositionUpdates			iGpsPositionBus;	
-
-	MLbsLocMonitorGpsBusObserver& iObserver;
-	};
-
-/**
-The Mixin observer interface for the location data bus object.
-
-@internalComponent
-@released
-*/
-class MLbsLocMonitorGpsBusObserver
-	{
-public:
-	virtual void GpsPositionAvailable(const TPosition& aPosition) = 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:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+#ifndef CLBSLOCMONITORGPSBUS_H
+#define CLBSLOCMONITORGPSBUS_H
+
+#include <e32base.h>
+#include "LbsInternalInterface.h"
+
+class MLbsLocMonitorGpsBusObserver;
+
+/**
+ Active object to listen on GPS updates bus
+*/
+class CLbsLocMonitorGpsBus : public CActive
+	{
+
+public:
+
+	static CLbsLocMonitorGpsBus* NewL(MLbsLocMonitorGpsBusObserver& aObserver);
+	~CLbsLocMonitorGpsBus();
+
+private:
+
+	CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver);
+	void ConstructL();
+
+private:
+
+	// from CActive
+	void RunL();
+	void DoCancel();
+	TInt RunError(TInt aError);
+
+private:
+
+	/** Data bus to subscribe to in order to receive
+	 notifications of gps-calculated positions.
+	 */
+	RLbsPositionUpdates			iGpsPositionBus;	
+
+	MLbsLocMonitorGpsBusObserver& iObserver;
+	};
+
+/**
+The Mixin observer interface for the location data bus object.
+
+@internalComponent
+@released
+*/
+class MLbsLocMonitorGpsBusObserver
+	{
+public:
+	virtual void GpsPositionAvailableL(const TPosition& aPosition) = 0;
+	};
+
 #endif // CLBSLOCMONITORGPSBUS_H
\ No newline at end of file
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitornetworkinfofinder.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitornetworkinfofinder.h	Fri May 28 18:01:03 2010 +0100
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORNETWORKINFOFINDER_H
-#define CLBSLOCMONITORNETWORKINFOFINDER_H
-
-#include <etelmm.h>
-#include "clbslocmonitorareainfofinder.h"
-#include "LbsLogger.h"
-
-
-/**
-Class used to keep track of the current global cell id
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorNetworkInfoFinder: public CLbsLocMonitorAreaInfoFinder
-{
-
-public:
-	/** CLbsLocMonitorNetworkInfoFinder states.
-	*/
-	enum TLbsLocMonitorNetworkInfoFinderState
-		{
-		/** Not valid */
-		EStateNull = 0,
-		/** Waiting for Comms RootServer to be up and running */
-		EStateInitializing = 1,
-		/** Getting network info from ETEL with GetCurrentNetwork */
-		EStateGettingNetInfo = 2,
-		EStateNetInfoChangeMon = 3
-		};
-
-public:
-
-	~CLbsLocMonitorNetworkInfoFinder();
-	static CLbsLocMonitorNetworkInfoFinder* NewL();
-	
-	void StartGettingNetworkInfoL();
-
-	
-	virtual TInt RunError(TInt aError);
-	virtual void RunL();
-	virtual void DoCancel();
-
-private:
-
-	CLbsLocMonitorNetworkInfoFinder();
-	void ConstructL();
-	void GetNetworkInfoL();
-	void InitialisePhoneL();
-	TBool ValidateNetInfo(TLbsLocMonitorAreaInfoGci& areaInfo);
-	void MonitorNetworkChange();
-	void GetCommDbTSYnameL(TDes& aTsyName);
-
-
-private:
-
-	RTelServer iTelServer;
-	RProperty iConfigurationProperty;
-
-	/** iNetPhone monitors changes to Network Info */
-	RMobilePhone iNetPhone;
-	RMobilePhone::TMobilePhoneNetworkInfoV1 iNetworkInfo;
-	RMobilePhone::TMobilePhoneNetworkInfoV1Pckg iNetworkInfoPckg;
-	RMobilePhone::TMobilePhoneLocationAreaV1 iLocArea;
-	
-	TLbsLocMonitorNetworkInfoFinderState iState;
-};
-
-#endif //CLBSLOCMONITORNETWORKINFOFINDER_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORNETWORKINFOFINDER_H
+#define CLBSLOCMONITORNETWORKINFOFINDER_H
+
+#include <etelmm.h>
+#include "clbslocmonitorareainfofinder.h"
+#include "LbsLogger.h"
+
+
+/**
+Class used to keep track of the current global cell id
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorNetworkInfoFinder: public CLbsLocMonitorAreaInfoFinder
+{
+
+public:
+	/** CLbsLocMonitorNetworkInfoFinder states.
+	*/
+	enum TLbsLocMonitorNetworkInfoFinderState
+		{
+		/** Not valid */
+		EStateNull = 0,
+		/** Waiting for Comms RootServer to be up and running */
+		EStateInitializing = 1,
+		/** Getting network info from ETEL with GetCurrentNetwork */
+		EStateGettingNetInfo = 2,
+		EStateNetInfoChangeMon = 3
+		};
+
+public:
+
+	~CLbsLocMonitorNetworkInfoFinder();
+	static CLbsLocMonitorNetworkInfoFinder* NewL();
+	
+	void StartGettingNetworkInfoL();
+
+	
+	virtual TInt RunError(TInt aError);
+	virtual void RunL();
+	virtual void DoCancel();
+
+private:
+
+	CLbsLocMonitorNetworkInfoFinder();
+	void ConstructL();
+	void GetNetworkInfoL();
+	void InitialisePhoneL();
+	TBool ValidateNetInfo(TLbsLocMonitorAreaInfoGci& areaInfo);
+	void MonitorNetworkChange();
+	void GetCommDbTSYnameL(TDes& aTsyName);
+
+
+private:
+
+	RTelServer iTelServer;
+	RProperty iConfigurationProperty;
+
+	/** iNetPhone monitors changes to Network Info */
+	RMobilePhone iNetPhone;
+	RMobilePhone::TMobilePhoneNetworkInfoV1 iNetworkInfo;
+	RMobilePhone::TMobilePhoneNetworkInfoV1Pckg iNetworkInfoPckg;
+	RMobilePhone::TMobilePhoneLocationAreaV1 iLocArea;
+	
+	TLbsLocMonitorNetworkInfoFinderState iState;
+};
+
+#endif //CLBSLOCMONITORNETWORKINFOFINDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorpluginresolver.h	Fri May 28 18:01:03 2010 +0100
@@ -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: Declaration of CLbsLocMonitorPluginResolver class
+*
+*/
+
+#ifndef CLBSLOCMONITORPLUGINRESOLVER_H_
+#define CLBSLOCMONITORPLUGINRESOLVER_H_
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+
+/**
+ * This class is responsible for choosing the default converter plugin based
+ * on vendorid and plugin priority.
+ * 
+ */
+class CLbsLocMonitorPluginResolver : public CActive
+    {
+public:
+    /**
+     * Constructs new object of CLbsLocMonitorPluginResolver.
+     */
+    static CLbsLocMonitorPluginResolver* NewL();
+    
+    /**
+     * Destructor. 
+     */
+    ~CLbsLocMonitorPluginResolver();
+    
+    /**
+     * Returns uid of default converter. 
+     * @param[out] aConverterPluginUid Default converter plugin id.
+     * @return KErrNotFound If none of converter plugin available.
+     */
+    TInt DefaultConverterUid( TUid& aConverterPluginUid ); 
+    
+protected: // From CActive
+    void RunL();
+    void DoCancel();
+    
+
+private:
+    /**
+     * Default constructor. 
+     */
+    CLbsLocMonitorPluginResolver();
+    
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL();
+    
+    /**
+     * Finds default converter plugin
+     */
+    void FindDefaultConverterPluginL(); 
+    
+    /**
+     * 
+     */
+    TInt PriorityInfo( const TDesC8& aOpaqueData );
+private: // Member variables
+    
+    /**
+     * Pointer to ecom session 
+     */
+    REComSession* iEcomSession;
+    
+    /**
+     * Default converter plugin uid.
+     */
+    TUid iDefaultConverterPluginId;
+    };
+#endif /* CLBSLOCMONITORPLUGINRESOLVER_H_ */
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorposlistener.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorposlistener.h	Fri May 28 18:01:03 2010 +0100
@@ -1,72 +1,72 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBSLOCMONITORPOSLISTENER_H
-#define LBSLOCMONITORPOSLISTENER_H
-
-#include <e32base.h>
-#include "lbsnetinternalapi.h"
-#include "clbslocmonitorgpsbus.h"
-
-class MLbsLocMonitorPosListenerObserver
-	{
-public:
-	virtual void PositionAvailable(const TPosition& aPosition) = 0;	
-	};
-
-/**
-A class that subscribes to all the sources of position
-information available witin LBS (currently this is the
-gsp bus)
-
-@see CLbsLocMonitorServer
-@internalComponent
-@prototype
-*/
-class CLbsLocMonitorPosListener :	public MLbsLocMonitorGpsBusObserver
-	{
-	
-public:
-
-	static CLbsLocMonitorPosListener* NewL(MLbsLocMonitorPosListenerObserver& aObserver);
-	~CLbsLocMonitorPosListener();
-
-	// From MLbsLocMonitorGpsBusObserver
-	void GpsPositionAvailable(const TPosition& aPosition);
-
-private:
-
-	CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver);
-	void ConstructL();
-
-private:
-
-	//Bus used to broadcast position within LBS
-	CLbsLocMonitorGpsBus*			iGpsBus;
-	
-private:
-
-	// Observer interested in knowing about newly arrived
-	// positions (the Location Monitor)
-	MLbsLocMonitorPosListenerObserver& iObserver;
-	
-	TPosition iLastGpsPosition;
-	};
-	
-	
-#endif //LBSLOCMONITORPOSLISTENER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBSLOCMONITORPOSLISTENER_H
+#define LBSLOCMONITORPOSLISTENER_H
+
+#include <e32base.h>
+#include "lbsnetinternalapi.h"
+#include "clbslocmonitorgpsbus.h"
+
+class MLbsLocMonitorPosListenerObserver
+	{
+public:
+	virtual void PositionAvailableL(const TPosition& aPosition) = 0;	
+	};
+
+/**
+A class that subscribes to all the sources of position
+information available witin LBS (currently this is the
+gsp bus)
+
+@see CLbsLocMonitorServer
+@internalComponent
+@prototype
+*/
+class CLbsLocMonitorPosListener :	public MLbsLocMonitorGpsBusObserver
+	{
+	
+public:
+
+	static CLbsLocMonitorPosListener* NewL(MLbsLocMonitorPosListenerObserver& aObserver);
+	~CLbsLocMonitorPosListener();
+
+	// From MLbsLocMonitorGpsBusObserver
+	void GpsPositionAvailableL(const TPosition& aPosition);
+
+private:
+
+	CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver);
+	void ConstructL();
+
+private:
+
+	//Bus used to broadcast position within LBS
+	CLbsLocMonitorGpsBus*			iGpsBus;
+	
+private:
+
+	// Observer interested in knowing about newly arrived
+	// positions (the Location Monitor)
+	MLbsLocMonitorPosListenerObserver& iObserver;
+	
+	TPosition iLastGpsPosition;
+	};
+	
+	
+#endif //LBSLOCMONITORPOSLISTENER_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorrequesthandler.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorrequesthandler.h	Fri May 28 18:01:03 2010 +0100
@@ -1,187 +1,187 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLbsLocMonitorRequestHandler_H
-#define CLbsLocMonitorRequestHandler_H
-
-#include "lbstimer.h"
-#include "tserverstartparams.h"
-#include "messageutils.h"
-#include "LbsInternalInterface.h"
-#include "LbsLogger.h"
-#include "mlbslocmonitorareainfofinderobserver.h"
-#include "clbslocmonitorposlistener.h"
-#include "clbslocmonitorutils.h"
-#include "rlbslocmonitordb.h"
-#include "lbslocmonitorserverdata.h"
-
-/**
-This class accepts requests for retrieving positions from a database that had been
-previosly stored in association with current area information (e.g. global cell id).
-The requests are of two types: get the last know position and get the last known
-position with location area information.
-
-The requests originate in subsessions (clients) of the Location Monitor and are kept
-in a queue provided by this class.
-
-All of the queued requests of the same type are completed when a position is
-retrieved from the database.
-
-This class is an active object because the requests it sends to the database may be
-asynchronous.
-
-The class derives from MLbsLocMonitorAreaInfoFinderObserver so that it can be notified
-of current area information (e.g, global cell id) from any of the Location Monitor's
-area information "finder" objects (currently only one such object exits to collect
-global cell information).
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorRequestHandler : public CActive,
-									public MLbsLocMonitorAreaInfoFinderObserver,
-									public MLbsLocMonitorPosListenerObserver,
-									public MLbsCallbackTimerObserver
-	{
-
-	enum TAreaInfoType
-		{
-		EGlobalCellIdType = 0,
-		ELastAreaInfoType,	
-		};
-		
-	enum EDbOperationType
-		{
-		ELocMonDbOperationNone,
-		ELocMonDbSavePos,
-		ELocMonDbSaveLastPos,
-		ELocMonDbGetPosArea,
-		ELocMonDbGetLast,
-		};
-
-public:
-	
-	static CLbsLocMonitorRequestHandler* NewL();
-	~CLbsLocMonitorRequestHandler();
-	
-	//
-	// Methods called from server and server subsessions to save
-	// or retrieve positions from the database.
-	//
-
-	void PositionRequestL(const RMessage2& aMessage);
-
-	void CancelPositionRequestL(const RMessage2& aMessage);
-	
-	void StoreLastKnownPosition(const TPosition& aPosition);
-
-	/*
-	Called when a subsession is closed (its outstanding requests
-	have to be completed/destroyed)
-	*/
-	void ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId);
-	
-	/*
-	This method is called by sessions of the location monitor to delete
-	the database of positions.
-	*/
-	TInt DeleteDatabaseL();
-		
-	/*
-	Cancel a previous request to delete the database.
-	*/
-	void CancelDeleteDatabaseL(const RMessage2& aMessage);
-	
-	//
-	// Methods derived from MLbsLocMonitorAreaInfoFinderObserver
-	//
-	
-	/*
-	Method called to inform this class of an updated of area information
-	(e.g, new current global cell id)
-	*/
-	void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo);
-	
-	//
-	// Methods derived from MLbsLocMonitorPosListenerObserver
-	//
-	
-	/* Method called to request that a position is
-	stored in the database. This method is called
-	as a consequence of a new position being observed
-	on an internal position bus.
-	*/
-	void PositionAvailable(const TPosition& aPosition);
-	
-private:
-
-	CLbsLocMonitorRequestHandler();
-	void ConstructL();
-	
-	void ProcessNextRequest();
-	void CompleteClientRequest(TInt aIndex, TInt aCompletionCode);
-	TInt CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError);
-	void ClearRequestVariables();
-	TInt DbReadOperationToOpCode(EDbOperationType aDbOperationType);
-	void HandleDbAccessError(TInt aError);
-
-	// From MLbsCallbackTimerObserver
-	void OnTimerEventL(TInt aTimerId);
-	TInt OnTimerError(TInt aTimerId, TInt aError);
-
-	// Derived from CActive
-	void RunL();
-	TInt RunError(TInt aError);
-	void DoCancel();
-
-private:
-
-	//Interface to positions DB
-	RLbsLocMonitorDb iDb; 
-	
-	// Type of async DB operation in progress
-	EDbOperationType iOperationInProgress; 
-
-	//Requests from different clients.
-	RArray<RMessage2> iRequestQueue; 
-
-	// An array with current area info from different sources (one entry per source).
-	// Currently only one element in the array as only cell-information is used.
-	RPointerArray<TLbsLocMonitorAreaInfoBase>  iCurrentAreaInfo;
-	
-	TBool iAreaInfoAvailable;
-	
-	// A queue of positions waiting to be written to the database. 
-	RArray<TPosition> iPositionsQueue;
-
-	// Temporary store for the LKP communicated by the LS
-	TPosition iLastKnownPosition;
-	// Whether a last known position is available for storing.
-	TBool iLastKnownPositionAvailable;
-
-	// The following variables are data members so that no memory from the heap
-	// has to be allocated for them (keeping a static memory footprint)
-	TPosition iPosition; // Position read from the DB
-	TPositionAreaExtendedInfo iAreaMatchInfo; // Area Information read from the DB
-	TPositionInfo iPositionInfo; // Used to write position info back to client
-	TPosAreaReqParams iRequestParams; // Used to find out the type of client's area info
-	
-	CLbsCallbackTimer* iDbOperationTimer;	
-	};
-	
-#endif //CLbsLocMonitorRequestHandler_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLbsLocMonitorRequestHandler_H
+#define CLbsLocMonitorRequestHandler_H
+
+#include "lbstimer.h"
+#include "tserverstartparams.h"
+#include "messageutils.h"
+#include "LbsInternalInterface.h"
+#include "LbsLogger.h"
+#include "mlbslocmonitorareainfofinderobserver.h"
+#include "clbslocmonitorposlistener.h"
+#include "clbslocmonitorutils.h"
+#include "rlbslocmonitordb.h"
+#include "lbslocmonitorserverdata.h"
+
+/**
+This class accepts requests for retrieving positions from a database that had been
+previosly stored in association with current area information (e.g. global cell id).
+The requests are of two types: get the last know position and get the last known
+position with location area information.
+
+The requests originate in subsessions (clients) of the Location Monitor and are kept
+in a queue provided by this class.
+
+All of the queued requests of the same type are completed when a position is
+retrieved from the database.
+
+This class is an active object because the requests it sends to the database may be
+asynchronous.
+
+The class derives from MLbsLocMonitorAreaInfoFinderObserver so that it can be notified
+of current area information (e.g, global cell id) from any of the Location Monitor's
+area information "finder" objects (currently only one such object exits to collect
+global cell information).
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorRequestHandler : public CActive,
+									public MLbsLocMonitorAreaInfoFinderObserver,
+									public MLbsLocMonitorPosListenerObserver,
+									public MLbsCallbackTimerObserver
+	{
+
+	enum TAreaInfoType
+		{
+		EGlobalCellIdType = 0,
+		ELastAreaInfoType,	
+		};
+		
+	enum EDbOperationType
+		{
+		ELocMonDbOperationNone,
+		ELocMonDbSavePos,
+		ELocMonDbSaveLastPos,
+		ELocMonDbGetPosArea,
+		ELocMonDbGetLast,
+		};
+
+public:
+	
+	static CLbsLocMonitorRequestHandler* NewL();
+	~CLbsLocMonitorRequestHandler();
+	
+	//
+	// Methods called from server and server subsessions to save
+	// or retrieve positions from the database.
+	//
+
+	void PositionRequestL(const RMessage2& aMessage);
+
+	void CancelPositionRequestL(const RMessage2& aMessage);
+	
+	void StoreLastKnownPosition(const TPosition& aPosition);
+
+	/*
+	Called when a subsession is closed (its outstanding requests
+	have to be completed/destroyed)
+	*/
+	void ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId);
+	
+	/*
+	This method is called by sessions of the location monitor to delete
+	the database of positions.
+	*/
+	TInt DeleteDatabaseL();
+		
+	/*
+	Cancel a previous request to delete the database.
+	*/
+	void CancelDeleteDatabaseL(const RMessage2& aMessage);
+	
+	//
+	// Methods derived from MLbsLocMonitorAreaInfoFinderObserver
+	//
+	
+	/*
+	Method called to inform this class of an updated of area information
+	(e.g, new current global cell id)
+	*/
+	void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo);
+	
+	//
+	// Methods derived from MLbsLocMonitorPosListenerObserver
+	//
+	
+	/* Method called to request that a position is
+	stored in the database. This method is called
+	as a consequence of a new position being observed
+	on an internal position bus.
+	*/
+	void PositionAvailableL(const TPosition& aPosition);
+	
+private:
+
+	CLbsLocMonitorRequestHandler();
+	void ConstructL();
+	
+	void ProcessNextRequest();
+	void CompleteClientRequest(TInt aIndex, TInt aCompletionCode);
+	TInt CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError);
+	void ClearRequestVariables();
+	TInt DbReadOperationToOpCode(EDbOperationType aDbOperationType);
+	void HandleDbAccessError(TInt aError);
+
+	// From MLbsCallbackTimerObserver
+	void OnTimerEventL(TInt aTimerId);
+	TInt OnTimerError(TInt aTimerId, TInt aError);
+
+	// Derived from CActive
+	void RunL();
+	TInt RunError(TInt aError);
+	void DoCancel();
+
+private:
+
+	//Interface to positions DB
+	RLbsLocMonitorDb iDb; 
+	
+	// Type of async DB operation in progress
+	EDbOperationType iOperationInProgress; 
+
+	//Requests from different clients.
+	RArray<RMessage2> iRequestQueue; 
+
+	// An array with current area info from different sources (one entry per source).
+	// Currently only one element in the array as only cell-information is used.
+	RPointerArray<TLbsLocMonitorAreaInfoBase>  iCurrentAreaInfo;
+	
+	TBool iAreaInfoAvailable;
+	
+	// A queue of positions waiting to be written to the database. 
+	RArray<TPosition> iPositionsQueue;
+
+	// Temporary store for the LKP communicated by the LS
+	TPosition iLastKnownPosition;
+	// Whether a last known position is available for storing.
+	TBool iLastKnownPositionAvailable;
+
+	// The following variables are data members so that no memory from the heap
+	// has to be allocated for them (keeping a static memory footprint)
+	TPosition iPosition; // Position read from the DB
+	TPositionAreaExtendedInfo iAreaMatchInfo; // Area Information read from the DB
+	TPositionInfo iPositionInfo; // Used to write position info back to client
+	TPosAreaReqParams iRequestParams; // Used to find out the type of client's area info
+	
+	CLbsCallbackTimer* iDbOperationTimer;	
+	};
+	
+#endif //CLbsLocMonitorRequestHandler_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,143 +1,160 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORSERVER_H
-#define CLBSLOCMONITORSERVER_H
-
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-#include "LbsLogger.h"
-#include "clbslocmonitorrequesthandler.h"
-#include "clbslocmonitorareainfofinder.h"
-#include "clbslocmonitornetworkinfofinder.h"
-#include "clbslocmonitorposlistener.h"
-#include "lbsrootapi.h"
-#include "lbsprocesssupervisor.h"
-
-
-
-class CSession2;
-
-/**
-Observer class for Location Monitor Server
-
-@internalTechnology
-@released
-*/
-class MLocMonServerDestructObserver
-    {
-public:
-    //Pure virtual implemented by classes which inherit from MLocMonServerDestructObserver
-    virtual void LocMonServerDestructed() = 0;
-    };
-
-
-/**
-This class implements MCreateServerImpl.
-
-A class that defines a call to CreateServerLC
-is required by LBS' ServerFramwork. Its only purpose
-is to provide a means to launch the creation of the
-real server class (CLbsLocMonitorServer)
-
-@see MCreateServerImpl
-@see CLbsLocMonitorServer
-@internalComponent
-@released
-*/
-class CLbsLocMonitorCreator : public CBase, public MCreateServerImpl
-	{
-public:
-	virtual void CreateServerLC(TServerStartParams& aParams);	
-	};
-	
-/**
-This class defines the Location Monitor server.
-
-It derives from CSecureServerBase to make use of the functionality
-provided by LBS' ServerFramework for server, session and subsession 
-creation and destruction.
-
-It derives from MLbsEavesDropperObserver to receive positions
-observed by the CLbsEavesDropper on any of LBS' internal position buses.
-
-It derives from MLbsAreaInfoObserver to current receive area information
-from different sources (e.g. from CLbsCurrentCellInfoFinder)
-
-@see MCreateServerImpl
-@internalComponent
-@released
-*/
-class CLbsLocMonitorServer : public CSecureServerBase,
-							 public MLbsProcessCloseDown
-	{
-	
-	enum TAreaInfoFinder
-		{
-		ENetworkInfoFinder = 0
-		};
-	
-public:
-
-	CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy);
-	~CLbsLocMonitorServer();
-	void ConstructL(const TDesC& aServerName);
-
-	CSession2* DoNewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
-
-	TVersion GetServerVersion() const;
-
-	// Methods called by the server subsessions to gain access
-	// to database for writting and reading positions and area info.
-	CLbsLocMonitorRequestHandler& ReadRequestHandler() const;
-	
-	void SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver);
-	void UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver);
-	
-public: // From MLbsProcessCloseDown
-    void OnProcessCloseDown();	
-	
-protected:
-
-	// From CSecureServerBase (from CPolicyServer)
-	CPolicyServer::TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-	TBool FindRootProcess();
-
-protected:
-
-	TVersion  iVersion;
-
-	// Sources of area information.
-	// Currently only one element in the array as only cell-information is sought.
-	RPointerArray<CLbsLocMonitorAreaInfoFinder>  iAreaInfoFinders;
-
-	CLbsLocMonitorPosListener*	iPosListener;
-	
-	CLbsLocMonitorRequestHandler* iRequestHandler;
-
-	CLbsCloseDownRequestDetector* iCloseDownRequestDetector;
-	
-	RPointerArray<MLocMonServerDestructObserver> iDestructionObservers;
-	};
-	
-#endif //CLBSLOCMONITORSERVER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORSERVER_H
+#define CLBSLOCMONITORSERVER_H
+
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "LbsLogger.h"
+#include "clbslocmonitorrequesthandler.h"
+#include "clbslocmonitorareainfofinder.h"
+#include "clbslocmonitornetworkinfofinder.h"
+#include "clbslocmonitorposlistener.h"
+#include "lbsrootapi.h"
+#include "lbsprocesssupervisor.h"
+#include "mlbsconversioncompleteobserver.h"
+#include "clbslocmonitorconversionhandler.h"
+#include "clbslocmonitorpluginresolver.h"
+
+
+
+class CSession2;
+
+/**
+Observer class for Location Monitor Server
+
+@internalTechnology
+@released
+*/
+class MLocMonServerDestructObserver
+    {
+public:
+    //Pure virtual implemented by classes which inherit from MLocMonServerDestructObserver
+    virtual void LocMonServerDestructed() = 0;
+    };
+
+
+/**
+This class implements MCreateServerImpl.
+
+A class that defines a call to CreateServerLC
+is required by LBS' ServerFramwork. Its only purpose
+is to provide a means to launch the creation of the
+real server class (CLbsLocMonitorServer)
+
+@see MCreateServerImpl
+@see CLbsLocMonitorServer
+@internalComponent
+@released
+*/
+class CLbsLocMonitorCreator : public CBase, public MCreateServerImpl
+	{
+public:
+	virtual void CreateServerLC(TServerStartParams& aParams);	
+	};
+	
+/**
+This class defines the Location Monitor server.
+
+It derives from CSecureServerBase to make use of the functionality
+provided by LBS' ServerFramework for server, session and subsession 
+creation and destruction.
+
+It derives from MLbsEavesDropperObserver to receive positions
+observed by the CLbsEavesDropper on any of LBS' internal position buses.
+
+It derives from MLbsAreaInfoObserver to current receive area information
+from different sources (e.g. from CLbsCurrentCellInfoFinder)
+
+@see MCreateServerImpl
+@internalComponent
+@released
+*/
+class CLbsLocMonitorServer : public CSecureServerBase,
+							 public MLbsProcessCloseDown,
+							 public MLbsConversionCompleteObserver
+	{
+	
+	enum TAreaInfoFinder
+		{
+		ENetworkInfoFinder = 0
+		};
+	
+public:
+
+	CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy);
+	~CLbsLocMonitorServer();
+	void ConstructL(const TDesC& aServerName);
+
+	CSession2* DoNewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
+
+	TVersion GetServerVersion() const;
+
+	// Methods called by the server subsessions to gain access
+	// to database for writting and reading positions and area info.
+	CLbsLocMonitorRequestHandler& ReadRequestHandler() const;
+	
+	CLbsLocMonitorConversionHandler* ConversionHandlerL( TUid aConversionPluginId );
+	
+	CLbsLocMonitorConversionHandler* ConversionHandler( const RMessage2& aMessage );
+	
+	CLbsLocMonitorPluginResolver* PluginResolver();
+	
+	void SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver);
+	void UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver);
+	
+public: // From MLbsProcessCloseDown
+    void OnProcessCloseDown();	
+    
+public: // From MLbsConversionCompleteObserver
+    void HandleConversionComplete( CLbsLocMonitorConversionHandler*
+                                   aConversionHandler );
+	
+protected:
+
+	// From CSecureServerBase (from CPolicyServer)
+	CPolicyServer::TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
+	TBool FindRootProcess();
+
+protected:
+
+	TVersion  iVersion;
+
+	// Sources of area information.
+	// Currently only one element in the array as only cell-information is sought.
+	RPointerArray<CLbsLocMonitorAreaInfoFinder>  iAreaInfoFinders;
+
+	CLbsLocMonitorPosListener*	iPosListener;
+	
+	CLbsLocMonitorRequestHandler* iRequestHandler;
+
+	CLbsCloseDownRequestDetector* iCloseDownRequestDetector;
+	
+	RPointerArray<CLbsLocMonitorConversionHandler> iConversionHandlerArray;
+	
+	CLbsLocMonitorPluginResolver* iPluginResolver;
+	RPointerArray<MLocMonServerDestructObserver> iDestructionObservers;
+	};
+	
+#endif //CLBSLOCMONITORSERVER_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorsession.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorsession.h	Fri May 28 18:01:03 2010 +0100
@@ -1,62 +1,62 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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
-@internalComponent
-@released
-*/
-
-#ifndef CLBSLOCMONITORSESSION_H
-#define CLBSLOCMONITORSESSION_H
-
-#include <e32property.h>
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-
-/**
-Client side session of the Location Monitor server.
-
-It derives from the class CSecureSessionSubSessionBase (from Server Framework)
-which means that it is a session with support for subsessions (not a subsession).
-
-*/
-class CLbsLocMonitorSession : public CSecureSessionSubSessionBase
-	{
-
-public:
-
-	void CreateL();				   
-	void ServiceMessageL(const RMessage2& aMessage);
-	void ServiceMessageError(const RMessage2& aMessage, const TInt aError);
-
-private:
-
-	void HandleDatabaseWipeoutL(const RMessage2& aMessage);
-
-protected:
-	// property
-	TVersion iVersion;
-	};
-
-#endif //CLBSLOCMONITORSESSION_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#ifndef CLBSLOCMONITORSESSION_H
+#define CLBSLOCMONITORSESSION_H
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+
+/**
+Client side session of the Location Monitor server.
+
+It derives from the class CSecureSessionSubSessionBase (from Server Framework)
+which means that it is a session with support for subsessions (not a subsession).
+
+*/
+class CLbsLocMonitorSession : public CSecureSessionSubSessionBase
+	{
+
+public:
+
+	void CreateL();				   
+	void ServiceMessageL(const RMessage2& aMessage);
+	void ServiceMessageError(const RMessage2& aMessage, const TInt aError);
+
+private:
+
+	void HandleDatabaseWipeoutL(const RMessage2& aMessage);
+
+protected:
+	// property
+	TVersion iVersion;
+	};
+
+#endif //CLBSLOCMONITORSESSION_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorutils.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorutils.h	Fri May 28 18:01:03 2010 +0100
@@ -1,73 +1,73 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-	
-#include <e32base.h>
-#include "clbslocmonitorsession.h"
-
-/**
- @file
- @internalTechnology
-*/
-
-#ifndef CLBSLOCMONITORUTILS_H
-#define CLBSLOCMONITORUTILS_H
-
-
-/*
-This class is only used to give a scope to a collection of 
-static methods required by other classes in the Location 
-Monitor server
-*/
-class CLbsLocMonitorUtils
-	{
-	
-public:
-
-	/*
-	Struct with the information needed to uniquely
-	identify the client that sent an RMessage2.
-	*/
-	struct sessionAndSubSessionId
-		{
-		CLbsLocMonitorSession* iSessionPtr;
-		TInt iSubsessionId;
-		};
-public:
-
-	/*
-	Method to check whether an RMessage2 was sent by the client defined
-	by aClientId.
-	*/
-	static TBool MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage);
-
-	/*
-	Method to check whether the operation requested in aMessage is the same as the
-	operation requested in aOperationType (regardless of originating client)
-	*/
-	static TBool MatchOperation(const TInt* aOperationType, const RMessage2& aMessage);
-	
-	/*
-	Method to check whether the aRequestMessage is a request that is to be
-	terminated as a consequence of the cancel operation in aCancelMessage
-	(both must originate in the same client and have related opcodes)
-	*/
-	static TBool MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage);
-	};
-	
-
-#endif // CLBSLOCMONITORUTILS_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+	
+#include <e32base.h>
+#include "clbslocmonitorsession.h"
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#ifndef CLBSLOCMONITORUTILS_H
+#define CLBSLOCMONITORUTILS_H
+
+
+/*
+This class is only used to give a scope to a collection of 
+static methods required by other classes in the Location 
+Monitor server
+*/
+class CLbsLocMonitorUtils
+	{
+	
+public:
+
+	/*
+	Struct with the information needed to uniquely
+	identify the client that sent an RMessage2.
+	*/
+	struct sessionAndSubSessionId
+		{
+		CLbsLocMonitorSession* iSessionPtr;
+		TInt iSubsessionId;
+		};
+public:
+
+	/*
+	Method to check whether an RMessage2 was sent by the client defined
+	by aClientId.
+	*/
+	static TBool MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage);
+
+	/*
+	Method to check whether the operation requested in aMessage is the same as the
+	operation requested in aOperationType (regardless of originating client)
+	*/
+	static TBool MatchOperation(const TInt* aOperationType, const RMessage2& aMessage);
+	
+	/*
+	Method to check whether the aRequestMessage is a request that is to be
+	terminated as a consequence of the cancel operation in aCancelMessage
+	(both must originate in the same client and have related opcodes)
+	*/
+	static TBool MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage);
+	};
+	
+
+#endif // CLBSLOCMONITORUTILS_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorareainfodefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorareainfodefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,78 +1,78 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file
- @internalTechnology
-*/
-
-#ifndef LBSLOCMONITORAREAINFODEFS_H
-#define LBSLOCMONITORAREAINFODEFS_H
-
-#include <e32def.h>
-
-
-/**
-The base class for classes used to store area information
-
-@internalComponent
-@released
- */
-class TLbsLocMonitorAreaInfoBase
-	{
-public:
-	/**
-	TLbsLocMonitorAreaInfoBase derived classes class types
-	 */
-	enum TAreaInfoClassType
-		{
-		EAreaInfoInfoUnknownClass		= 0,
-		/** Global Cell Id */
-		EAreaGciClass					= 0x01,
-		};
-
-public:
-
-	TUint32 AreaInfoClassType() const;
-
-protected:
-
-	TLbsLocMonitorAreaInfoBase();
-
-protected:
-	/** The type of the derived class */
-	TUint32 iAreaInfoClassType;
-	};
-
-/*
-Global Cell Id (GCI)
-*/
-class TLbsLocMonitorAreaInfoGci: public TLbsLocMonitorAreaInfoBase
-{
-public:
-
-	TLbsLocMonitorAreaInfoGci();
-
-public:
-	TUint iMcc; 
-	TUint iMnc; 
-	TUint iLac; 
-	TUint iCid;
-};
-
-#endif // LBSLOCMONITORAREAINFODEFS_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#ifndef LBSLOCMONITORAREAINFODEFS_H
+#define LBSLOCMONITORAREAINFODEFS_H
+
+#include <e32def.h>
+
+
+/**
+The base class for classes used to store area information
+
+@internalComponent
+@released
+ */
+class TLbsLocMonitorAreaInfoBase
+	{
+public:
+	/**
+	TLbsLocMonitorAreaInfoBase derived classes class types
+	 */
+	enum TAreaInfoClassType
+		{
+		EAreaInfoInfoUnknownClass		= 0,
+		/** Global Cell Id */
+		EAreaGciClass					= 0x01,
+		};
+
+public:
+
+	TUint32 AreaInfoClassType() const;
+
+protected:
+
+	TLbsLocMonitorAreaInfoBase();
+
+protected:
+	/** The type of the derived class */
+	TUint32 iAreaInfoClassType;
+	};
+
+/*
+Global Cell Id (GCI)
+*/
+class TLbsLocMonitorAreaInfoGci: public TLbsLocMonitorAreaInfoBase
+{
+public:
+
+	TLbsLocMonitorAreaInfoGci();
+
+public:
+	TUint iMcc; 
+	TUint iMnc; 
+	TUint iLac; 
+	TUint iCid;
+};
+
+#endif // LBSLOCMONITORAREAINFODEFS_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitordbenginedefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitordbenginedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,77 +1,84 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBS_LOCMONITORDBENGINEDEFS_H
-#define LBS_LOCMONITORDBENGINEDEFS_H
-
-const TInt KTempFlushSize = 50;
-const TInt KMaxDbSize = 1000;
-
-const TTimeIntervalMicroSeconds32 KInitialPeriod = 200000000;
-const TTimeIntervalMicroSeconds32 KFlushPeriod = 30000000;
-
-
-#if defined (LBS_LOCMONITORDB_TEST) && defined (__WINS__)  // Unit test emulator
-_LIT(KSecureLocMonDB, "C:\\lastknownlocarea.db");
-#elif defined (LBS_LOCMONITORDB_TEST) && !defined (__WINSCW__) // Unit test hw
-_LIT(KSecureLocMonDB, "E:\\lastknownlocarea.db");
-#else // production code
-_LIT(KSecureLocMonDB, "[102869DF]lastknownlocarea.db");
-#endif
-
-_LIT(KCreateTable, "CREATE TABLE monitorstore (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
-_LIT(KCreateIndex4, "CREATE UNIQUE INDEX four_idx1 ON monitorstore(mcc,mnc,lac,cid);");
-_LIT(KCreateIndex3, "CREATE INDEX three_idx1 ON monitorstore(mcc,mnc,lac);");
-
-_LIT(KCreateTempTable, "CREATE TEMP TABLE monitorstore_temp (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
-_LIT(KCreateTempIndex4, "CREATE UNIQUE INDEX four_temp_idx1 ON monitorstore_temp(mcc,mnc,lac,cid);");
-
-_LIT(KUpsertRow, "INSERT OR REPLACE INTO monitorstore_temp (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
-_LIT(KUpsertRowActual, "INSERT OR REPLACE INTO monitorstore (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
-
-_LIT(KSelectRow4, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
-_LIT(KSelectRow3, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRow2, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRow1, "SELECT data FROM monitorstore WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRowLatest, "SELECT data FROM monitorstore ORDER BY date DESC LIMIT 1;");
-
-_LIT(KSelectTempRow4, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
-_LIT(KSelectTempRow3, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRow2, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRow1, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRowLatest, "SELECT data FROM monitorstore_temp ORDER BY date DESC LIMIT 1;");
-
-_LIT(KCount, "SELECT COUNT(*) FROM monitorstore;");
-_LIT(KPrune, "DELETE FROM monitorstore WHERE ROWID IN (SELECT rowid FROM monitorstore ORDER BY date LIMIT 100)");
-
-_LIT(KBegin, "BEGIN;");
-_LIT(KCommit, "COMMIT;");
-_LIT(KCopy, "INSERT OR REPLACE INTO monitorstore SELECT * FROM monitorstore_temp;");
-_LIT(KClear, "DELETE FROM monitorstore_temp;");
-
-_LIT(KMcc, ":mcc");
-_LIT(KMnc, ":mnc");
-_LIT(KLac, ":lac");
-_LIT(KCid, ":cid");
-_LIT(KData, ":data");
-_LIT(KStamp, ":timestamp");
-
-_LIT(KDataColumn, "data");
-_LIT(KCountColumn, "COUNT(*)");
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBS_LOCMONITORDBENGINEDEFS_H
+#define LBS_LOCMONITORDBENGINEDEFS_H
+
+const TInt KTempFlushSize = 50;
+const TInt KMaxDbSize = 1000;
+
+const TTimeIntervalMicroSeconds32 KInitialPeriod = 200000000;
+const TTimeIntervalSeconds KFlushPeriod = 7200; // 2 Hours in seconds
+
+
+#if defined (LBS_LOCMONITORDB_TEST) && defined (__WINS__)  // Unit test emulator
+_LIT(KSecureLocMonDB, "C:\\lastknownlocarea.db");
+#elif defined (LBS_LOCMONITORDB_TEST) && !defined (__WINSCW__) // Unit test hw
+_LIT(KSecureLocMonDB, "E:\\lastknownlocarea.db");
+#else // production code
+_LIT(KSecureLocMonDB, "[102869DF]lastknownlocarea.db");
+#endif
+
+_LIT(KCreateTable, "CREATE TABLE monitorstore (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
+_LIT(KCreateLastPosTable, "CREATE TABLE lastpos (rowid INTEGER PRIMARY KEY ASC, date INTEGER, data TEXT);");
+
+_LIT(KCreateIndex4, "CREATE UNIQUE INDEX four_idx1 ON monitorstore(mcc,mnc,lac,cid);");
+_LIT(KCreateIndex3, "CREATE INDEX three_idx1 ON monitorstore(mcc,mnc,lac);");
+
+_LIT(KCreateTempTable, "CREATE TEMP TABLE monitorstore_temp (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
+_LIT(KCreateLastPosTempTable, "CREATE TEMP TABLE lastpos_temp (date INTEGER, data TEXT);");
+_LIT(KCreateTempIndex4, "CREATE UNIQUE INDEX four_temp_idx1 ON monitorstore_temp(mcc,mnc,lac,cid);");
+
+_LIT(KUpsertRow, "INSERT OR REPLACE INTO monitorstore_temp (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
+_LIT(KUpsertLastPosRow, "INSERT OR REPLACE INTO lastpos_temp (rowid, date, data) VALUES (1, :timestamp, :data);");
+//_LIT(KUpsertRowActual, "INSERT OR REPLACE INTO monitorstore (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
+//_LIT(KUpsertLastPosRowActual, "INSERT OR REPLACE INTO lastpos (rowid, date, data) VALUES (1, :timestamp, :data);");
+
+_LIT(KSelectRow4, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
+_LIT(KSelectRow3, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRow2, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRow1, "SELECT data FROM monitorstore WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRowLatest, "SELECT data FROM lastpos ORDER BY date DESC LIMIT 1;");
+
+_LIT(KSelectTempRow4, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
+_LIT(KSelectTempRow3, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRow2, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRow1, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRowLatest, "SELECT data FROM lastpos_temp ORDER BY date DESC LIMIT 1;");
+
+_LIT(KCount, "SELECT COUNT(*) FROM monitorstore;");
+_LIT(KPrune, "DELETE FROM monitorstore WHERE ROWID IN (SELECT rowid FROM monitorstore ORDER BY date LIMIT 100)");
+
+_LIT(KBegin, "BEGIN;");
+_LIT(KCommit, "COMMIT;");
+_LIT(KCopy, "INSERT OR REPLACE INTO monitorstore SELECT * FROM monitorstore_temp;");
+_LIT(KLastPosCopy, "INSERT OR REPLACE INTO lastpos SELECT rowid, date, data FROM lastpos_temp limit 1;");
+_LIT(KClear, "DELETE FROM monitorstore_temp;");
+_LIT(KLastPosClear, "DELETE FROM lastpos_temp;");
+
+_LIT(KMcc, ":mcc");
+_LIT(KMnc, ":mnc");
+_LIT(KLac, ":lac");
+_LIT(KCid, ":cid");
+_LIT(KData, ":data");
+_LIT(KStamp, ":timestamp");
+
+_LIT(KDataColumn, "data");
+_LIT(KCountColumn, "COUNT(*)");
+
+#endif
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorserverdata.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/lbslocmonitorserverdata.h	Fri May 28 18:01:03 2010 +0100
@@ -1,115 +1,132 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
-@file
-@internalComponent
-@released
-*/
-
-#include "lbsmessageenums.h"
-
-#ifndef LBSLOCMONITORSERVERDATA_H
-#define LBSLOCMONITORSERVERDATA_H
-
-/**
- * Define the file and process name of the Location Monitor
- */
-_LIT(KLocMonitorExeName, "\\sys\\bin\\locationmonitor.exe");
-_LIT(KLocMonitorServerName, "locationmonitor.exe");
-
-/* Current version number of the Network Request Handler Server.
-*/
-const TInt8 KLbsLocMonitorMajorVersionNumber 	= 1;
-const TInt8 KLbsLocMonitorMinorVersionNumber 	= 0;
-const TInt16 KLbsLocMonitorBuildVersionNumber	= 0;
-
-
-// IDs for IPC messages for Location Monitor server sessions and subsessions
-// (these are in addition to the IDs used by the LBS Server Framework that 
-// are defined in lbsmessageenums.h)
-//
-// As the Location Monitor uses the Server Framework, the opcodes for its sessions
-// must be in the range [(ESecureSubSessionBaseClose + 1) - (ELastSessionMessageId-1)]
-// and opcodes for subsessions must be greater than ELastSessionMessageId 
-// (ELastSessionMessageId = KMaxInt32/2 = Decimal 16383 = 0x3FFFFFFF).
-// 
-enum ELbsLocMonitorMsgEnums
-	{
-	
-	// Start of IDs for IPC messages for sessions of the Location Monitor 
-	// 
-	ELocMonitorSessionFirstMsgId =		ESecureSubSessionBaseClose + 1,
-
-	EWipeOutDb =		ELocMonitorSessionFirstMsgId,
-	ECancelDbWipeOut =	ELocMonitorSessionFirstMsgId + 1,
-	
-	// Start of IDs for IPC messages for subsessions of the Location Monitor
-	// of the type RLbsLocMonitorAreaPositioner.
-	//
-	// Any new RLbsLocMonitorAreaPositioner message IDs should be added between 
-	// EAreaPositionerFirstMsgId and 
-	// EAreaPositionerLastMsgId.
-	EAreaPositionerFirstMsgId =			ELastSessionMessageId + 1,
-	
-	ESetLastKnownPosition = 			EAreaPositionerFirstMsgId,
-	EGetLastKnownPosition =			 	EAreaPositionerFirstMsgId + 1,
-	EGetLastKnownPositionArea =		 	EAreaPositionerFirstMsgId + 2,
-	ECancelGetLastKnownPosition =	 	EAreaPositionerFirstMsgId + 3,
-	ECancelGetLastKnownPositionArea =	EAreaPositionerFirstMsgId + 4,
-
-	// Add here any new message IDs for subsession type AreaPositioner
-	EAreaPositionerLastMessageId,
-
-	// Add below message IDs for new subsession types
-	};
-
-/* Enum that defines the types of subsession
-   supported by the Location Monitor.
-   
-   One of these is passed in as the first
-   RMessage2 argument when creating a sub-session.
-*/
-enum TLbsLocMonitorSubSessionType
-	{
-	ELocMonitorSubSessionTypeUnknown = 0,
-	ELocMonitorSubSessionTypeAreaPositioner,
-	};
-
-/* Initialisation data sent to the Location Monitor server
-   when creating a new Area Positioner subsession.
-*/
-class TLbsLocMonitorAreaPositionerData
-	{
-public:
-	TInt iUnused; /* Reserved for future use */
-	};
-
-/*
-	Parameters sent from client to server in a 
-	GetLastKnownPositionArea request
-*/
-class TPosAreaReqParams
-	{
-public:
-	TUint32 iPositionAreaType;
-	};	
-	
-
-#endif // LBSLOCMONITORSERVERDATA_H
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#include "lbsmessageenums.h"
+
+#ifndef LBSLOCMONITORSERVERDATA_H
+#define LBSLOCMONITORSERVERDATA_H
+
+/**
+ * Define the file and process name of the Location Monitor
+ */
+_LIT(KLocMonitorExeName, "\\sys\\bin\\locationmonitor.exe");
+_LIT(KLocMonitorServerName, "locationmonitor.exe");
+
+/* Current version number of the Network Request Handler Server.
+*/
+const TInt8 KLbsLocMonitorMajorVersionNumber 	= 1;
+const TInt8 KLbsLocMonitorMinorVersionNumber 	= 0;
+const TInt16 KLbsLocMonitorBuildVersionNumber	= 0;
+
+
+// IDs for IPC messages for Location Monitor server sessions and subsessions
+// (these are in addition to the IDs used by the LBS Server Framework that 
+// are defined in lbsmessageenums.h)
+//
+// As the Location Monitor uses the Server Framework, the opcodes for its sessions
+// must be in the range [(ESecureSubSessionBaseClose + 1) - (ELastSessionMessageId-1)]
+// and opcodes for subsessions must be greater than ELastSessionMessageId 
+// (ELastSessionMessageId = KMaxInt32/2 = Decimal 16383 = 0x3FFFFFFF).
+// 
+enum ELbsLocMonitorMsgEnums
+	{
+	
+	// Start of IDs for IPC messages for sessions of the Location Monitor 
+	// 
+	ELocMonitorSessionFirstMsgId =		ESecureSubSessionBaseClose + 1,
+
+	EWipeOutDb =		ELocMonitorSessionFirstMsgId,
+	ECancelDbWipeOut =	ELocMonitorSessionFirstMsgId + 1,
+	
+	// Start of IDs for IPC messages for subsessions of the Location Monitor
+	// of the type RLbsLocMonitorAreaPositioner.
+	//
+	// Any new RLbsLocMonitorAreaPositioner message IDs should be added between 
+	// EAreaPositionerFirstMsgId and 
+	// EAreaPositionerLastMsgId.
+	EAreaPositionerFirstMsgId =			ELastSessionMessageId + 1,
+	
+	ESetLastKnownPosition = 			EAreaPositionerFirstMsgId,
+	EGetLastKnownPosition =			 	EAreaPositionerFirstMsgId + 1,
+	EGetLastKnownPositionArea =		 	EAreaPositionerFirstMsgId + 2,
+	ECancelGetLastKnownPosition =	 	EAreaPositionerFirstMsgId + 3,
+	ECancelGetLastKnownPositionArea =	EAreaPositionerFirstMsgId + 4,
+	
+	EConvertSingleLocationInfoBufferSize = EAreaPositionerFirstMsgId + 5,
+    EGetSingleLocationInfo = EAreaPositionerFirstMsgId + 6,
+    EConvertMultipleLocationInfoBufferSize = EAreaPositionerFirstMsgId + 7,
+    EGetMultipleLocationInfo = EAreaPositionerFirstMsgId + 8,
+    ECancelConvertLocationInfo = EAreaPositionerFirstMsgId + 9,
+	
+	// Add here any new message IDs for subsession type AreaPositioner
+	EAreaPositionerLastMessageId,
+
+	// Add below message IDs for new subsession types
+	};
+
+/* Enum that defines the types of subsession
+   supported by the Location Monitor.
+   
+   One of these is passed in as the first
+   RMessage2 argument when creating a sub-session.
+*/
+enum TLbsLocMonitorSubSessionType
+	{
+	ELocMonitorSubSessionTypeUnknown = 0,
+	ELocMonitorSubSessionTypeAreaPositioner,
+	ELocMonitorSubSessionTypeConversionPositiner,
+	ELocMonitorSubSessionTypeLocInfoConverter,
+	};
+
+/* Initialisation data sent to the Location Monitor server
+   when creating a new Area Positioner subsession.
+*/
+class TLbsLocMonitorAreaPositionerData
+	{
+public:
+	TInt iUnused; /* Reserved for future use */
+	};
+
+/* Initialisation data sent to the Location Monitor server
+   when creating a new conversion Positioner subsession.
+*/
+class TLbsLocMonitorConversionPositionerData
+    {
+public:
+    TInt iUnused; /* Reserved for future use */
+    };
+
+/*
+	Parameters sent from client to server in a 
+	GetLastKnownPositionArea request
+*/
+class TPosAreaReqParams
+	{
+public:
+	TUint32 iPositionAreaType;
+	};	
+	
+
+#endif // LBSLOCMONITORSERVERDATA_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/locmonitorsettingskeys.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 cenrep keys of location monitor
+*
+*/
+
+
+#ifndef LOCMONITORSETTINGSKEYS_H
+#define LOCMONITORSETTINGSKEYS_H
+
+// CONSTANTS
+
+// ENUMERATION FOR CENTRAL REPOSITORY KEYS
+enum TCenRepKeys
+	{
+	EPhoneVendorId = 0x00000001,
+	};
+
+// CENTRAL REPOSITORY UID
+const TUid KCRUidLocMonitorSettings = {0x20026814};
+
+
+#endif // LOCMONITORSETTINGSKEYS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/mlbsconversioncompleteobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef MLBSCONVERSIONCOMPLETEOBSERVER_H_
+#define MLBSCONVERSIONCOMPLETEOBSERVER_H_
+
+// Forward declarations
+class CLbsLocMonitorConversionHandler;
+
+/**
+ * Class that needs to implement this interface to listen
+ * to conversion complete event from the handler.
+ *
+ */
+class MLbsConversionCompleteObserver 
+    {
+public:
+    virtual void HandleConversionComplete(CLbsLocMonitorConversionHandler*
+                                           aConversionHandler) = 0;
+    };
+
+
+#endif /*MLBSCONVERSIONCOMPLETEOBSERVER_H_*/
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/mlbslocmonitorareainfofinderobserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/mlbslocmonitorareainfofinderobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,45 +1,45 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
-#define MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
-
-#include "tserverstartparams.h"
-#include "LbsInternalInterface.h"
-#include "LbsLogger.h"
-#include "lbslocmonitorareainfodefs.h"
-
-
-/**
-Mix-in class that all observers of a CLbsLocMonitorAreaInfoFinder
-objects will derive from in order to obtain updates on area information
-(e.g, global cell id)
-
-@internalComponent
-@released
-*/
-class MLbsLocMonitorAreaInfoFinderObserver
-	{
-	
-public:
-
-	virtual void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo) = 0;
-
-	};
-	
-#endif //MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+#define MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+
+#include "tserverstartparams.h"
+#include "LbsInternalInterface.h"
+#include "LbsLogger.h"
+#include "lbslocmonitorareainfodefs.h"
+
+
+/**
+Mix-in class that all observers of a CLbsLocMonitorAreaInfoFinder
+objects will derive from in order to obtain updates on area information
+(e.g, global cell id)
+
+@internalComponent
+@released
+*/
+class MLbsLocMonitorAreaInfoFinderObserver
+	{
+	
+public:
+
+	virtual void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo) = 0;
+
+	};
+	
+#endif //MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/rlbslocmonitordb.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/rlbslocmonitordb.h	Fri May 28 18:01:03 2010 +0100
@@ -1,54 +1,54 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBS_LOCMONITORDB_H
-#define LBS_LOCMONITORDB_H
-
-
-//-------------------------------------------------------------------------------
-#include <e32base.h>
-#include <lbspositioninfo.h> 
-#include <lbscommon.h>
-#include <lbsareainfo.h>
-#include "lbslocmonitorareainfodefs.h"
-
-class CLbsLocMonitorDbEngine;
-//-------------------------------------------------------------------------------
-
-class RLbsLocMonitorDb
-	{
-public:		
-	RLbsLocMonitorDb();
-	~RLbsLocMonitorDb();
-	void OpenL();
-	void Close();
-	TInt SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TRequestStatus& aStatus);
-	TInt CancelSavePosition();
-	TInt GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
-	TInt CancelGetPosition();
-	TInt GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus);
-	TInt CancelGetLastStoredPosition();
-	TInt ClearDatabase();
-	
-private:
-	CLbsLocMonitorDbEngine* iDbEngine;
-	};
-
-
-
-#endif //LBS_LOCATIONMONITORDATABASE_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBS_LOCMONITORDB_H
+#define LBS_LOCMONITORDB_H
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+#include <lbspositioninfo.h> 
+#include <lbscommon.h>
+#include <lbsareainfo.h>
+#include "lbslocmonitorareainfodefs.h"
+
+class CLbsLocMonitorDbEngine;
+//-------------------------------------------------------------------------------
+
+class RLbsLocMonitorDb
+	{
+public:		
+	RLbsLocMonitorDb();
+	~RLbsLocMonitorDb();
+	void OpenL();
+	void Close();
+	TInt SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TBool aUserPosition, TRequestStatus& aStatus);
+	TInt CancelSavePosition();
+	TInt GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
+	TInt CancelGetPosition();
+	TInt GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus);
+	TInt CancelGetLastStoredPosition();
+	TInt ClearDatabase();
+	
+private:
+	CLbsLocMonitorDbEngine* iDbEngine;
+	};
+
+
+
+#endif //LBS_LOCATIONMONITORDATABASE_H
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbsareapositionersubsession.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbsareapositionersubsession.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,199 +1,199 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <lbsposition.h>
-#include "clbsareapositionersubsession.h"
-#include "lbslocmonitorserverdata.h"
-#include "clbslocmonitorutils.h"
-#include "lbsdevloggermacros.h"
-
-
-//-------------------------------------------------------------------------------
-// Methods called by the Server Framework for subsession creation and destruction
-// ------------------------------------------------------------------------------
-
-//
-// Called by the Server Framework when the subsession is
-// closed by the client or otherwise destroyed (i.e. if the
-// owning session is closed).
-// 
-void CLbsAreaPositionerSubsession::VirtualRelease()
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::VirtualRelease()");
-	delete this;
-	}
-
-// Called by the server framework after creating this object
-// in CSubSessionBase::GetImplL
-void CLbsAreaPositionerSubsession::CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer)
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CreateSubSessionL()");
-	iLocMonitorServer = reinterpret_cast<const CLbsLocMonitorServer*>(aServer);
-	
-	// set ourselves as an observer of server destruction
-	CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);
-	server->SetLocMonServerDestructObserverL(*this);
-	
-	iSubsessionId.iSessionPtr = static_cast<CLbsLocMonitorSession*>(aMessage.Session());
-	
-	TInt subsessionId;
-	TPckg<TInt> subsessionIdBuf(subsessionId);
-	User::LeaveIfError(aMessage.Read(3, subsessionIdBuf));
-	
-	iSubsessionId.iSubsessionId = subsessionId;
-	}
-
-// Called by the Server Framework on sub-session closure
-void CLbsAreaPositionerSubsession::CloseSubSession()
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CloseSubSession()");
-	
-	// The server should not have been destroyed at this point
-	__ASSERT_DEBUG(iLocMonitorServer, User::Invariant());
-	// Release anything allocated in CreateSubSessionL.
-    // remove ourselves as an observer of server destruction
-    CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);    
-    server->UnsetLocMonServerDestructObserver(*this); 
-	}	
-
-
-void CLbsAreaPositionerSubsession::DispatchL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::DispatchL()");
-	switch(aMessage.Function())
-		{
-		case ESetLastKnownPosition:
-			SetLastKnownPositionL(aMessage);
-			break;
-		case EGetLastKnownPosition:
-		case EGetLastKnownPositionArea:
-			GetPositionL(aMessage);
-			break;
-		case ECancelGetLastKnownPosition:
-		case ECancelGetLastKnownPositionArea:
-			CancelGetPositionL(aMessage);
-			break;
-		default:
-			__ASSERT_DEBUG(EFalse, User::Invariant());
-			break;
-		}
-	}
-	
-void CLbsAreaPositionerSubsession::DispatchError(const RMessage2& /*aMessage*/, TInt /*aError*/)
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::DispatchError()");
-	// errors from DispatchL end up in here
-	}
-
-// -----------------------------------------------------------------------------
-// Construction/Destruction methods not directly called by the Server framework
-//------------------------------------------------------------------------------
-
-CLbsAreaPositionerSubsession::CLbsAreaPositionerSubsession()
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CLbsAreaPositionerSubsession()");
-	}
-
-CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession()
-	{
-	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession");		
-
-	if(iLocMonitorServer)
-	    {
-        // Tell the DB reader that this subsession is being deleted
-        // so that if there are any outanding requests from this session
-        // they are terminated with KErrServerTerminated.
-        iLocMonitorServer->ReadRequestHandler().ClientTerminated(iSubsessionId);
-        // remove ourselves as an observer of server destruction
-        CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);    
-        server->UnsetLocMonServerDestructObserver(*this);        
-	    }
-	
-	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession");
-	}
-
-CLbsAreaPositionerSubsession* CLbsAreaPositionerSubsession::NewL()
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::NewL()");
-	CLbsAreaPositionerSubsession* self = new (ELeave) CLbsAreaPositionerSubsession;
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-void CLbsAreaPositionerSubsession::ConstructL()
-	{
-	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::ConstructL()");
-	// Nothing to do
-	}
-
-void CLbsAreaPositionerSubsession::LocMonServerDestructed()
-    {
-    iLocMonitorServer = NULL;
-    }
-
-
-//-------------------------------------------------------------------------
-// 							Action methods
-// (These method just relay the client request to a database writer or 
-//  reader where requests of the same type are either serialized or  
-// 	merged into a single call to the database)
-//-------------------------------------------------------------------------
-
-/*
-Called when a a client (e.g. Location Server) has a position that wants to
-add to the database.
-*/
-void CLbsAreaPositionerSubsession::SetLastKnownPositionL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::SetLastKnownPositionL");
-
-	// Read the position
-	TPosition position;
-	TPckg<TPosition> positionPkg(position);
-	aMessage.ReadL(0, positionPkg, 0);
-	
-	// Complete the call 
-	aMessage.Complete(KErrNone);
-	
-	// Pass the message on to the database writer
-	iLocMonitorServer->ReadRequestHandler().StoreLastKnownPosition(position);
-
-	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::SetLastKnownPositionL");
-	}
-
-void CLbsAreaPositionerSubsession::GetPositionL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::GetPositionL");		
-	
-	iLocMonitorServer->ReadRequestHandler().PositionRequestL(aMessage);
-	
-	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::GetPositionL");	
-	}
-	
-
-void CLbsAreaPositionerSubsession::CancelGetPositionL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::CancelGetPositionL");		
-
-	iLocMonitorServer->ReadRequestHandler().CancelPositionRequestL(aMessage);
-
-	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::CancelGetPositionL");	
-	}
-
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <lbsposition.h>
+#include "clbsareapositionersubsession.h"
+#include "lbslocmonitorserverdata.h"
+#include "clbslocmonitorutils.h"
+#include "lbsdevloggermacros.h"
+
+
+//-------------------------------------------------------------------------------
+// Methods called by the Server Framework for subsession creation and destruction
+// ------------------------------------------------------------------------------
+
+//
+// Called by the Server Framework when the subsession is
+// closed by the client or otherwise destroyed (i.e. if the
+// owning session is closed).
+// 
+void CLbsAreaPositionerSubsession::VirtualRelease()
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::VirtualRelease()");
+	delete this;
+	}
+
+// Called by the server framework after creating this object
+// in CSubSessionBase::GetImplL
+void CLbsAreaPositionerSubsession::CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer)
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CreateSubSessionL()");
+	iLocMonitorServer = reinterpret_cast<const CLbsLocMonitorServer*>(aServer);
+	
+	// set ourselves as an observer of server destruction
+	CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);
+	server->SetLocMonServerDestructObserverL(*this);
+	
+	iSubsessionId.iSessionPtr = static_cast<CLbsLocMonitorSession*>(aMessage.Session());
+	
+	TInt subsessionId;
+	TPckg<TInt> subsessionIdBuf(subsessionId);
+	User::LeaveIfError(aMessage.Read(3, subsessionIdBuf));
+	
+	iSubsessionId.iSubsessionId = subsessionId;
+	}
+
+// Called by the Server Framework on sub-session closure
+void CLbsAreaPositionerSubsession::CloseSubSession()
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CloseSubSession()");
+	
+	// The server should not have been destroyed at this point
+	__ASSERT_DEBUG(iLocMonitorServer, User::Invariant());
+	// Release anything allocated in CreateSubSessionL.
+    // remove ourselves as an observer of server destruction
+    CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);    
+    server->UnsetLocMonServerDestructObserver(*this); 
+	}	
+
+
+void CLbsAreaPositionerSubsession::DispatchL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::DispatchL()");
+	switch(aMessage.Function())
+		{
+		case ESetLastKnownPosition:
+			SetLastKnownPositionL(aMessage);
+			break;
+		case EGetLastKnownPosition:
+		case EGetLastKnownPositionArea:
+			GetPositionL(aMessage);
+			break;
+		case ECancelGetLastKnownPosition:
+		case ECancelGetLastKnownPositionArea:
+			CancelGetPositionL(aMessage);
+			break;
+		default:
+			__ASSERT_DEBUG(EFalse, User::Invariant());
+			break;
+		}
+	}
+	
+void CLbsAreaPositionerSubsession::DispatchError(const RMessage2& /*aMessage*/, TInt /*aError*/)
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::DispatchError()");
+	// errors from DispatchL end up in here
+	}
+
+// -----------------------------------------------------------------------------
+// Construction/Destruction methods not directly called by the Server framework
+//------------------------------------------------------------------------------
+
+CLbsAreaPositionerSubsession::CLbsAreaPositionerSubsession()
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CLbsAreaPositionerSubsession()");
+	}
+
+CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession()
+	{
+	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession");		
+
+	if(iLocMonitorServer)
+	    {
+        // Tell the DB reader that this subsession is being deleted
+        // so that if there are any outanding requests from this session
+        // they are terminated with KErrServerTerminated.
+        iLocMonitorServer->ReadRequestHandler().ClientTerminated(iSubsessionId);
+        // remove ourselves as an observer of server destruction
+        CLbsLocMonitorServer* server = const_cast<CLbsLocMonitorServer*>(iLocMonitorServer);    
+        server->UnsetLocMonServerDestructObserver(*this);        
+	    }
+	
+	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::~CLbsAreaPositionerSubsession");
+	}
+
+CLbsAreaPositionerSubsession* CLbsAreaPositionerSubsession::NewL()
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::NewL()");
+	CLbsAreaPositionerSubsession* self = new (ELeave) CLbsAreaPositionerSubsession;
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CLbsAreaPositionerSubsession::ConstructL()
+	{
+	LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::ConstructL()");
+	// Nothing to do
+	}
+
+void CLbsAreaPositionerSubsession::LocMonServerDestructed()
+    {
+    iLocMonitorServer = NULL;
+    }
+
+
+//-------------------------------------------------------------------------
+// 							Action methods
+// (These method just relay the client request to a database writer or 
+//  reader where requests of the same type are either serialized or  
+// 	merged into a single call to the database)
+//-------------------------------------------------------------------------
+
+/*
+Called when a a client (e.g. Location Server) has a position that wants to
+add to the database.
+*/
+void CLbsAreaPositionerSubsession::SetLastKnownPositionL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::SetLastKnownPositionL");
+
+	// Read the position
+	TPosition position;
+	TPckg<TPosition> positionPkg(position);
+	aMessage.ReadL(0, positionPkg, 0);
+	
+	// Complete the call 
+	aMessage.Complete(KErrNone);
+	
+	// Pass the message on to the database writer
+	iLocMonitorServer->ReadRequestHandler().StoreLastKnownPosition(position);
+
+	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::SetLastKnownPositionL");
+	}
+
+void CLbsAreaPositionerSubsession::GetPositionL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::GetPositionL");		
+	
+	iLocMonitorServer->ReadRequestHandler().PositionRequestL(aMessage);
+	
+	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::GetPositionL");	
+	}
+	
+
+void CLbsAreaPositionerSubsession::CancelGetPositionL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsAreaPositionerSubsession::CancelGetPositionL");		
+
+	iLocMonitorServer->ReadRequestHandler().CancelPositionRequestL(aMessage);
+
+	LBSLOG(ELogP1,"<-CLbsAreaPositionerSubsession::CancelGetPositionL");	
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbsconversionpositionersubsession.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "clbsconversionpositionersubsession.h"
+#include "lbslocmonitorserverdata.h"
+#include "clbslocmonitorutils.h"
+#include "clbslocmonitorserver.h"
+#include "lbsdevloggermacros.h"
+#include "clbslocmonitorconversionhandler.h"
+#include "lbslocmonitorclientconsts.h"
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::NewL
+//
+//-----------------------------------------------------------------------------
+CLbsConversionPositionerSubsession* CLbsConversionPositionerSubsession::NewL()
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::NewL()");
+    CLbsConversionPositionerSubsession* self = new (ELeave) CLbsConversionPositionerSubsession;
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::~CLbsConversionPositionerSubsession
+//------------------------------------------------------------------------------
+CLbsConversionPositionerSubsession::CLbsConversionPositionerSubsession()
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::CLbsConversionPositionerSubsession()");
+    }
+
+// -----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::ConstructL
+//------------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::ConstructL()
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::ConstructL()");
+    // Nothing to do
+    }
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::~CLbsConversionPositionerSubsession
+//
+//-----------------------------------------------------------------------------
+CLbsConversionPositionerSubsession::~CLbsConversionPositionerSubsession()
+    {
+    LBSLOG(ELogP1,"->CLbsConversionPositionerSubsession::~CLbsConversionPositionerSubsession");     
+
+    // Tell the DB reader that this subsession is being deleted
+    // so that if there are any outanding requests from this session
+    // they are terminated with KErrServerTerminated.
+    iLocMonitorServer->ReadRequestHandler().ClientTerminated(iSubsessionId);
+
+    LBSLOG(ELogP1,"<-CLbsConversionPositionerSubsession::~CLbsConversionPositionerSubsession");
+    }
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::DispatchL
+//
+//-----------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::DispatchL(const RMessage2& aMessage)
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::DispatchL()");
+    switch(aMessage.Function())
+        {
+        case EConvertSingleLocationInfoBufferSize:
+        case EConvertMultipleLocationInfoBufferSize:
+            {
+            // Extract client preferences
+            TLbsClientPrefs clientPrefs; 
+            TPckg<TLbsClientPrefs> clientPrefsPckg(clientPrefs);
+            aMessage.ReadL(KParamClientPrefs,clientPrefsPckg);
+            
+            // If client has not specified any conversion plugin id, read the default 
+            // plugin from cenrep and load it.
+            TUid conversionPluginId;
+            if(clientPrefs.iConverterModuleId.iUid == KNullUidValue)
+                {
+                TInt error = iLocMonitorServer->PluginResolver()->DefaultConverterUid(
+                                                                  conversionPluginId);
+                if(error != KErrNone)
+                    {
+                    aMessage.Complete(error);
+                    return;
+                    }
+                }
+            else
+                {
+                conversionPluginId = clientPrefs.iConverterModuleId;
+                }
+            
+            CLbsLocMonitorConversionHandler* conversionHandler = 
+                                    iLocMonitorServer->ConversionHandlerL(conversionPluginId);
+            conversionHandler->GetConvertLocationInfoSizeL(aMessage);
+            break;
+            }
+            
+        case EGetSingleLocationInfo:
+        case EGetMultipleLocationInfo:
+            {
+            CLbsLocMonitorConversionHandler* conversionHandler = 
+                                                 iLocMonitorServer->ConversionHandler(aMessage);
+            
+            conversionHandler->GetConvertedLocationInfoL(aMessage);
+            break;
+            }
+            
+            
+            
+        case ECancelConvertLocationInfo:
+            {
+            CLbsLocMonitorConversionHandler* conversionHandler = 
+                                                 iLocMonitorServer->ConversionHandler(aMessage);
+            
+            // If there is no outstanding request from the subsession which requested cancel operation,
+            // complete the request.
+            if(conversionHandler)
+                {
+                conversionHandler->CancelLocationInfoConversionL(aMessage);
+                }
+            else
+                {
+                aMessage.Complete(KErrNone);
+                }
+            break;
+            }
+        default:
+            __ASSERT_DEBUG(EFalse, User::Invariant());
+            break;
+        }
+    }
+
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::DispatchError
+//
+//-----------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::DispatchError(const RMessage2& aMessage, 
+                                                        TInt aError)
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::DispatchError()");
+    // errors from DispatchL end up in here
+    aMessage.Complete(aError);
+    }
+
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::DispatchError
+//
+//-----------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::CreateSubSessionL(const RMessage2& aMessage, 
+                                                      const CSecureServerBase* aServer)
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::CreateSubSessionL()");
+    CSecureServerBase* server = const_cast<CSecureServerBase*> (aServer);
+    iLocMonitorServer = reinterpret_cast<CLbsLocMonitorServer*>(server);
+    iSubsessionId.iSessionPtr = static_cast<CLbsLocMonitorSession*>(aMessage.Session());
+    
+    TInt subsessionId;
+    TPckg<TInt> subsessionIdBuf(subsessionId);
+    User::LeaveIfError(aMessage.Read(3, subsessionIdBuf));
+    
+    iSubsessionId.iSubsessionId = subsessionId;
+    }
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::CloseSubSession
+//
+//-----------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::CloseSubSession()
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::CloseSubSession()");
+    // Release anything allocated in CreateSubSessionL.
+    // In this case  there is nothing to do.
+    }
+
+//----------------------------------------------------------------------------
+// CLbsConversionPositionerSubsession::VirtualRelease
+//
+//-----------------------------------------------------------------------------
+void CLbsConversionPositionerSubsession::VirtualRelease()
+    {
+    LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::VirtualRelease()");
+    delete this;
+    }
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorareainfofinder.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorareainfofinder.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,58 +1,58 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-	
-	
-#include <e32base.h>
-#include "lbsdevloggermacros.h"
-#include "clbslocmonitorareainfofinder.h"
-
-CLbsLocMonitorAreaInfoFinder::CLbsLocMonitorAreaInfoFinder():
-							  CActive(EPriorityStandard)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::CLbsLocMonitorAreaInfoFinder");
-	}
-
-CLbsLocMonitorAreaInfoFinder::~CLbsLocMonitorAreaInfoFinder()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::~CLbsLocMonitorAreaInfoFinder");
-	iObservers.Reset();
-	}
-
-void CLbsLocMonitorAreaInfoFinder::RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::RegisterObserverL");
-	iObservers.AppendL(&aObserver);
-	}
-
-
-/*
-This methods sends the aAreaUpdate to all of the observers. It is called by derived classes when
-they have new area information to pass on to the observers.
-*/
-void CLbsLocMonitorAreaInfoFinder::NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::NotifyObservers");
-	TInt index(0);
-	TInt count(iObservers.Count());
-	while (index < count)
-		{
-		iObservers[index]->AreaInfoUpdate(aAreaUpdate);
-		index++;
-		}
-	}
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+	
+	
+#include <e32base.h>
+#include "lbsdevloggermacros.h"
+#include "clbslocmonitorareainfofinder.h"
+
+CLbsLocMonitorAreaInfoFinder::CLbsLocMonitorAreaInfoFinder():
+							  CActive(EPriorityStandard)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::CLbsLocMonitorAreaInfoFinder");
+	}
+
+CLbsLocMonitorAreaInfoFinder::~CLbsLocMonitorAreaInfoFinder()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::~CLbsLocMonitorAreaInfoFinder");
+	iObservers.Reset();
+	}
+
+void CLbsLocMonitorAreaInfoFinder::RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::RegisterObserverL");
+	iObservers.AppendL(&aObserver);
+	}
+
+
+/*
+This methods sends the aAreaUpdate to all of the observers. It is called by derived classes when
+they have new area information to pass on to the observers.
+*/
+void CLbsLocMonitorAreaInfoFinder::NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorAreaInfoFinder::NotifyObservers");
+	TInt index(0);
+	TInt count(iObservers.Count());
+	while (index < count)
+		{
+		iObservers[index]->AreaInfoUpdate(aAreaUpdate);
+		index++;
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorconversionhandler.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,910 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CLbsLocMonitorConversionHandler class.
+*
+*/
+
+#include <s32mem.h>
+#include <ecom/ecom.h>
+#include <ecom/ImplementationInformation.h>
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+#include "clbslocmonitorconversionhandler.h"
+#include "lbslocmonitorclientconsts.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsdevloggermacros.h"
+
+
+
+// constants
+const TInt KCurrentRequestIndex = 0;
+const TInt KMaxBufferSize = 512;
+
+//TODO need to agree which core lbs header to put them in and names
+const TReal32 KWlanAccuracy = 100.0;
+const TReal32 KCellFullAccuracy = 3000.0;
+const TReal32 KCellLocationAccuracy = 30000.0;
+const TReal32 KCellCountryAccuracy = 1000000.0;
+
+
+
+void CleanUpResetAndDestroy(TAny* aArray)
+    {
+    static_cast<RLbsAreaInfoBaseArray*>(aArray)->ResetAndDestroy();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::NewL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocMonitorConversionHandler* CLbsLocMonitorConversionHandler::NewL(
+                                                MLbsConversionCompleteObserver& 
+                                                aConversionCompleteObserver,
+                                                TUid aConversionPluginUid)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::NewL()");
+    CLbsLocMonitorConversionHandler* self = new(ELeave)
+                                  CLbsLocMonitorConversionHandler( 
+                                  aConversionCompleteObserver);
+    CleanupStack::PushL(self);
+    self->ConstructL(aConversionPluginUid);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CLbsLocMonitorConversionHandler
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocMonitorConversionHandler::CLbsLocMonitorConversionHandler(
+                                                MLbsConversionCompleteObserver& 
+                                                aConversionCompleteObserver):
+                                                CActive(EPriorityStandard),
+                                                iConversionCompleteObserver(
+                                                aConversionCompleteObserver)
+                                                 
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::CLbsLocMonitorConversionHandler()");
+    CActiveScheduler::Add(this);
+    iBuffer = NULL;
+    iLocInfoConverterPlugIn = NULL;
+    iConversionPluginId = TUid::Uid(KNullUidValue);
+    iState = EStateIdle;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::~CLbsLocMonitorConversionHandler
+// (other items were commented in a header).
+//----------------------------------------------------------------
+CLbsLocMonitorConversionHandler::~CLbsLocMonitorConversionHandler()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::~CLbsLocMonitorConversionHandler()");
+    
+    iCachePartialResults.Reset();
+    iSubsetLocationInfoArray.Reset(); // NOT OWNED!
+    iLocationInfoArray.ResetAndDestroy();
+    
+    iValidationRequestQueue.Close();
+    
+    delete iLocInfoConverterPlugIn;
+    delete iBuffer;
+    iCache.Close();
+    // NewL of plugin internally uses REComSession to find implementations. 
+    // Hence it needs to be closed to avoid memory leak.
+    REComSession::FinalClose();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::ConstructL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::ConstructL(TUid aConversionPluginUid)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::ConstructL()");
+    LoadConversionPluginL(aConversionPluginUid);
+    iCache.OpenL();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::GetConvertLocationInfoSizeL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::GetConvertLocationInfoSizeL( 
+                                             const RMessage2& aMessage) 
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::GetConvertLocationInfoSizeL()");
+    iValidationRequestQueue.AppendL(aMessage);
+    
+    // If the message which is appended is the only message in the queue,
+    // send the necessary information of the message to the plug in for
+    // validation.
+    if(iValidationRequestQueue.Count() == 1)
+        {
+        iState = EStateValidation;
+        // Extract client preferences to get the requested info.
+        TLbsClientPrefs clientPrefs; 
+        TPckg<TLbsClientPrefs> clientPrefsPckg(clientPrefs);
+        aMessage.ReadL(KParamClientPrefs,clientPrefsPckg);
+        
+        iLocInfoConverterPlugIn->ValidateClient(aMessage.SecureId(),
+                                                 aMessage.VendorId(),
+                                                 clientPrefs.iRequestedInfo);
+        }
+    }
+        
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::ProcessRequestL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TInt CLbsLocMonitorConversionHandler::ProcessRequestL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::ProcessRequestL()");
+    // Reset the member variables.
+    iLocationInfoArray.ResetAndDestroy();
+    delete iBuffer;
+    iBuffer = NULL;
+    iState = EStateIdle;
+    
+    // Store secure id and subsession id of the request. This is required 
+    // to identify the next IPC that requests for actual data.
+    iCurrentRequestSecureId = iConversionRequest.SecureId();
+    iCurrentRequestSubsessionId = iConversionRequest.Int3();
+    
+    // Extract client preferences
+    TLbsClientPrefs clientPrefs; 
+    TPckg<TLbsClientPrefs> clientPrefsPckg(clientPrefs);
+    iConversionRequest.ReadL(KParamClientPrefs,clientPrefsPckg);
+    
+    // Store the client requested info.This is required to extract the 
+    // required information on conversion complete.
+    iRequestedInfo = clientPrefs.iRequestedInfo;
+    
+    // Extract the client specified location information
+    TInt dataSize = iConversionRequest.GetDesLength(KParamLocationInfo);
+    if (dataSize < 0)
+        {
+        CompleteRequest(iConversionRequest,KErrBadDescriptor);
+        return KErrBadDescriptor;
+        }
+    HBufC8* buffer = HBufC8::NewLC(dataSize);
+    TPtr8 ptrToBuf = buffer->Des();
+    iConversionRequest.ReadL(KParamLocationInfo, ptrToBuf);
+    
+    RDesReadStream stream(*buffer);
+    CleanupClosePushL(stream);
+    
+    TInt count;
+    // Read the number of location info object only incase of multiple conversion
+    if(iConversionRequest.Function() == EConvertMultipleLocationInfoBufferSize) 
+        {
+        count = stream.ReadInt8L();
+        }
+    else
+        {
+        // Incase of single location info conversion, count value is always one.
+        count = 1;
+        }
+    
+    for(TInt i = 0; i<count; i++)
+        {
+        CLbsLocationInfo* locationInfo = CLbsLocationInfo::NewL();
+        CleanupStack::PushL(locationInfo);
+        locationInfo->InternaliseL(stream);
+        CleanupStack::Pop(locationInfo);
+        iLocationInfoArray.AppendL(locationInfo);
+        }
+    
+    CleanupStack::PopAndDestroy(2); // stream,buffer
+    
+    iState = EStateConversion;
+    // Ask Cache,
+    // take different action depending on whether it has results for all our requests
+    if(CacheLookupL())
+        {
+        // Cache has supplied all positions. We can self complete now to pass result back to client
+        iState = EStateCacheSaveComplete;
+        }
+    else
+        {
+        // Cache did not have all the positions we wanted, must go to plugin
+        iLocInfoConverterPlugIn->ConvertLocationInfoL(iSubsetLocationInfoArray,
+                                                      clientPrefs.iConversionPrefs,
+                                                      clientPrefs.iRequestedInfo);
+        }
+    return KErrNone;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::LoadConversionPluginL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::LoadConversionPluginL(
+                                                    TUid aConversionModuleId)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::LoadConversionPluginL()");
+    TLbsLocInfoConverterPluginParams conversionPluginParam(*this);
+    
+    iLocInfoConverterPlugIn = CLbsLocInfoConverterPluginBase::NewL(
+                                aConversionModuleId,conversionPluginParam);
+    iConversionPluginId = aConversionModuleId;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::GetConvertLocationInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::GetConvertedLocationInfoL( 
+                                               const RMessage2& aMessage)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::GetConvertedLocationInfoL()");
+    TPtr8 ptr = iBuffer->Ptr(0);
+    aMessage.WriteL(KParamConvertedInfo,ptr);
+    aMessage.Complete(KErrNone);
+    
+    // This is the last step of a any location conversion. Hence request
+    // complete call needs to be called to process next request if any.
+    RequestCompleteL();
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::IsMessagePresent
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TBool CLbsLocMonitorConversionHandler::IsMessagePresent( 
+                                           const RMessage2& aMessage)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::IsMessagePresent()");
+    // Iterate through the validation request array to find the message.
+    // First element in the validation queue will the current request 
+    // under conversion.
+    for(TInt i=0;i<iValidationRequestQueue.Count();i++)
+        {
+        if(CompareMessage(iValidationRequestQueue[i],aMessage)) 
+            {
+            return ETrue;
+            }
+        }
+    return EFalse;
+    }
+    
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CancelLocationInfoConversionL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::CancelLocationInfoConversionL(
+                                          const RMessage2& aMessage)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::CancelLocationInfoConversionL()");
+    // Iterate through the queue to find the corresponding message 
+    // on which cancelled is called.
+    // If the cancel is called on the request under process, that 
+    // corresponding message should be cancelled else that message
+    // should be removed from the queue.
+    for(TInt i=0;i<iValidationRequestQueue.Count();i++)
+        {
+        if(CompareMessage(iValidationRequestQueue[i],aMessage))
+            {
+            // If the current request has been sent to validation or conversion, 
+            // we need to cancel it 
+            if(i == KCurrentRequestIndex)
+                {
+                // Cancel should be called on plugin based on current request.
+                switch(iState)
+                    {
+                    case EStateValidation:
+                        iLocInfoConverterPlugIn->CancelValidateClient();
+                        break;
+                    
+                    case EStateConversion:
+                        iLocInfoConverterPlugIn->CancelConvertLocationInfo();
+                        break;
+                     
+                    default:
+                        break;
+                    }
+                CompleteRequest(iValidationRequestQueue[i],KErrCancel);
+                Cancel();
+                RequestCompleteL();
+                }
+            else
+                {
+                RMessage2 message = iValidationRequestQueue[i];
+                iValidationRequestQueue.Remove(i);
+                message.Complete(KErrCancel);
+                }
+            aMessage.Complete(KErrNone);
+            return;
+            }
+        }
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::ConversionPluginUid
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TUid CLbsLocMonitorConversionHandler::ConversionPluginUid()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::ConversionPluginUid()");
+    return iConversionPluginId;
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::OnConversionComplete
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::OnConversionComplete(TInt aStatusCode)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::OnConversionComplete()");
+    // This is done to release the Plug-in's method from which this method 
+    // has been called.
+    TRequestStatus* statusPtr = &iStatus;
+    iStatus = KRequestPending;
+    SetActive();
+    User::RequestComplete(statusPtr,aStatusCode);
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::OnValidationComplete
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::OnValidationComplete(TInt aStatusCode)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::OnValidationComplete()");
+    // This is done to release the Plug-in's method from which this method 
+    // has been called.
+    TRequestStatus* statusPtr = &iStatus;
+    iStatus = KRequestPending;
+    SetActive();
+    User::RequestComplete(statusPtr,aStatusCode);
+    }
+
+
+void CLbsLocMonitorConversionHandler::WriteResultToBufferL()
+    {
+    iBuffer = CBufFlat::NewL(KMaxBufferSize);
+    RBufWriteStream writeStream;
+    writeStream.Open(*iBuffer);
+    CleanupClosePushL(writeStream);
+    
+    // Write the count only if multiple conversion was requested by client.
+    if(iConversionRequest.Function() == EConvertMultipleLocationInfoBufferSize)
+        {
+        writeStream.WriteInt8L(iLocationInfoArray.Count());
+        }
+    
+    switch(iRequestedInfo)
+        {
+        case ELbsConversionOutputPosition:
+            WriteAreaInfoL(writeStream,CLbsLocationInfo::ELbsPosInfo);
+            break;
+            
+        case ELbsConversionOutputGsm:
+            WriteAreaInfoL(writeStream,CLbsLocationInfo::ELbsGsmInfo);
+            break;
+            
+        case ELbsConversionOutputWcdma:
+            WriteAreaInfoL(writeStream,CLbsLocationInfo::ELbsWcdmaInfo);
+            break;
+            
+        case ELbsConversionOutputWlan:
+            WriteAreaInfoL(writeStream,CLbsLocationInfo::ELbsWlanInfo);
+            break;
+        
+        default:
+            break;
+        }
+    
+    writeStream.CommitL();
+    CleanupStack::PopAndDestroy(&writeStream);
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::RunL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::RunL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::RunL()");
+    TBool cacheSaveComplete = EFalse;
+    switch(iState)
+        {
+        case EStateValidation:
+            {
+            // This validation result corresponds to the first request in the validation 
+            // queue.
+            iConversionRequest = iValidationRequestQueue[KCurrentRequestIndex];
+            if(iStatus.Int() == KErrNone)
+                {
+                // On successful validation, process the request
+                ProcessRequestL();
+                }
+            else
+                {
+                iConversionRequest.Complete(iStatus.Int());
+                RequestCompleteL();
+                }
+            break;
+            }
+        case EStateConversion:
+            {
+            if(iStatus.Int() == KErrNone)
+                {
+                //First we loop through comparing accuracies to any partial results we may have had
+                FillInPartialL();
+                
+                TLbsConversionPluginInfo pluginPreferences; 
+                iLocInfoConverterPlugIn->ConversionPluginPreferences(pluginPreferences);
+                
+                // Then save all things we are allowed to, to the cache
+                if(pluginPreferences.IsPluginPositionToBeCached())
+                    {
+                    iSavedToCacheCount = 0;
+                    cacheSaveComplete = CacheSaveL();
+                    if(cacheSaveComplete)
+                        {
+                        iState = EStateCacheSaveComplete;
+                        }
+                    }
+                else
+                    {
+                    WriteResultToBufferL();
+                    
+                    // Send the required buffer size to the client.
+                    TInt size = iBuffer->Size();
+                    TPckg<TInt> sizePckg(size);
+                    iConversionRequest.WriteL(KParamBufferSize,sizePckg);
+                    CompleteRequest(iConversionRequest,KErrNone);
+                    }
+                }
+            else 
+                {
+                // Since there is error in conversion, server dont receive  
+                // any call to retrieve converted info.Hence we need to 
+                // remove the current request.
+                CompleteRequest(iConversionRequest,iStatus.Int());
+                RequestCompleteL();
+                }
+            break;
+            }
+        case EStateCacheSave:
+            {
+            cacheSaveComplete = CacheSaveL();
+            if(cacheSaveComplete)
+                {
+                iState = EStateCacheSaveComplete;
+                }
+            break;
+            }
+        case EStateCacheSaveComplete:
+            {
+            // fall through
+            break;
+            }
+        default:
+            {
+            User::Invariant();
+            }
+        }
+    if(iState == EStateCacheSaveComplete)
+        {
+        WriteResultToBufferL();
+        
+        // Send the required buffer size to the client.
+        TInt size = iBuffer->Size();
+        TPckg<TInt> sizePckg(size);
+        iConversionRequest.WriteL(KParamBufferSize,sizePckg);
+        CompleteRequest(iConversionRequest,KErrNone);
+        }
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::RequestCompleteL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::RequestCompleteL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::RequestCompleteL()");
+    // Remove the completed conversion request.
+    iValidationRequestQueue.Remove(KCurrentRequestIndex);
+    
+    // Process the next the request in the queue incase any.
+    if(iValidationRequestQueue.Count())
+        {
+        iState = EStateValidation;
+        // Extract client preferences to get the requested info.
+        TLbsClientPrefs clientPrefs; 
+        TPckg<TLbsClientPrefs> clientPrefsPckg(clientPrefs);
+        iValidationRequestQueue[KCurrentRequestIndex].ReadL(KParamClientPrefs,clientPrefsPckg);
+        
+        iLocInfoConverterPlugIn->ValidateClient( 
+                    iValidationRequestQueue[KCurrentRequestIndex].SecureId(),
+                    iValidationRequestQueue[KCurrentRequestIndex].VendorId(),
+                    clientPrefs.iRequestedInfo);
+        }
+    else
+        {
+        iConversionCompleteObserver.HandleConversionComplete(this);
+        }
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::DoCancel
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::DoCancel()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::DoCancel()");
+    // Nothing to do here.
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::WriteAreaInfoL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::WriteAreaInfoL(RBufWriteStream& 
+                                                      aWriteStream,
+                                                      CLbsLocationInfo::TAreaInfoMask aAreaInfoMask)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::WriteAreaInfoL()");
+    for(TInt i=0;i<iLocationInfoArray.Count();i++)
+        {
+        RLbsAreaInfoBaseArray areaInfoArray;    
+       
+    	CleanupStack::PushL(TCleanupItem(*CleanUpResetAndDestroy, &areaInfoArray));
+
+        iLocationInfoArray[i]->GetAreaInfoL(areaInfoArray,aAreaInfoMask);
+        
+        // Write the count of converted information for each location info object.
+        TInt count = areaInfoArray.Count();
+        aWriteStream.WriteInt8L(count);
+        
+        for(TInt j=0;j<count;j++)
+            {
+            areaInfoArray[j]->ExternaliseL(aWriteStream);
+            }
+        CleanupStack::PopAndDestroy(&areaInfoArray);
+        }
+    }
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CompleteRequest
+// (other items were commented in a header).
+//----------------------------------------------------------------
+void CLbsLocMonitorConversionHandler::CompleteRequest(const RMessage2& aMessage,
+                                                       TInt aReason)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::CompleteRequest()");
+    TInt pos = iValidationRequestQueue.Find(aMessage);
+    if(!aMessage.IsNull())
+        {
+        aMessage.Complete(aReason);
+        iValidationRequestQueue[pos] = aMessage;
+        }
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CompareMessage
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TBool CLbsLocMonitorConversionHandler::CompareMessage(const RMessage2& aSrc,
+                                                       const RMessage2& aDes)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::CompareMessage()");
+    // If the src message is NULL,this is the message corresponding to the
+    // first request for which it is completed with size of converted info.
+    // Hence it needs to checked aganist current request's secure id and the
+    // subsession id.
+    if(aSrc.IsNull())
+        {
+        if(aDes.SecureId() == iCurrentRequestSecureId &&
+            aDes.Int3() == iCurrentRequestSubsessionId)
+            {
+            return ETrue;
+            }
+        return EFalse;
+        }
+    
+    // Subsession id is stored in the 4th IPC slot.
+    if(aSrc.SecureId() == aDes.SecureId() && 
+        aSrc.Int3() == aDes.Int3())
+        {
+        return ETrue;
+        }
+    return EFalse;
+    }
+
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::AccuracyFromMatchLevel
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TReal32 CLbsLocMonitorConversionHandler::AccuracyFromMatchLevel(TPositionAreaExtendedInfo::TArea aMatchlevel)
+    {
+    TRealX outputAccuracy;
+    outputAccuracy.SetNaN();
+    switch(aMatchlevel)
+        {
+        case TPositionAreaExtendedInfo::EAreaUnknown:
+            {
+            break;
+            }
+        case TPositionAreaExtendedInfo::EAreaCountry:
+            {
+            outputAccuracy.Set(KCellCountryAccuracy);
+            break;
+            }
+        case TPositionAreaExtendedInfo::EAreaRegion:
+            {
+            outputAccuracy.Set(KCellLocationAccuracy);
+            break;
+            }
+        case TPositionAreaExtendedInfo::EAreaCity:
+            {
+            outputAccuracy.Set(KCellFullAccuracy);
+            break;
+            }
+        case TPositionAreaExtendedInfo::EAreaDistrict:
+            {
+            outputAccuracy.Set(KWlanAccuracy);
+            break;
+            }
+        case TPositionAreaExtendedInfo::EAreaStreet:
+            {
+            outputAccuracy.Set(KWlanAccuracy);
+            break;
+            }
+        default:
+            {
+            break;
+            }
+        }
+    return outputAccuracy;
+    }
+
+
+
+void CLbsLocMonitorConversionHandler::FillInPartialL()
+    {
+    TInt infoCount = iSubsetLocationInfoArray.Count();
+    TInt partialCount = iCachePartialResults.Count();
+    if((infoCount != partialCount) || infoCount == 0)
+        return;
+    
+    for(TInt i = 0; i < infoCount; i++)
+        {
+        CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*>(iSubsetLocationInfoArray[i]);
+        
+        RLbsAreaInfoBaseArray locationArray;
+        CleanupStack::PushL(TCleanupItem(*CleanUpResetAndDestroy, &locationArray));
+        locationInfo->GetAreaInfoL(locationArray, CLbsLocationInfo::ELbsPosInfo);
+        
+        if(locationArray.Count() > 0)
+            {
+            CLbsPositionInfo* location = static_cast<CLbsPositionInfo*>(locationArray[0]);
+            TLocality pluginLocality;
+            location->GetLocality(pluginLocality);
+            if(!Math::IsNaN(iCachePartialResults[i].HorizontalAccuracy()) && 
+                    (iCachePartialResults[i].HorizontalAccuracy() < pluginLocality.HorizontalAccuracy()))
+                {
+                locationInfo->ResetAreaInfo(CLbsLocationInfo::ELbsPosInfo);
+                CLbsPositionInfo* newLocation = CLbsPositionInfo::NewL(iCachePartialResults[i]);
+                locationInfo->AddAreaInfoL(newLocation);
+                }
+            }
+        CleanupStack::PopAndDestroy(&locationArray);
+        }
+    }
+
+
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CacheLookupL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TBool CLbsLocMonitorConversionHandler::CacheLookupL()
+    {
+    iCachePartialResults.Reset();
+    // Does NOT own contents
+    iSubsetLocationInfoArray.Reset();
+    TInt infoCount = iLocationInfoArray.Count();
+    // We only do lookups if the client wants a position
+    if(iRequestedInfo != ELbsConversionOutputPosition)
+        {
+        // copy all into subset array, the cache has solved nothing
+        for(TInt i = 0; i < infoCount; i++)
+            {
+            iSubsetLocationInfoArray.AppendL(iLocationInfoArray[i]);
+            }
+        return EFalse;
+        }
+    
+    TInt cacheLoads = 0;
+    TBool resolved = EFalse;
+    
+
+    for(TInt i=0; i < infoCount; i++)
+        {
+        CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*>(iLocationInfoArray[i]);
+        RLbsAreaInfoBaseArray areaArray;
+        CleanupStack::PushL(TCleanupItem(*CleanUpResetAndDestroy, &areaArray));
+        // NOTE! When locmonitor is expanded to cache 3g / wlan this call must be changed!
+        locationInfo->GetAreaInfoL(areaArray, ELbsAreaGsmCellInfoClass);
+        
+        TInt areaCount = areaArray.Count();
+        TBool saved = EFalse;
+        
+        TRealX nan;
+        nan.SetNaN();
+        TLocality partialLocality;
+        partialLocality.SetCoordinate(nan, nan, nan);
+        partialLocality.SetAccuracy(nan, nan);
+        
+        for (TInt j = 0; j < areaCount; j++)
+            {   
+            resolved = EFalse;
+            TLbsAreaInfoClassType type = areaArray[j]->Type();
+            TLbsLocMonitorAreaInfoGci areaInfoGci;
+            switch(type)
+                {
+                case ELbsAreaGsmCellInfoClass:
+                    {
+                    CLbsGsmCellInfo* area = static_cast<CLbsGsmCellInfo*>(areaArray[j]);
+                    areaInfoGci.iMcc = area->MobileCountryCode();
+                    areaInfoGci.iMnc = area->MobileNetworkCode();
+                    areaInfoGci.iLac = area->LocationAreaCode();
+                    areaInfoGci.iCid = area->CellId();
+                    resolved = ETrue;
+                    break;
+                    }
+                default:
+                    {
+                    resolved = EFalse;
+                    break;
+                    }
+                }
+            
+            if(resolved && !saved)
+                {
+                TPosition position;
+                RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+                outArray.Append(&areaInfoGci);
+                TPositionAreaExtendedInfo matchLevel; 
+                matchLevel.SetArea(TPositionAreaInfo::EAreaUnknown);
+                TRequestStatus status; 
+                // Cache gets are fast and not really asynch, so no harm in blocking here
+                TInt ret = iCache.GetPosition(position,outArray,matchLevel,status);
+                if((ret == KErrNone) || (ret == KErrNotFound))
+                    {
+                    User::WaitForRequest(status);
+                    }
+                outArray.Reset();
+                
+                if((ret == KErrNone) && (matchLevel.Area()  >= TPositionAreaExtendedInfo::EAreaCity))
+                    {
+                    TLocality locality;
+                    locality.SetCoordinate(position.Latitude(), position.Longitude(),
+								position.Altitude());
+                	TRealX nan;
+                	nan.SetNaN();
+                    locality.SetAccuracy(AccuracyFromMatchLevel(matchLevel.Area()), nan);
+                    
+                    CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL(locality);
+                    CleanupStack::PushL(positionInfo);
+                    iLocationInfoArray[i]->AddAreaInfoL(positionInfo);
+                    CleanupStack::Pop(positionInfo);
+                    saved = ETrue;
+                    cacheLoads++;
+                    }
+                else if ((ret == KErrNone) && (matchLevel.Area()  > TPositionAreaExtendedInfo::EAreaUnknown))
+                    {
+                    // we also store partial matches in case they are better than the plugin response
+                    partialLocality.SetCoordinate(position.Latitude(), position.Longitude(),
+                                position.Altitude());
+                    TRealX nan;
+                    nan.SetNaN();
+                    partialLocality.SetAccuracy(AccuracyFromMatchLevel(matchLevel.Area()), nan);
+                    }
+
+                }
+            }
+        if(!saved)
+            {
+            //copy into subset array, we couldn't solve this from cache
+            iSubsetLocationInfoArray.AppendL(iLocationInfoArray[i]);
+            
+            iCachePartialResults.AppendL(partialLocality);
+            }
+        CleanupStack::PopAndDestroy(&areaArray);
+        }
+    // If we've loaded as many results from the cache as there are requests 
+    // then we have fully satisfied the query
+    return cacheLoads == infoCount;
+    }
+    
+
+//----------------------------------------------------------------
+// CLbsLocMonitorConversionHandler::CacheSaveL
+// (other items were commented in a header).
+//----------------------------------------------------------------
+TBool CLbsLocMonitorConversionHandler::CacheSaveL()
+    {
+    iState = EStateCacheSave;
+    TBool saveRequested = EFalse;
+    TInt infoCount = iSubsetLocationInfoArray.Count();
+    while((iSavedToCacheCount < infoCount) && !saveRequested)
+        {
+        CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*>(iSubsetLocationInfoArray[iSavedToCacheCount]);
+        
+        RLbsAreaInfoBaseArray cellArray;
+        CleanupStack::PushL(TCleanupItem(*CleanUpResetAndDestroy, &cellArray));
+        locationInfo->GetAreaInfoL(cellArray, CLbsLocationInfo::ELbsGsmInfo);
+        
+        RLbsAreaInfoBaseArray locationArray;
+        CleanupStack::PushL(TCleanupItem(*CleanUpResetAndDestroy, &locationArray));
+        locationInfo->GetAreaInfoL(locationArray, CLbsLocationInfo::ELbsPosInfo);
+        
+        
+        // We should get only 1 pos back but may have passed in multiple cells
+        // We want to save that pos against all cells
+        if((locationArray.Count() > 0) && (cellArray.Count() > 0))
+            {
+            CLbsPositionInfo* location = static_cast<CLbsPositionInfo*>(locationArray[0]);
+            TLocality locality;
+            location->GetLocality(locality);
+            // Only locations that have an accuracy that is better than a cell
+            // location code will be saved in the cache
+            if(locality.HorizontalAccuracy() < KCellLocationAccuracy)
+                {
+                for(TInt i = 0; i < cellArray.Count(); i++)
+                    {
+                    CLbsGsmCellInfo* cell = static_cast<CLbsGsmCellInfo*>(cellArray[i]);
+                    TLbsLocMonitorAreaInfoGci areaInfoGci;
+                    areaInfoGci.iMcc = cell->MobileCountryCode();
+                    areaInfoGci.iMnc = cell->MobileNetworkCode();
+                    areaInfoGci.iLac = cell->LocationAreaCode();
+                    areaInfoGci.iCid = cell->CellId();
+                    RPointerArray<TLbsLocMonitorAreaInfoBase> areaArray;
+                    areaArray.Append(&areaInfoGci);
+                    TTime now;
+                    now.HomeTime();
+                    TPosition pos(locality, now);
+                    TInt ret = iCache.SavePosition(pos, areaArray, EFalse, iStatus);
+                    if(ret != KErrNone)
+                        {
+                        saveRequested = EFalse;
+                        }
+                    else
+                        {
+                        saveRequested = ETrue;
+                        SetActive();
+                        }
+                    areaArray.Reset();
+                    }            
+                }
+            }
+        CleanupStack::PopAndDestroy(&locationArray);
+        CleanupStack::PopAndDestroy(&cellArray);
+        iSavedToCacheCount++;
+        }
+    if((iSavedToCacheCount >= infoCount) && !saveRequested)
+        {
+        return ETrue;
+        }
+    return EFalse;
+    }
+
+
+// End of file.
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitordbengine.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitordbengine.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,440 +1,517 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-#include "clbslocmonitordbengine.h"
-#include "lbslocmonitordbenginedefs.h"
-#include "lbsdevloggermacros.h"
-
-
-
-CLbsLocMonitorDbEngine* CLbsLocMonitorDbEngine::NewL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::NewL");
-	CLbsLocMonitorDbEngine* self = new(ELeave)CLbsLocMonitorDbEngine();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-
-void CLbsLocMonitorDbEngine::ConstructL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::ConstructL");
-	InitDbL();
-	iPeriodic = CPeriodic::NewL(EPriorityStandard);
-	iPeriodic->Start(KInitialPeriod, KFlushPeriod, TCallBack(FlushTimerCallback, this));
-	}		
-
-
-void CLbsLocMonitorDbEngine::InitDbL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::InitDbL");
-	iCount = 0;
-	iIsLastValid = EFalse;
-	TInt error = iDatabase.Open(KSecureLocMonDB);
-	if(KErrNotFound == error)
-		{		
-	    RSqlSecurityPolicy securityPolicy;
-	    User::LeaveIfError(securityPolicy.Create(TSecurityPolicy(TSecurityPolicy::EAlwaysPass)));
-	    CleanupClosePushL(securityPolicy);
-	    User::LeaveIfError(securityPolicy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, TSecurityPolicy(TSecurityPolicy::EAlwaysPass)));
-	    #ifdef LBS_LOCMONITORDB_TEST
-	    User::LeaveIfError(iDatabase.Create(KSecureLocMonDB));
-	    #else
-	    User::LeaveIfError(iDatabase.Create(KSecureLocMonDB, securityPolicy));
-		#endif
-	    CleanupStack::PopAndDestroy(&securityPolicy);
-		User::LeaveIfError(iDatabase.Exec(KCreateTable));
-		User::LeaveIfError(iDatabase.Exec(KCreateIndex4));
-		User::LeaveIfError(iDatabase.Exec(KCreateIndex3));
-		}
-	User::LeaveIfError(iDatabase.Exec(KCreateTempTable));
-	User::LeaveIfError(iDatabase.Exec(KCreateTempIndex4));
-	}
-
-
-CLbsLocMonitorDbEngine::CLbsLocMonitorDbEngine():
-CActive(EPriorityStandard)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CLbsLocMonitorDbEngine");
-	CActiveScheduler::Add(this);
-	}
-
-
-CLbsLocMonitorDbEngine::~CLbsLocMonitorDbEngine()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::~CLbsLocMonitorDbEngine");
-	Cancel();
-	iPeriodic->Cancel();
-	delete iPeriodic;
-	iSqlSaveStatement.Close();
-	if(iIsLastValid)
-		{
-		Insert(ETrue);
-		}
-	Flush(ETrue);
-	
-	iDatabase.Close();
-	}
-
-
-TInt CLbsLocMonitorDbEngine::SavePosition(TUint aMcc, TUint aMnc, TUint aLac, TUint aCid, const TPosition& aPosition, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::SavePosition");
-	if(aMcc > KMaxTInt || aMnc > KMaxTInt || aLac > KMaxTInt || aCid > KMaxTInt)
-		{
-		return KErrArgument;
-		}		
-	iClientStatus = &aStatus;
-	*iClientStatus = KRequestPending;
-	// If the cache does not contain a cell, this cell goes in the cache
-	if (!iIsLastValid)
-		{
-		iLastMcc = aMcc;
-		iLastMnc = aMnc;
-		iLastLac = aLac;
-		iLastCid = aCid;
-		iLastTime.UniversalTime();
-		iLastPosition = aPosition;
-		iIsLastValid = ETrue;
-		User::RequestComplete(iClientStatus, KErrNone);
-		return KErrNone;
-		} 
-	// If this cell is the same as the the cache, update the cache's position and timestamp
-	
-	else if(CacheMatchLevel(aMcc, aMnc, aLac, aCid).CellIdMatch())
-		{
-		iLastPosition = aPosition;
-		iLastTime.UniversalTime();
-		User::RequestComplete(iClientStatus, KErrNone);
-		return KErrNone;
-		}
-	// If this cell is different from the cache, send the cache to db server then put this cell in cache
-	else
-		{
-		TInt result = Insert(EFalse);
-		if(result >= KErrNone)
-			{
-			iLastMcc = aMcc;
-			iLastMnc = aMnc;
-			iLastLac = aLac;
-			iLastCid = aCid;
-			iLastTime.UniversalTime();
-			iLastPosition = aPosition;
-			iIsLastValid = ETrue;
-			}
-		return result;
-		}
-	}
-
-
-TInt CLbsLocMonitorDbEngine::Insert(TBool aShutdown)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Insert");
-	TInt error = KErrNone;
-	TPckg<TPosition> positionDes( iLastPosition );
-	error = iSqlSaveStatement.Prepare(iDatabase, KUpsertRow);
-	if(error == KErrNone)
-		{
-		TInt indexMcc = iSqlSaveStatement.ParameterIndex(KMcc);
-		TInt indexMnc = iSqlSaveStatement.ParameterIndex(KMnc);
-		TInt indexLac = iSqlSaveStatement.ParameterIndex(KLac);
-		TInt indexCid = iSqlSaveStatement.ParameterIndex(KCid);
-		TInt indexStamp = iSqlSaveStatement.ParameterIndex(KStamp);
-		TInt indexData = iSqlSaveStatement.ParameterIndex(KData);
-		
-		iSqlSaveStatement.BindInt(indexMcc, iLastMcc);
-		iSqlSaveStatement.BindInt(indexMnc, iLastMnc);
-		iSqlSaveStatement.BindInt(indexLac, iLastLac);
-		iSqlSaveStatement.BindInt(indexCid, iLastCid);
-		iSqlSaveStatement.BindInt64(indexStamp, iLastTime.Int64());
-		iSqlSaveStatement.BindBinary(indexData, positionDes);
-		
-		// Shutdown inserts are synchronous, regular inserts asynchronous
-		if(aShutdown)
-			{
-			iSqlSaveStatement.Exec();
-			iSqlSaveStatement.Close();
-			}
-		else
-			{
-			// Statement is closed in RunL, once asynchrnous insert has taken place
-			iStatus = KRequestPending;
-			iSqlSaveStatement.Exec(iStatus);
-			SetActive();
-			}
-		}
-	return error;
-	}
-
-
-TInt CLbsLocMonitorDbEngine::GetPosition(TUint aMcc, TUint aMnc, TUint aLac, TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::GetPosition");
-	if(aMcc > KMaxTInt || aMnc > KMaxTInt || aLac > KMaxTInt || aCid > KMaxTInt)
-		{
-		return KErrArgument;
-		}
-		
-	TInt result = KErrNone;
-	// Clear result
-	aMatchingAreaInfo.SetMobileCountryCodeMatch(EFalse);
-	aMatchingAreaInfo.SetMobileNetworkCodeMatch(EFalse);
-	aMatchingAreaInfo.SetLocationAreaCodeMatch(EFalse);
-	aMatchingAreaInfo.SetCellIdMatch(EFalse);
-	aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaUnknown);
-	TPositionAreaExtendedInfo cacheMatch = CacheMatchLevel(aMcc, aMnc, aLac, aCid);
-	if(cacheMatch.CellIdMatch() || Select(aPosition, TPtrC(KSelectTempRow4), aMcc, aMnc, aLac, aCid) || Select(aPosition, TPtrC(KSelectRow4), aMcc, aMnc, aLac, aCid))
-		{		
-		if(cacheMatch.CellIdMatch())
-			{
-			aPosition = iLastPosition;
-			}
-		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
-		aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
-		aMatchingAreaInfo.SetCellIdMatch(ETrue);
-		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCity);
-		}
-	else if(cacheMatch.LocationAreaCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow3), aMcc, aMnc, aLac) || Select(aPosition, TPtrC(KSelectRow3), aMcc, aMnc, aLac))
-		{
-		if(cacheMatch.LocationAreaCodeMatch())
-			{
-			aPosition = iLastPosition;
-			}
-		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
-		aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
-		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaRegion);
-		}
-	else if(cacheMatch.MobileNetworkCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow2), aMcc, aMnc) || Select(aPosition, TPtrC(KSelectRow2), aMcc, aMnc))
-		{
-		if(cacheMatch.MobileNetworkCodeMatch())
-			{
-			aPosition = iLastPosition;
-			}
-		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
-		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCountry);
-		}
-	else if(cacheMatch.MobileCountryCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow1), aMcc) || Select(aPosition, TPtrC(KSelectRow1), aMcc))
-		{
-		if(cacheMatch.MobileCountryCodeMatch())
-			{
-			aPosition = iLastPosition;
-			}
-		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCountry);
-		}
-	else if(iIsLastValid || Select(aPosition, TPtrC(KSelectTempRowLatest)) || Select(aPosition, TPtrC(KSelectRowLatest)) || iIsLastValid)
-		{
-		if(iIsLastValid)
-			{
-			aPosition = iLastPosition;
-			}
-		}
-	else
-		{
-		result = KErrNotFound;
-		}
-	TRequestStatus* status = &aStatus;
-	*status = KRequestPending;
-	User::RequestComplete(status, result);
-	return result;
-	}
-
-
-TInt CLbsLocMonitorDbEngine::GetPosition(TPosition& aPosition, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::GetPosition");
-	TInt result = KErrUnknown;
-	// Before going to db server, check if we can get cell position from cache
-	if(iIsLastValid)
-		{
-		aPosition = iLastPosition;
-		result = KErrNone;
-		}
-	else if(Select(aPosition, TPtrC(KSelectRowLatest)) || Select(aPosition, TPtrC(KSelectRowLatest)))
-		{
-		result = KErrNone;
-		}
-	TRequestStatus* status = &aStatus;
-	*status = KRequestPending;
-	User::RequestComplete(status, result);
-	return result;
-	}
-
-TInt CLbsLocMonitorDbEngine::ClearDatabase()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::ClearDatabase");	
-	iIsLastValid = EFalse;
-	iDatabase.Exec(KClear);
-	iDatabase.Close();
-	TInt del = iDatabase.Delete(KSecureLocMonDB);
-	TRAPD(init, InitDbL());
-    return (KErrNone != del) ? del: init;
-	}
-
-
-TBool CLbsLocMonitorDbEngine::Select(TPosition& aPosition, TPtrC aQuery, TInt aMcc, TInt aMnc, TInt aLac, TInt aCid)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Select");
-	TBool found = EFalse;
-	TPckg<TPosition> positionDes( aPosition );
-	RSqlStatement sqlStatement;
-	sqlStatement.Prepare(iDatabase, aQuery);	
-	if(aMcc > KErrNotFound)
-		{
-		TInt indexMcc = sqlStatement.ParameterIndex(KMcc);
-		sqlStatement.BindInt(indexMcc, aMcc);
-		}
-	if(aMnc > KErrNotFound)
-		{
-		TInt indexMnc = sqlStatement.ParameterIndex(KMnc);
-		sqlStatement.BindInt(indexMnc, aMnc);
-		}
-	if(aLac > KErrNotFound)
-		{
-		TInt indexLac = sqlStatement.ParameterIndex(KLac);
-		sqlStatement.BindInt(indexLac, aLac);
-		}
-	if(aCid > KErrNotFound)
-		{
-		TInt indexCid = sqlStatement.ParameterIndex(KCid);
-		sqlStatement.BindInt(indexCid, aCid);
-		}
-		
-	TInt columnIndex = sqlStatement.ColumnIndex(KDataColumn);
-	if(sqlStatement.Next() == KSqlAtRow)
-		{
-		sqlStatement.ColumnBinary(columnIndex, positionDes);
-		found = ETrue;
-		}
-	sqlStatement.Close();
-	return found;
-	}
-
-
-void CLbsLocMonitorDbEngine::CheckFlush()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CheckFlush");
-	iCount++;
-	if(iCount > KTempFlushSize)
-		{
-		Flush(EFalse);		
-		}
-	}
-
-
-void CLbsLocMonitorDbEngine::Flush(TBool aShutdown)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Flush");
-	// Only do this if an insert is not currently in progress
-	if(!IsActive())
-		{	
-		iCount = 0;
-		// Move all data from temp table to permanent table
-		iDatabase.Exec(KBegin);
-		iDatabase.Exec(KCopy);	
-		iDatabase.Exec(KClear);
-		if((!aShutdown) && (DbSize() > KMaxDbSize))
-			{
-			// Delete 2000 oldest records
-			iDatabase.Exec(KPrune);
-			}
-		iDatabase.Exec(KCommit);
-		}
-	}
-
-
-TInt CLbsLocMonitorDbEngine::FlushTimerCallback(TAny* aPtr)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::FlushTimerCallback");
-	CLbsLocMonitorDbEngine* DbEngine = static_cast<CLbsLocMonitorDbEngine*>(aPtr);
-	if (DbEngine)
-		{
-		DbEngine->Flush(EFalse);
-		}
-	return KErrNone;
-	}
-
-
-// Returns number of rows in db
-TInt CLbsLocMonitorDbEngine::DbSize()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::DbSize");
-	TInt result = KErrNotFound;
-	RSqlStatement sqlStatement;
-	sqlStatement.Prepare(iDatabase, KCount);
-	TInt columnIndex = sqlStatement.ColumnIndex(KCountColumn);
-	if(sqlStatement.Next() == KSqlAtRow)
-		{
-		result = sqlStatement.ColumnInt(columnIndex);
-		}
-	sqlStatement.Close();
-	return result;
-	}
-
-
-TPositionAreaExtendedInfo CLbsLocMonitorDbEngine::CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CacheMatchLevel");
-	TPositionAreaExtendedInfo areaInfo;
-
-	if(iIsLastValid)
-		{
-		if((aMcc == iLastMcc))
-			{
-			if(aMnc == iLastMnc)
-				{
-				if(aLac == iLastLac)
-					{
-					if(aCid == iLastCid)
-						{
-						areaInfo.SetCellIdMatch(ETrue);
-						}
-					areaInfo.SetLocationAreaCodeMatch(ETrue);
-					}
-				areaInfo.SetMobileNetworkCodeMatch(ETrue);
-				}
-			areaInfo.SetMobileCountryCodeMatch(ETrue);
-			}
-		}
-
-	return areaInfo;
-	}
-
-
-
-void CLbsLocMonitorDbEngine::RunL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::RunL");
-	User::RequestComplete(iClientStatus, KErrNone);
-	iSqlSaveStatement.Close();
-	CheckFlush();
-	}
-
-
-void CLbsLocMonitorDbEngine::DoCancel()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::DoCancel");
-	*iClientStatus = KRequestPending;
-	User::RequestComplete(iClientStatus, KErrCancel);
-	}		
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include "clbslocmonitordbengine.h"
+#include "lbslocmonitordbenginedefs.h"
+#include "lbsdevloggermacros.h"
+
+
+
+CLbsLocMonitorDbEngine* CLbsLocMonitorDbEngine::NewL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::NewL");
+	CLbsLocMonitorDbEngine* self = new(ELeave)CLbsLocMonitorDbEngine();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+
+void CLbsLocMonitorDbEngine::ConstructL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::ConstructL");
+	InitDbL();
+	iDbTimer = CLbsLocMonitorDbTimer::NewL(*this);
+	}		
+
+
+void CLbsLocMonitorDbEngine::InitDbL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::InitDbL");
+	iCount = 0;
+	iIsLastValid = EFalse;
+	TInt error = iDatabase.Open(KSecureLocMonDB);
+	if(KErrNotFound == error)
+		{		
+		RSqlSecurityPolicy securityPolicy;
+		User::LeaveIfError(securityPolicy.Create(TSecurityPolicy(TSecurityPolicy::EAlwaysPass)));
+		CleanupClosePushL(securityPolicy);
+		User::LeaveIfError(securityPolicy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, TSecurityPolicy(TSecurityPolicy::EAlwaysPass)));
+		#ifdef LBS_LOCMONITORDB_TEST
+		User::LeaveIfError(iDatabase.Create(KSecureLocMonDB));
+		#else
+		User::LeaveIfError(iDatabase.Create(KSecureLocMonDB, securityPolicy));
+		#endif
+		CleanupStack::PopAndDestroy(&securityPolicy);
+		iDBInitialised = ETrue;
+		User::LeaveIfError(iDatabase.Exec(KCreateTable));
+		User::LeaveIfError(iDatabase.Exec(KCreateIndex4));
+		User::LeaveIfError(iDatabase.Exec(KCreateIndex3));
+		User::LeaveIfError(iDatabase.Exec(KCreateLastPosTable));
+		}
+	else
+		{
+		User::LeaveIfError(error);
+		iDBInitialised = ETrue;
+		}
+	User::LeaveIfError(iDatabase.Exec(KCreateTempTable));
+	User::LeaveIfError(iDatabase.Exec(KCreateTempIndex4));
+	User::LeaveIfError(iDatabase.Exec(KCreateLastPosTempTable));
+	}
+
+
+CLbsLocMonitorDbEngine::CLbsLocMonitorDbEngine():
+CActive(EPriorityStandard),
+iDBInitialised(EFalse),
+iSaveLastPos(EFalse)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CLbsLocMonitorDbEngine");
+	CActiveScheduler::Add(this);
+	}
+
+
+CLbsLocMonitorDbEngine::~CLbsLocMonitorDbEngine()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::~CLbsLocMonitorDbEngine");
+	Cancel();
+	
+	delete iDbTimer;
+
+	if(iDBInitialised)
+		{
+		iSqlSaveStatement.Close();
+		if(iIsLastValid)
+			{
+			Insert(ETrue);
+			}
+
+		Flush(ETrue);
+		
+		iDatabase.Close();
+		}
+	}
+
+
+TInt CLbsLocMonitorDbEngine::SavePosition(TUint aMcc, TUint aMnc, TUint aLac, TUint aCid, const TPosition& aPosition, TBool aUserPosition, TRequestStatus& aStatus)
+	{
+    iSaveLastPos = aUserPosition;
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::SavePosition");
+	if(aMcc > KMaxTInt || aMnc > KMaxTInt || aLac > KMaxTInt || aCid > KMaxTInt)
+		{
+		return KErrArgument;
+		}		
+	iClientStatus = &aStatus;
+	*iClientStatus = KRequestPending;
+	
+	// If the db flush timer is not running, start it
+	if(!iDbTimer->IsRunning())
+	    {
+        iDbTimer->StartTimer(KFlushPeriod);
+	    }
+	
+	// If the cache does not contain a cell, this cell goes in the cache
+	if (!iIsLastValid)
+		{
+		iLastMcc = aMcc;
+		iLastMnc = aMnc;
+		iLastLac = aLac;
+		iLastCid = aCid;
+		iLastTime.UniversalTime();
+		iLastPosition = aPosition;
+		if(iSaveLastPos)
+		    {
+            iLastKnownPosition = aPosition;
+		    }
+		iIsLastValid = ETrue;
+		User::RequestComplete(iClientStatus, KErrNone);
+		return KErrNone;
+		} 
+	// If this cell is the same as the the cache, update the cache's position and timestamp
+	
+	else if(CacheMatchLevel(aMcc, aMnc, aLac, aCid).CellIdMatch())
+		{
+		iLastPosition = aPosition;
+	    if(iSaveLastPos)
+            {
+            iLastKnownPosition = aPosition;
+            }
+		iLastTime.UniversalTime();
+		User::RequestComplete(iClientStatus, KErrNone);
+		return KErrNone;
+		}
+	// If this cell is different from the cache, send the cache to db server then put this cell in cache
+	else
+		{
+		TInt result = Insert(EFalse);
+		if(result >= KErrNone)
+			{
+			iLastMcc = aMcc;
+			iLastMnc = aMnc;
+			iLastLac = aLac;
+			iLastCid = aCid;
+			iLastTime.UniversalTime();
+			iLastPosition = aPosition;
+			iIsLastValid = ETrue;
+			}
+		return result;
+		}
+	}
+
+
+TInt CLbsLocMonitorDbEngine::Insert(TBool aShutdown)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Insert");
+	TInt error = KErrNone;
+	TPckg<TPosition> positionDes( iLastPosition );
+	error = iSqlSaveStatement.Prepare(iDatabase, KUpsertRow);
+	if(error == KErrNone)
+		{
+		TInt indexMcc = iSqlSaveStatement.ParameterIndex(KMcc);
+		TInt indexMnc = iSqlSaveStatement.ParameterIndex(KMnc);
+		TInt indexLac = iSqlSaveStatement.ParameterIndex(KLac);
+		TInt indexCid = iSqlSaveStatement.ParameterIndex(KCid);
+		TInt indexStamp = iSqlSaveStatement.ParameterIndex(KStamp);
+		TInt indexData = iSqlSaveStatement.ParameterIndex(KData);
+		
+		iSqlSaveStatement.BindInt(indexMcc, iLastMcc);
+		iSqlSaveStatement.BindInt(indexMnc, iLastMnc);
+		iSqlSaveStatement.BindInt(indexLac, iLastLac);
+		iSqlSaveStatement.BindInt(indexCid, iLastCid);
+		iSqlSaveStatement.BindInt64(indexStamp, iLastTime.Int64());
+		iSqlSaveStatement.BindBinary(indexData, positionDes);
+		
+		// Shutdown inserts are synchronous, regular inserts asynchronous
+		if(aShutdown)
+			{
+			iSqlSaveStatement.Exec();
+			iSqlSaveStatement.Close();
+			if(iSaveLastPos)
+			    {
+                error = iSqlSaveStatement.Prepare(iDatabase, KUpsertLastPosRow);
+                if(KErrNone == error)
+                    {
+                    TPckg<TPosition> positionDes(iLastKnownPosition);
+                    TInt indexStamp = iSqlSaveStatement.ParameterIndex(KStamp);
+                    TInt indexData = iSqlSaveStatement.ParameterIndex(KData);
+                    iSqlSaveStatement.BindInt64(indexStamp, iLastTime.Int64());
+                    iSqlSaveStatement.BindBinary(indexData, positionDes);
+                    
+                    iSqlSaveStatement.Exec();
+                    iSqlSaveStatement.Close();
+                    }
+			    }
+			}
+		else
+			{
+			// Statement is closed in RunL, once asynchrnous insert has taken place
+			iStatus = KRequestPending;
+			iSqlSaveStatement.Exec(iStatus);
+			SetActive();
+			}
+		}
+	return error;
+	}
+
+
+TInt CLbsLocMonitorDbEngine::GetPosition(TUint aMcc, TUint aMnc, TUint aLac, TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::GetPosition");
+	if(aMcc > KMaxTInt || aMnc > KMaxTInt || aLac > KMaxTInt || aCid > KMaxTInt)
+		{
+		return KErrArgument;
+		}
+		
+	TInt result = KErrNone;
+	// Clear result
+	aMatchingAreaInfo.SetMobileCountryCodeMatch(EFalse);
+	aMatchingAreaInfo.SetMobileNetworkCodeMatch(EFalse);
+	aMatchingAreaInfo.SetLocationAreaCodeMatch(EFalse);
+	aMatchingAreaInfo.SetCellIdMatch(EFalse);
+	aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaUnknown);
+	TPositionAreaExtendedInfo cacheMatch = CacheMatchLevel(aMcc, aMnc, aLac, aCid);
+	if(cacheMatch.CellIdMatch() || Select(aPosition, TPtrC(KSelectTempRow4), aMcc, aMnc, aLac, aCid) || Select(aPosition, TPtrC(KSelectRow4), aMcc, aMnc, aLac, aCid))
+		{		
+		if(cacheMatch.CellIdMatch())
+			{
+			aPosition = iLastPosition;
+			}
+		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
+		aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
+		aMatchingAreaInfo.SetCellIdMatch(ETrue);
+		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCity);
+		}
+	else if(cacheMatch.LocationAreaCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow3), aMcc, aMnc, aLac) || Select(aPosition, TPtrC(KSelectRow3), aMcc, aMnc, aLac))
+		{
+		if(cacheMatch.LocationAreaCodeMatch())
+			{
+			aPosition = iLastPosition;
+			}
+		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
+		aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
+		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaRegion);
+		}
+	else if(cacheMatch.MobileNetworkCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow2), aMcc, aMnc) || Select(aPosition, TPtrC(KSelectRow2), aMcc, aMnc))
+		{
+		if(cacheMatch.MobileNetworkCodeMatch())
+			{
+			aPosition = iLastPosition;
+			}
+		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+		aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
+		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCountry);
+		}
+	else if(cacheMatch.MobileCountryCodeMatch() || Select(aPosition, TPtrC(KSelectTempRow1), aMcc) || Select(aPosition, TPtrC(KSelectRow1), aMcc))
+		{
+		if(cacheMatch.MobileCountryCodeMatch())
+			{
+			aPosition = iLastPosition;
+			}
+		aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+		aMatchingAreaInfo.SetArea(TPositionAreaExtendedInfo::EAreaCountry);
+		}
+	else if(iIsLastValid || Select(aPosition, TPtrC(KSelectTempRowLatest)) || Select(aPosition, TPtrC(KSelectRowLatest)) || iIsLastValid)
+		{
+		if(iIsLastValid)
+			{
+			aPosition = iLastPosition;
+			}
+		}
+	else
+		{
+		result = KErrNotFound;
+		}
+	TRequestStatus* status = &aStatus;
+	*status = KRequestPending;
+	User::RequestComplete(status, result);
+	return result;
+	}
+
+
+TInt CLbsLocMonitorDbEngine::GetPosition(TPosition& aPosition, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::GetPosition");
+	TInt result = KErrUnknown;
+	// Before going to db server, check if we can get cell position from cache
+	if(iIsLastValid)
+		{
+		aPosition = iLastPosition;
+		result = KErrNone;
+		}
+	else if(Select(aPosition, TPtrC(KSelectTempRowLatest)) || Select(aPosition, TPtrC(KSelectRowLatest)))
+		{
+		result = KErrNone;
+		}
+	TRequestStatus* status = &aStatus;
+	*status = KRequestPending;
+	User::RequestComplete(status, result);
+	return result;
+	}
+
+TInt CLbsLocMonitorDbEngine::ClearDatabase()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::ClearDatabase");	
+	iIsLastValid = EFalse;
+	iDatabase.Exec(KClear);
+	iDatabase.Exec(KLastPosClear);
+	iDatabase.Close();
+	TInt del = iDatabase.Delete(KSecureLocMonDB);
+	TRAPD(init, InitDbL());
+    return (KErrNone != del) ? del: init;
+	}
+
+
+TBool CLbsLocMonitorDbEngine::Select(TPosition& aPosition, TPtrC aQuery, TInt aMcc, TInt aMnc, TInt aLac, TInt aCid)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Select");
+	TBool found = EFalse;
+	TPckg<TPosition> positionDes( aPosition );
+	RSqlStatement sqlStatement;
+	sqlStatement.Prepare(iDatabase, aQuery);	
+	if(aMcc > KErrNotFound)
+		{
+		TInt indexMcc = sqlStatement.ParameterIndex(KMcc);
+		sqlStatement.BindInt(indexMcc, aMcc);
+		}
+	if(aMnc > KErrNotFound)
+		{
+		TInt indexMnc = sqlStatement.ParameterIndex(KMnc);
+		sqlStatement.BindInt(indexMnc, aMnc);
+		}
+	if(aLac > KErrNotFound)
+		{
+		TInt indexLac = sqlStatement.ParameterIndex(KLac);
+		sqlStatement.BindInt(indexLac, aLac);
+		}
+	if(aCid > KErrNotFound)
+		{
+		TInt indexCid = sqlStatement.ParameterIndex(KCid);
+		sqlStatement.BindInt(indexCid, aCid);
+		}
+		
+	TInt columnIndex = sqlStatement.ColumnIndex(KDataColumn);
+	if(sqlStatement.Next() == KSqlAtRow)
+		{
+		sqlStatement.ColumnBinary(columnIndex, positionDes);
+		found = ETrue;
+		}
+	sqlStatement.Close();
+	return found;
+	}
+
+
+void CLbsLocMonitorDbEngine::CheckFlush()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CheckFlush");
+	iCount++;
+	if(iCount > KTempFlushSize)
+		{
+		Flush(EFalse);		
+		}
+	}
+
+
+void CLbsLocMonitorDbEngine::Flush(TBool aShutdown)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::Flush");
+	// Only do this if an insert is not currently in progress
+	if(!IsActive())
+		{	
+		iCount = 0;
+		// Move all data from temp table to permanent table
+		iDatabase.Exec(KBegin);
+		iDatabase.Exec(KCopy);	
+		iDatabase.Exec(KClear);
+		iDatabase.Exec(KLastPosCopy);
+		iDatabase.Exec(KLastPosClear);
+		if((!aShutdown) && (DbSize() > KMaxDbSize))
+			{
+			// Delete 2000 oldest records
+			iDatabase.Exec(KPrune);
+			}
+		iDatabase.Exec(KCommit);
+		}
+	}
+
+
+void CLbsLocMonitorDbEngine::FlushTimerCallback()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::FlushTimerCallback");
+	Flush(EFalse);
+	}
+
+
+// Returns number of rows in db
+TInt CLbsLocMonitorDbEngine::DbSize()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::DbSize");
+	TInt result = KErrNotFound;
+	RSqlStatement sqlStatement;
+	sqlStatement.Prepare(iDatabase, KCount);
+	TInt columnIndex = sqlStatement.ColumnIndex(KCountColumn);
+	if(sqlStatement.Next() == KSqlAtRow)
+		{
+		result = sqlStatement.ColumnInt(columnIndex);
+		}
+	sqlStatement.Close();
+	return result;
+	}
+
+
+TPositionAreaExtendedInfo CLbsLocMonitorDbEngine::CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::CacheMatchLevel");
+	TPositionAreaExtendedInfo areaInfo;
+
+	if(iIsLastValid)
+		{
+		if((aMcc == iLastMcc))
+			{
+			if(aMnc == iLastMnc)
+				{
+				if(aLac == iLastLac)
+					{
+					if(aCid == iLastCid)
+						{
+						areaInfo.SetCellIdMatch(ETrue);
+						}
+					areaInfo.SetLocationAreaCodeMatch(ETrue);
+					}
+				areaInfo.SetMobileNetworkCodeMatch(ETrue);
+				}
+			areaInfo.SetMobileCountryCodeMatch(ETrue);
+			}
+		}
+
+	return areaInfo;
+	}
+
+
+
+void CLbsLocMonitorDbEngine::RunL()
+	{
+    // Now then
+    // we set a member variable when asked to save a pos we have seen ourselves
+    // we also want to save this position into the last pos table
+    
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::RunL");
+	
+	if(!iSaveLastPos)
+	    {
+        // fully done, either we had no last pos to save, or we just did that
+        User::RequestComplete(iClientStatus, KErrNone);
+        iSqlSaveStatement.Close();
+        CheckFlush();
+	    }
+	else
+	    {
+        iSaveLastPos = EFalse;
+        // first close the statement, we can now reuse it
+        iSqlSaveStatement.Close();
+        
+        TInt error = iSqlSaveStatement.Prepare(iDatabase, KUpsertLastPosRow);
+
+        if(KErrNone == error)
+            {
+            TPckg<TPosition> positionDes(iLastKnownPosition);
+            TInt indexStamp = iSqlSaveStatement.ParameterIndex(KStamp);
+            TInt indexData = iSqlSaveStatement.ParameterIndex(KData);
+            iSqlSaveStatement.BindInt64(indexStamp, iLastTime.Int64());
+            iSqlSaveStatement.BindBinary(indexData, positionDes);
+            
+            // Statement is closed in RunL, once asynchrnous insert has taken place
+            iStatus = KRequestPending;
+            iSqlSaveStatement.Exec(iStatus);
+            SetActive();      
+            iLastKnownPosition = iLastPosition;
+            }
+
+	    }
+
+	}
+
+
+void CLbsLocMonitorDbEngine::DoCancel()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbEngine::DoCancel");
+	*iClientStatus = KRequestPending;
+	User::RequestComplete(iClientStatus, KErrCancel);
+	}		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitordbtimer.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include "clbslocmonitordbtimer.h"
+#include "lbslocmonitordbenginedefs.h"
+#include "lbsdevloggermacros.h"
+
+
+
+CLbsLocMonitorDbTimer* CLbsLocMonitorDbTimer::NewL(MLocMonitorDBCallback& aObserver)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::NewL");
+	CLbsLocMonitorDbTimer* self = new(ELeave)CLbsLocMonitorDbTimer(aObserver);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+
+void CLbsLocMonitorDbTimer::ConstructL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::ConstructL");
+	User::LeaveIfError (iTimer.CreateLocal ());
+	}
+
+
+CLbsLocMonitorDbTimer::CLbsLocMonitorDbTimer(MLocMonitorDBCallback& aObserver):
+CActive(EPriorityStandard),
+iObserver(aObserver),
+iRunning(EFalse)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::CLbsLocMonitorDbTimer");
+	CActiveScheduler::Add(this);
+	}
+
+
+CLbsLocMonitorDbTimer::~CLbsLocMonitorDbTimer()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::~CLbsLocMonitorDbTimer");
+	Cancel();
+	iTimer.Close();
+	}
+
+
+TBool CLbsLocMonitorDbTimer::IsRunning()
+    {
+    LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::IsRunning");
+    return iRunning;
+    }
+
+
+TBool CLbsLocMonitorDbTimer::StartTimer(TTimeIntervalSeconds aTimeInterval)
+    {
+    LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::StartTimer");
+    TBool started = EFalse;
+    if(!iRunning)
+        {
+        iRunning = ETrue;
+        TTime targetTime;
+        targetTime.UniversalTime(); // target time is now and try for 5 seconds!
+        targetTime += aTimeInterval;
+        iTimer.At(iStatus, targetTime);
+        SetActive();
+        started = ETrue;
+        }
+    return started;
+    }
+
+
+void CLbsLocMonitorDbTimer::RunL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::RunL");
+	iRunning = EFalse;
+	iObserver.FlushTimerCallback();
+	}
+
+
+void CLbsLocMonitorDbTimer::DoCancel()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorDbTimer::DoCancel");
+	iTimer.Cancel();
+	}		
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorgpsbus.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorgpsbus.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,134 +1,134 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "clbslocmonitorgpsbus.h"
-#include "lbsdevloggermacros.h"
-#include "lbsprocessuiddefs.h"
-
-/**
-Create a location data bus
-
-@return The pointer to the location data bus
-@param The observer that wants to be sent the position.
-*/
-CLbsLocMonitorGpsBus* CLbsLocMonitorGpsBus::NewL(MLbsLocMonitorGpsBusObserver& aObserver)	
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::NewL");
-	CLbsLocMonitorGpsBus* self = new (ELeave) CLbsLocMonitorGpsBus(aObserver);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	} 
-	
-CLbsLocMonitorGpsBus::CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver):
-						 CActive(CActive::EPriorityStandard),
-						 iObserver(aObserver)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::CLbsLocMonitorGpsBus");
-	CActiveScheduler::Add(this);
-	}
-
-/**
- Second phase constructor. Open the GPS updates bus
- and request notifications of updates.
-*/
-void CLbsLocMonitorGpsBus::ConstructL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::ConstructL");
-	iGpsPositionBus.OpenL(KLbsGpsLocManagerUid);
-	iGpsPositionBus.NotifyPositionUpdate(iStatus);
-	SetActive();
-	}
-
-/**
-Cancel any outstanding request to the CActive object.
-*/
-CLbsLocMonitorGpsBus::~CLbsLocMonitorGpsBus()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::~CLbsLocMonitorGpsBus");
-	Cancel();
-	iGpsPositionBus.Close();
-	}
-
-
-/**
-From CActive
-
-*/
-void CLbsLocMonitorGpsBus::RunL()
-	{
-	LBSLOG(ELogP1, "LocMonitor - CLbsLocMonitorGpsBus::RunL");
-	TInt status = iStatus.Int();
-	
-	// re-subscribe for update notifications
-	iGpsPositionBus.NotifyPositionUpdate(iStatus);
-	SetActive();
-	
-	if(KErrNone == status)
-		{
-		TPositionInfo positionInfo;
-		TBool whatever1; //not used
-		TTime whatever2, whatever3; //not used
-
-		// Take position from bus and send to observer
-		if (KErrNone == iGpsPositionBus.GetPositionInfo(whatever1, &positionInfo,
-														positionInfo.PositionClassSize(),
-														whatever2, whatever3))
-			{
-			TPosition position;
-			positionInfo.GetPosition(position);
-			iObserver.GpsPositionAvailable(position);
-			}
-		else
-			{
-			// nothing to do	
-			}
-		}
-	else
-		{
-		// nothing to do	
-		}
-	}
-	
-/**
-from CActive
-Cancels the request for position update notification.
-
-@internalComponent
-@released
-*/
-void CLbsLocMonitorGpsBus::DoCancel()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::DoCancel");
-	iGpsPositionBus.CancelNotifyPositionUpdate();
-	}
-
-/**
-from CActive
-
-@internalComponent
-@released
-*/
-TInt CLbsLocMonitorGpsBus::RunError(TInt aError)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::RunError");
-	return aError;
-	}
-
-
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "clbslocmonitorgpsbus.h"
+#include "lbsdevloggermacros.h"
+#include "lbsprocessuiddefs.h"
+
+/**
+Create a location data bus
+
+@return The pointer to the location data bus
+@param The observer that wants to be sent the position.
+*/
+CLbsLocMonitorGpsBus* CLbsLocMonitorGpsBus::NewL(MLbsLocMonitorGpsBusObserver& aObserver)	
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::NewL");
+	CLbsLocMonitorGpsBus* self = new (ELeave) CLbsLocMonitorGpsBus(aObserver);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	} 
+	
+CLbsLocMonitorGpsBus::CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver):
+						 CActive(CActive::EPriorityStandard),
+						 iObserver(aObserver)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::CLbsLocMonitorGpsBus");
+	CActiveScheduler::Add(this);
+	}
+
+/**
+ Second phase constructor. Open the GPS updates bus
+ and request notifications of updates.
+*/
+void CLbsLocMonitorGpsBus::ConstructL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::ConstructL");
+	iGpsPositionBus.OpenL(KLbsGpsLocManagerUid);
+	iGpsPositionBus.NotifyPositionUpdate(iStatus);
+	SetActive();
+	}
+
+/**
+Cancel any outstanding request to the CActive object.
+*/
+CLbsLocMonitorGpsBus::~CLbsLocMonitorGpsBus()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::~CLbsLocMonitorGpsBus");
+	Cancel();
+	iGpsPositionBus.Close();
+	}
+
+
+/**
+From CActive
+
+*/
+void CLbsLocMonitorGpsBus::RunL()
+	{
+	LBSLOG(ELogP1, "LocMonitor - CLbsLocMonitorGpsBus::RunL");
+	TInt status = iStatus.Int();
+	
+	// re-subscribe for update notifications
+	iGpsPositionBus.NotifyPositionUpdate(iStatus);
+	SetActive();
+	
+	if(KErrNone == status)
+		{
+		TPositionInfo positionInfo;
+		TBool whatever1; //not used
+		TTime whatever2, whatever3; //not used
+
+		// Take position from bus and send to observer
+		if (KErrNone == iGpsPositionBus.GetPositionInfo(whatever1, &positionInfo,
+														positionInfo.PositionClassSize(),
+														whatever2, whatever3))
+			{
+			TPosition position;
+			positionInfo.GetPosition(position);
+			iObserver.GpsPositionAvailableL(position);
+			}
+		else
+			{
+			// nothing to do	
+			}
+		}
+	else
+		{
+		// nothing to do	
+		}
+	}
+	
+/**
+from CActive
+Cancels the request for position update notification.
+
+@internalComponent
+@released
+*/
+void CLbsLocMonitorGpsBus::DoCancel()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::DoCancel");
+	iGpsPositionBus.CancelNotifyPositionUpdate();
+	}
+
+/**
+from CActive
+
+@internalComponent
+@released
+*/
+TInt CLbsLocMonitorGpsBus::RunError(TInt aError)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorGpsBus::RunError");
+	return aError;
+	}
+
+
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitormain.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitormain.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-	
-	
-#include <e32base.h>
-#include "csecureasbase.h"
-#include "tserverstartparams.h"
-#include "lbsdevloggermacros.h"
-
-// E32Main of the location monitor
-// as required by LBS's ServerFramework
-TInt E32Main()
-	{
-	LBSLOG_BEGIN();
-	LBSLOG(ELogP3, "Location Monitor Start()\n");
-	TServerStartParams params;
-	TPtr ptr(reinterpret_cast<TText*>(&params), 0, sizeof(TServerStartParams)/sizeof(TText16));
-	User::CommandLine(ptr);
-	TInt err = CSecureASBase::ServerMain(params);
-	LBSLOG(ELogP3, "Location Monitor Stop()\n");
-	return err;
-	}
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+	
+	
+#include <e32base.h>
+#include "csecureasbase.h"
+#include "tserverstartparams.h"
+#include "lbsdevloggermacros.h"
+
+// E32Main of the location monitor
+// as required by LBS's ServerFramework
+TInt E32Main()
+	{
+	LBSLOG_BEGIN();
+	LBSLOG(ELogP3, "Location Monitor Start()\n");
+	TServerStartParams params;
+	TPtr ptr(reinterpret_cast<TText*>(&params), 0, sizeof(TServerStartParams)/sizeof(TText16));
+	User::CommandLine(ptr);
+	TInt err = CSecureASBase::ServerMain(params);
+	LBSLOG(ELogP3, "Location Monitor Stop()\n");
+	return err;
+	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitornetworkinfofinder.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitornetworkinfofinder.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,351 +1,351 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-	
-	
-#include <e32debug.h>
-#include <e32base.h>
-#include <e32property.h>
-#include <etelmm.h>
-#include <rsshared.h>
-#include "clbslocmonitornetworkinfofinder.h"
-#include "lbsdevloggermacros.h"
-
-
-#include <commsdattypesv1_1.h>
-using namespace CommsDat;
-
-const TUint KMaxCellIdOrLac = 65535;
-const TUint KMaxMccOrMnc = 999;
-
-
-/**
-*/
-CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() :
-	iNetworkInfoPckg(iNetworkInfo),
-	iState(EStateNull)
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() Begin\n");
-	CActiveScheduler::Add(this);
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() End\n");
-	}
-
-/**
-*/	
-CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder() Begin\n");
-	Cancel();
-	
-	iNetPhone.Close();
-	iTelServer.Close();
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder() End\n");
-	}
-
-/**
-*/	
-CLbsLocMonitorNetworkInfoFinder* CLbsLocMonitorNetworkInfoFinder::NewL()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::NewL() Begin\n");
-	CLbsLocMonitorNetworkInfoFinder* self = new (ELeave) CLbsLocMonitorNetworkInfoFinder();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::NewL() End\n");
-	return self;
-	}
-
-/**
-*/
-void CLbsLocMonitorNetworkInfoFinder::ConstructL()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ConstructL() Begin\n");
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ConstructL() End\n");
-	}
-
-/**
-*/
-void CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfoL()
-{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfo() Begin\n");
-
-	//Attempt to connect to the ETel Server.  This will start C32Start if
-	//it has not already been started by the startup routine.
-	User::LeaveIfError(iTelServer.Connect());
-		
-	// Check if the Comms Process RootServer has started
-	iConfigurationProperty.Attach(KUidSystemCategory, RootServer::KUidC32StartPropertyKey.iUid);
-	TInt propertyValue = RootServer::EInitialising;
-	TInt propertyResult = iConfigurationProperty.Get(propertyValue);
-		
-	if(propertyValue < RootServer::EConfigurationComplete)
-		{
-		iState = EStateInitializing;
-		iConfigurationProperty.Subscribe(iStatus);
-		SetActive();
-		}
-	else
-		{
-		// Attempt to get network information
-		GetNetworkInfoL();
-		}
-
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfo() End\n");
-}
-
-/** 
-*/
-void CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL()
-	{
-	LBSLOG(ELogP1, "->CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL() Begin\n");
-	InitialisePhoneL();
-	
-	// Connected to ETel successfully.
-	// Get the network info
-	iState = EStateGettingNetInfo;
-	iNetPhone.GetCurrentNetwork(iStatus, iNetworkInfoPckg, iLocArea);
-	SetActive();
-	LBSLOG(ELogP1, "<-CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL() End\n");
-	}
-
-/**
-*/
-void CLbsLocMonitorNetworkInfoFinder::RunL()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunL() Begin\n");
-	User::LeaveIfError(iStatus.Int());
-		
-	switch (iState)
-		{
-
-		case EStateInitializing:
-			{
-			TInt propertyValue = RootServer::EInitialising; // set to safe state
-			TInt propertyResult = iConfigurationProperty.Get(propertyValue);
-			
-			if(propertyValue != RootServer::EConfigurationComplete)
-				{
-				iConfigurationProperty.Subscribe(iStatus);
-				SetActive();
-				}
-			else
-				{
-				iConfigurationProperty.Cancel();
-				GetNetworkInfoL();
-				}
-			break;
-			}
-
-		case EStateGettingNetInfo:
-		case EStateNetInfoChangeMon:
-			{
-			TLbsLocMonitorAreaInfoGci areaInfo;
-			if(ValidateNetInfo(areaInfo))
-				{
-				NotifyObservers(areaInfo);
-				}
-
-			MonitorNetworkChange(); // Keep monitoring
-			break;				
-			}
-
-		default:
-		break;
-		
-		}
-	
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunL() End\n");
-	}
-
-/**
-*/	
-void CLbsLocMonitorNetworkInfoFinder::DoCancel()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::DoCancel() Begin\n");
-	// Check what stage we in are to find out what to cancel
-	switch (iState)
-		{
-		case EStateInitializing:
-			{
-			iConfigurationProperty.Cancel();
-			break;				
-			} 
-		case EStateGettingNetInfo:
-			{
-			iNetPhone.CancelAsyncRequest(EMobilePhoneGetCurrentNetwork);
-			break;
-			}
-		case EStateNetInfoChangeMon:
-			{
-			iNetPhone.CancelAsyncRequest(EMobilePhoneNotifyCurrentNetworkChange);
-			break;
-			}
-			
-		default:
-			break;
-		}
-
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::DoCancel() End\n");
-	}
-
-/**
-*/	
-TInt CLbsLocMonitorNetworkInfoFinder::RunError(TInt /*aError*/)
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunError() Begin\n");
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunError() End\n");
-	return KErrNone;
-	}
-
-
-
-/** Asychronous request to obtain notifications
-of change in the current network data
-*/
-void CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange() Begin\n");
-	iState = EStateNetInfoChangeMon;
-	iNetPhone.NotifyCurrentNetworkChange(iStatus, iNetworkInfoPckg, iLocArea);
-	SetActive();
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange() End\n");
-	}
-
-/** Retrieves the name of the .tsy to use from CommDB/CommsDat
-
-Hard-coded to use the .tsy file specified in the ModemBearerEntry
-which is specified (by index) by the KCDTIdModemPhoneServicesSMS
-setting in the global settings table.
-*/
-void CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL(TDes& aTsyName)
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL() Begin\n");
-	CMDBSession* db = CMDBSession::NewLC(KCDLatestVersion);
-
-	CMDBField<TUint32>* globalSettingField = new(ELeave) CMDBField<TUint32>(KCDTIdModemPhoneServicesSMS);
-	CleanupStack::PushL(globalSettingField);
-
-	globalSettingField->SetRecordId(1);
-	globalSettingField->LoadL(*db);
-	TUint32 modemId = *globalSettingField;
-
-	CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
-	CleanupStack::PushL(tsyField);
-
-	tsyField->SetRecordId(modemId);
-	tsyField->LoadL(*db);
-
-	aTsyName = *tsyField;
-	CleanupStack::PopAndDestroy(3, db); // db, tsyField & globalSettingField
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL() End\n");
-	}
-
-/** Finds and opens the phones to be used to monitor current network
-info.
-
-@leave	Leaves if underlying ETEL.DLL returns error,
-or if we can't find a suitable Phone or can't open it.
-*/
-void CLbsLocMonitorNetworkInfoFinder::InitialisePhoneL()
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::InitialisePhonesL() Begin\n");
-	TInt err(KErrNone);
-		
-	// Read the name of the .tsy to load from CommDB
-	TBuf<KCommsDbSvrMaxFieldLength> tsyName;
-	GetCommDbTSYnameL(tsyName);
-
-	// Load .tsy into ETel
-	User::LeaveIfError(iTelServer.LoadPhoneModule(tsyName));
-
-	// Find available phones; check that the one we requested 
-	// to be loaded is there.
-	TInt phoneIndex(0);
-	User::LeaveIfError(iTelServer.EnumeratePhones(phoneIndex));
-	while(phoneIndex-->0)
-		{
-		TName searchTsyName;
-		// Check whether this phone belongs to loaded TSY
-		if ((iTelServer.GetTsyName(phoneIndex, searchTsyName) == KErrNone) 
-			&& (searchTsyName.CompareF(tsyName) == KErrNone)) 
-			break;
-		}
-	
-	// Open a phone to be used for monitoring the network.
-	RTelServer::TPhoneInfo phoneInfo;
-	User::LeaveIfError(iTelServer.GetPhoneInfo(phoneIndex, phoneInfo));	
-	User::LeaveIfError(iNetPhone.Open(iTelServer, phoneInfo.iName));
-	
-	// Check that the phone is ready to be used.	
-	RPhone::TStatus status;
-	User::LeaveIfError(iNetPhone.GetStatus(status));
-	if(status.iModemDetected != RPhone::EDetectedPresent)
-		{		
-		err = iNetPhone.Initialise();
-		if(err != KErrNone)
-			{
-			iNetPhone.Close();
-			User::Leave(err);
-			}
-		}	
-
-	// Check that current network info can be accessed
-	TUint32 networkCaps;
-	User::LeaveIfError(iNetPhone.GetNetworkCaps(networkCaps));
-	if (!(networkCaps & RMobilePhone::KCapsGetCurrentNetwork
-		  && networkCaps & RMobilePhone::KCapsNotifyCurrentNetwork))
-		{
-		// No point in continuing
-		User::Leave(KErrNotSupported);
-		}
-	
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::InitialisePhonesL() End\n");
-	}
-
-/**
-Checks and fixes if necessary the network info
-*/
-TBool CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo(TLbsLocMonitorAreaInfoGci& aAreaInfo)
-	{
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo()Begin\n");
-	TLex lex(iNetworkInfo.iCountryCode);
-	TInt err = lex.Val(aAreaInfo.iMcc);
-	if(err!=KErrNone || aAreaInfo.iMcc > KMaxMccOrMnc)
-		{	
-		return EFalse;
-		}
-
-	lex.Assign(iNetworkInfo.iNetworkId);
-	err=lex.Val(aAreaInfo.iMnc);
-	if(err!=KErrNone || aAreaInfo.iMnc > KMaxMccOrMnc)
-		{	
-		return EFalse;
-		}
-	if (!iLocArea.iAreaKnown ||
-		(iLocArea.iLocationAreaCode > KMaxCellIdOrLac || 
-		 iLocArea.iCellId > KMaxCellIdOrLac))
-		{	
-		return EFalse;			
-		}
-	else
-		{
-		 aAreaInfo.iLac = iLocArea.iLocationAreaCode;
-		 aAreaInfo.iCid = iLocArea.iCellId;
-		}
-	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo()End\n");
-	return ETrue;
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+	
+	
+#include <e32debug.h>
+#include <e32base.h>
+#include <e32property.h>
+#include <etelmm.h>
+#include <rsshared.h>
+#include "clbslocmonitornetworkinfofinder.h"
+#include "lbsdevloggermacros.h"
+
+
+#include <commsdattypesv1_1.h>
+using namespace CommsDat;
+
+const TUint KMaxCellIdOrLac = 65535;
+const TUint KMaxMccOrMnc = 999;
+
+
+/**
+*/
+CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() :
+	iNetworkInfoPckg(iNetworkInfo),
+	iState(EStateNull)
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() Begin\n");
+	CActiveScheduler::Add(this);
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::CLbsLocMonitorNetworkInfoFinder() End\n");
+	}
+
+/**
+*/	
+CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder() Begin\n");
+	Cancel();
+	
+	iNetPhone.Close();
+	iTelServer.Close();
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::~CLbsLocMonitorNetworkInfoFinder() End\n");
+	}
+
+/**
+*/	
+CLbsLocMonitorNetworkInfoFinder* CLbsLocMonitorNetworkInfoFinder::NewL()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::NewL() Begin\n");
+	CLbsLocMonitorNetworkInfoFinder* self = new (ELeave) CLbsLocMonitorNetworkInfoFinder();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::NewL() End\n");
+	return self;
+	}
+
+/**
+*/
+void CLbsLocMonitorNetworkInfoFinder::ConstructL()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ConstructL() Begin\n");
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ConstructL() End\n");
+	}
+
+/**
+*/
+void CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfoL()
+{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfo() Begin\n");
+
+	//Attempt to connect to the ETel Server.  This will start C32Start if
+	//it has not already been started by the startup routine.
+	User::LeaveIfError(iTelServer.Connect());
+		
+	// Check if the Comms Process RootServer has started
+	iConfigurationProperty.Attach(KUidSystemCategory, RootServer::KUidC32StartPropertyKey.iUid);
+	TInt propertyValue = RootServer::EInitialising;
+	TInt propertyResult = iConfigurationProperty.Get(propertyValue);
+		
+	if(propertyValue < RootServer::EConfigurationComplete)
+		{
+		iState = EStateInitializing;
+		iConfigurationProperty.Subscribe(iStatus);
+		SetActive();
+		}
+	else
+		{
+		// Attempt to get network information
+		GetNetworkInfoL();
+		}
+
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::StartGettingNetworkInfo() End\n");
+}
+
+/** 
+*/
+void CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL()
+	{
+	LBSLOG(ELogP1, "->CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL() Begin\n");
+	InitialisePhoneL();
+	
+	// Connected to ETel successfully.
+	// Get the network info
+	iState = EStateGettingNetInfo;
+	iNetPhone.GetCurrentNetwork(iStatus, iNetworkInfoPckg, iLocArea);
+	SetActive();
+	LBSLOG(ELogP1, "<-CLbsLocMonitorNetworkInfoFinder::GetNetworkInfoL() End\n");
+	}
+
+/**
+*/
+void CLbsLocMonitorNetworkInfoFinder::RunL()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunL() Begin\n");
+	User::LeaveIfError(iStatus.Int());
+		
+	switch (iState)
+		{
+
+		case EStateInitializing:
+			{
+			TInt propertyValue = RootServer::EInitialising; // set to safe state
+			TInt propertyResult = iConfigurationProperty.Get(propertyValue);
+			
+			if(propertyValue != RootServer::EConfigurationComplete)
+				{
+				iConfigurationProperty.Subscribe(iStatus);
+				SetActive();
+				}
+			else
+				{
+				iConfigurationProperty.Cancel();
+				GetNetworkInfoL();
+				}
+			break;
+			}
+
+		case EStateGettingNetInfo:
+		case EStateNetInfoChangeMon:
+			{
+			TLbsLocMonitorAreaInfoGci areaInfo;
+			if(ValidateNetInfo(areaInfo))
+				{
+				NotifyObservers(areaInfo);
+				}
+
+			MonitorNetworkChange(); // Keep monitoring
+			break;				
+			}
+
+		default:
+		break;
+		
+		}
+	
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunL() End\n");
+	}
+
+/**
+*/	
+void CLbsLocMonitorNetworkInfoFinder::DoCancel()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::DoCancel() Begin\n");
+	// Check what stage we in are to find out what to cancel
+	switch (iState)
+		{
+		case EStateInitializing:
+			{
+			iConfigurationProperty.Cancel();
+			break;				
+			} 
+		case EStateGettingNetInfo:
+			{
+			iNetPhone.CancelAsyncRequest(EMobilePhoneGetCurrentNetwork);
+			break;
+			}
+		case EStateNetInfoChangeMon:
+			{
+			iNetPhone.CancelAsyncRequest(EMobilePhoneNotifyCurrentNetworkChange);
+			break;
+			}
+			
+		default:
+			break;
+		}
+
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::DoCancel() End\n");
+	}
+
+/**
+*/	
+TInt CLbsLocMonitorNetworkInfoFinder::RunError(TInt /*aError*/)
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunError() Begin\n");
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::RunError() End\n");
+	return KErrNone;
+	}
+
+
+
+/** Asychronous request to obtain notifications
+of change in the current network data
+*/
+void CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange() Begin\n");
+	iState = EStateNetInfoChangeMon;
+	iNetPhone.NotifyCurrentNetworkChange(iStatus, iNetworkInfoPckg, iLocArea);
+	SetActive();
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::MonitorNetworkChange() End\n");
+	}
+
+/** Retrieves the name of the .tsy to use from CommDB/CommsDat
+
+Hard-coded to use the .tsy file specified in the ModemBearerEntry
+which is specified (by index) by the KCDTIdModemPhoneServicesSMS
+setting in the global settings table.
+*/
+void CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL(TDes& aTsyName)
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL() Begin\n");
+	CMDBSession* db = CMDBSession::NewLC(KCDLatestVersion);
+
+	CMDBField<TUint32>* globalSettingField = new(ELeave) CMDBField<TUint32>(KCDTIdModemPhoneServicesSMS);
+	CleanupStack::PushL(globalSettingField);
+
+	globalSettingField->SetRecordId(1);
+	globalSettingField->LoadL(*db);
+	TUint32 modemId = *globalSettingField;
+
+	CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
+	CleanupStack::PushL(tsyField);
+
+	tsyField->SetRecordId(modemId);
+	tsyField->LoadL(*db);
+
+	aTsyName = *tsyField;
+	CleanupStack::PopAndDestroy(3, db); // db, tsyField & globalSettingField
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::GetCommDbTSYnameL() End\n");
+	}
+
+/** Finds and opens the phones to be used to monitor current network
+info.
+
+@leave	Leaves if underlying ETEL.DLL returns error,
+or if we can't find a suitable Phone or can't open it.
+*/
+void CLbsLocMonitorNetworkInfoFinder::InitialisePhoneL()
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::InitialisePhonesL() Begin\n");
+	TInt err(KErrNone);
+		
+	// Read the name of the .tsy to load from CommDB
+	TBuf<KCommsDbSvrMaxFieldLength> tsyName;
+	GetCommDbTSYnameL(tsyName);
+
+	// Load .tsy into ETel
+	User::LeaveIfError(iTelServer.LoadPhoneModule(tsyName));
+
+	// Find available phones; check that the one we requested 
+	// to be loaded is there.
+	TInt phoneIndex(0);
+	User::LeaveIfError(iTelServer.EnumeratePhones(phoneIndex));
+	while(phoneIndex-->0)
+		{
+		TName searchTsyName;
+		// Check whether this phone belongs to loaded TSY
+		if ((iTelServer.GetTsyName(phoneIndex, searchTsyName) == KErrNone) 
+			&& (searchTsyName.CompareF(tsyName) == KErrNone)) 
+			break;
+		}
+	
+	// Open a phone to be used for monitoring the network.
+	RTelServer::TPhoneInfo phoneInfo;
+	User::LeaveIfError(iTelServer.GetPhoneInfo(phoneIndex, phoneInfo));	
+	User::LeaveIfError(iNetPhone.Open(iTelServer, phoneInfo.iName));
+	
+	// Check that the phone is ready to be used.	
+	RPhone::TStatus status;
+	User::LeaveIfError(iNetPhone.GetStatus(status));
+	if(status.iModemDetected != RPhone::EDetectedPresent)
+		{		
+		err = iNetPhone.Initialise();
+		if(err != KErrNone)
+			{
+			iNetPhone.Close();
+			User::Leave(err);
+			}
+		}	
+
+	// Check that current network info can be accessed
+	TUint32 networkCaps;
+	User::LeaveIfError(iNetPhone.GetNetworkCaps(networkCaps));
+	if (!(networkCaps & RMobilePhone::KCapsGetCurrentNetwork
+		  && networkCaps & RMobilePhone::KCapsNotifyCurrentNetwork))
+		{
+		// No point in continuing
+		User::Leave(KErrNotSupported);
+		}
+	
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::InitialisePhonesL() End\n");
+	}
+
+/**
+Checks and fixes if necessary the network info
+*/
+TBool CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo(TLbsLocMonitorAreaInfoGci& aAreaInfo)
+	{
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo()Begin\n");
+	TLex lex(iNetworkInfo.iCountryCode);
+	TInt err = lex.Val(aAreaInfo.iMcc);
+	if(err!=KErrNone || aAreaInfo.iMcc > KMaxMccOrMnc)
+		{	
+		return EFalse;
+		}
+
+	lex.Assign(iNetworkInfo.iNetworkId);
+	err=lex.Val(aAreaInfo.iMnc);
+	if(err!=KErrNone || aAreaInfo.iMnc > KMaxMccOrMnc)
+		{	
+		return EFalse;
+		}
+	if (!iLocArea.iAreaKnown ||
+		(iLocArea.iLocationAreaCode > KMaxCellIdOrLac || 
+		 iLocArea.iCellId > KMaxCellIdOrLac))
+		{	
+		return EFalse;			
+		}
+	else
+		{
+		 aAreaInfo.iLac = iLocArea.iLocationAreaCode;
+		 aAreaInfo.iCid = iLocArea.iCellId;
+		}
+	LBSLOG(ELogP1, "CLbsLocMonitorNetworkInfoFinder::ValidateNetInfo()End\n");
+	return ETrue;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorpluginresolver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,302 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CLbsLocMonitorPluginResolver class
+*
+*/
+
+#include <centralrepository.h>
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+#include "clbslocmonitorpluginresolver.h"
+#include "locmonitorsettingskeys.h"
+#include "lbsdevloggermacros.h"
+
+// Constants
+static const TInt KLeastPluginPriority = 0;
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::NewL
+//
+//-----------------------------------------------------------------------------
+CLbsLocMonitorPluginResolver* CLbsLocMonitorPluginResolver::NewL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::NewL()");
+    CLbsLocMonitorPluginResolver* self = new (ELeave) CLbsLocMonitorPluginResolver;
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::CLbsLocMonitorPluginResolver
+//
+//-----------------------------------------------------------------------------
+CLbsLocMonitorPluginResolver::CLbsLocMonitorPluginResolver():
+CActive(EPriorityStandard), iDefaultConverterPluginId(KNullUid) 
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::CLbsLocMonitorPluginResolver()");
+    CActiveScheduler::Add(this);
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::ConstructL
+//
+//-----------------------------------------------------------------------------
+void CLbsLocMonitorPluginResolver::ConstructL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::ConstructL()");
+    iEcomSession = &(REComSession::OpenL());
+    // Find the default plugin.
+    FindDefaultConverterPluginL();
+    // Register for ecom data change.
+    iEcomSession->NotifyOnChange(iStatus);
+    SetActive();
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::~CLbsLocMonitorPluginResolver
+//
+//-----------------------------------------------------------------------------
+CLbsLocMonitorPluginResolver::~CLbsLocMonitorPluginResolver()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::~CLbsLocMonitorPluginResolver()");
+    // Cancel outstanding notify request.
+    Cancel();
+    iEcomSession->Close();
+    REComSession::FinalClose();
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::DefaultConverterUid
+//
+//-----------------------------------------------------------------------------
+TInt CLbsLocMonitorPluginResolver::DefaultConverterUid(TUid& aConverterPluginUid)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::DefaultConverterUid()");
+    if(iDefaultConverterPluginId == KNullUid)
+        {
+        return KErrNotFound;
+        }
+    aConverterPluginUid = iDefaultConverterPluginId;
+    return KErrNone;
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::FindDefaultConverterPluginL
+//
+//-----------------------------------------------------------------------------
+void CLbsLocMonitorPluginResolver::FindDefaultConverterPluginL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::FindDefaultConverterPluginL()");
+    RImplInfoPtrArray implementationArray;
+    CleanupClosePushL(implementationArray);
+    
+    iEcomSession->ListImplementationsL(TUid::Uid(KLbsLocInfoConverterPlugInInterfaceId),
+                                       implementationArray);
+    
+    TInt count = implementationArray.Count();
+    // Leave if there are no plugin available.
+    if(!count)
+        {
+        CleanupStack::Pop(&implementationArray); 
+        implementationArray.ResetAndDestroy();
+        // Reset the default id.
+        iDefaultConverterPluginId = KNullUid;
+        return;
+        }
+    
+    // Initialise both phoneVendorImpl and otherVendorImpl to NULL.
+    CImplementationInformation* phoneVendorImpl = NULL;
+    CImplementationInformation* otherVendorImpl = NULL;
+    
+    // Get the phone's vendor id from the cenrep.
+    CRepository* repository = NULL;
+    TVendorId phoneVendorId(0);
+   
+    TRAPD(error,repository = CRepository::NewL(KCRUidLocMonitorSettings));
+    if(error == KErrNone)
+        {
+        TInt vendorId;
+        error = repository->Get(EPhoneVendorId,vendorId);
+        if(error == KErrNone)
+            {
+            phoneVendorId.iId = vendorId;
+            }
+        delete repository;
+        }
+    
+    if(error == KErrNone)
+        {
+        // The default plugin to be used is the highest priority plugin provided by the 
+        // phone vendor if any else the highest priority plugin from other vendor. 
+        for(TInt i=0;i<count;i++)
+            {
+            // Check if the implementation belongs to phone vendor. If it belongs to phone vendor 
+            // and if it is the first implementation that we have emcountered,we store the handle
+            // to it else the high priority among the previously stored and current one is stored. 
+            if(phoneVendorId == implementationArray[i]->VendorId())
+                {
+                if(!phoneVendorImpl)
+                    {
+                    phoneVendorImpl = implementationArray[i];
+                    }
+                else
+                    {
+                    TInt currentHighestPriority,currentImplPriority;
+                    currentHighestPriority = PriorityInfo(phoneVendorImpl->OpaqueData());
+                    currentImplPriority = PriorityInfo(implementationArray[i]->OpaqueData());
+                    
+                    // Store the handle to current implementation if its priority  
+                    // is higher than currently stored implementation.
+                    if(currentImplPriority > currentHighestPriority)
+                        {
+                        phoneVendorImpl = implementationArray[i];
+                        }
+                    }
+                }
+            else
+                {
+                // Other vendor implementation is required only if current vendor implementation
+                // is not available. Hence the search for the high priority other vendor implementation
+                // should continue till the phone vendor plug in is found.
+                if(!phoneVendorImpl)
+                    {
+                    if(!otherVendorImpl)
+                        {
+                        otherVendorImpl = implementationArray[i];
+                        }
+                    else
+                        {
+                        TInt currentHighestPriority,currentImplPriority;
+                        currentHighestPriority = PriorityInfo(otherVendorImpl->OpaqueData());
+                        currentImplPriority = PriorityInfo(implementationArray[i]->OpaqueData());
+                        
+                        // Store the handle to current implementation if its priority  
+                        // is higher than currently stored implementation.
+                        if(currentImplPriority > currentHighestPriority)
+                            {
+                            otherVendorImpl = implementationArray[i];
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    else
+        {
+        for(TInt i=0;i<count;i++)
+            {
+            if(!otherVendorImpl)
+                {
+                otherVendorImpl = implementationArray[i];
+                }
+            else
+                {
+                TInt currentHighestPriority,currentImplPriority;
+                currentHighestPriority = PriorityInfo(otherVendorImpl->OpaqueData());
+                currentImplPriority = PriorityInfo(implementationArray[i]->OpaqueData());
+                
+                // Store the handle to current implementation if its priority  
+                // is higher than currently stored implementation.
+                if(currentImplPriority > currentHighestPriority)
+                    {
+                    otherVendorImpl = implementationArray[i];
+                    }
+                }
+
+            }
+        }
+
+    if(phoneVendorImpl)
+        {
+        iDefaultConverterPluginId = phoneVendorImpl->ImplementationUid();
+        }
+    else if(otherVendorImpl)
+        {
+        iDefaultConverterPluginId = otherVendorImpl->ImplementationUid();
+        }
+
+    CleanupStack::Pop(&implementationArray); 
+    implementationArray.ResetAndDestroy();
+    }
+
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::RunL
+//
+//-----------------------------------------------------------------------------
+void CLbsLocMonitorPluginResolver::RunL()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::RunL()");
+    if(KErrNone == iStatus.Int())
+        {
+        FindDefaultConverterPluginL();
+        }
+    // Register for ecom data change.
+    iEcomSession->NotifyOnChange(iStatus);
+    SetActive();
+    }
+
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::DoCancel
+//
+//-----------------------------------------------------------------------------
+void CLbsLocMonitorPluginResolver::DoCancel()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::DoCancel()");
+    iEcomSession->CancelNotifyOnChange(iStatus);
+    }
+
+//----------------------------------------------------------------------------
+// CLbsLocMonitorPluginResolver::PriorityInfo
+//
+//-----------------------------------------------------------------------------
+TInt CLbsLocMonitorPluginResolver::PriorityInfo(const TDesC8& aOpaqueData)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorPluginResolver::PriorityInfo()");
+    TInt opaqueDataLength = aOpaqueData.Length();
+    if(!opaqueDataLength)
+        {
+        return KLeastPluginPriority;
+        }
+    
+    TLex8 lex(aOpaqueData);
+    
+    TInt iterator = 0;
+    // Iterate through the descriptor till we get colon.
+    while(lex.Get() != ':')
+        {
+        iterator++;
+        if(iterator == opaqueDataLength)
+            {
+            return KLeastPluginPriority;
+            }
+        }
+    // Neglect space if any
+    while(lex.Peek() == ' ')
+        {
+        lex.Inc();
+        if(iterator == opaqueDataLength)
+            {
+            return KLeastPluginPriority;
+            }
+        }
+    
+    TInt priority;
+    lex.Val(priority);
+    return priority;
+    }
+
+//End of file
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorposlistener.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorposlistener.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,67 +1,67 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include <e32base.h>
-#include "clbslocmonitorposlistener.h"
-#include "lbsdevloggermacros.h"
-
-
-CLbsLocMonitorPosListener* CLbsLocMonitorPosListener::NewL(MLbsLocMonitorPosListenerObserver& aObserver)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::NewL");
-	CLbsLocMonitorPosListener* self = new(ELeave) CLbsLocMonitorPosListener(aObserver);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-	
-CLbsLocMonitorPosListener::CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver):
-							iObserver(aObserver)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::CLbsLocMonitorPosListener");
-	}
-	
-void CLbsLocMonitorPosListener::ConstructL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::ConstructL");
-	iGpsBus = 	CLbsLocMonitorGpsBus::NewL(*this);
-	}
-	
-CLbsLocMonitorPosListener::~CLbsLocMonitorPosListener()
-	{
-	delete 	iGpsBus;
-	}
-	
-void CLbsLocMonitorPosListener::GpsPositionAvailable(const TPosition& aPosition)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::GpsPositionAvailable");
-	if (Math::IsNaN(aPosition.Latitude()) ||
-        Math::IsNaN(aPosition.Longitude()))
-		{
-		// Donnot send invalid positions to observer
-		return;			
-		}
-	
-	if ((aPosition.Latitude() != iLastGpsPosition.Latitude()) ||
-		(aPosition.Longitude() != iLastGpsPosition.Longitude()))
-		{
-		iObserver.PositionAvailable(aPosition);
-		iLastGpsPosition = aPosition;
-		}
-	}
-
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <e32base.h>
+#include "clbslocmonitorposlistener.h"
+#include "lbsdevloggermacros.h"
+
+
+CLbsLocMonitorPosListener* CLbsLocMonitorPosListener::NewL(MLbsLocMonitorPosListenerObserver& aObserver)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::NewL");
+	CLbsLocMonitorPosListener* self = new(ELeave) CLbsLocMonitorPosListener(aObserver);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+	
+CLbsLocMonitorPosListener::CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver):
+							iObserver(aObserver)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::CLbsLocMonitorPosListener");
+	}
+	
+void CLbsLocMonitorPosListener::ConstructL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::ConstructL");
+	iGpsBus = 	CLbsLocMonitorGpsBus::NewL(*this);
+	}
+	
+CLbsLocMonitorPosListener::~CLbsLocMonitorPosListener()
+	{
+	delete 	iGpsBus;
+	}
+	
+void CLbsLocMonitorPosListener::GpsPositionAvailableL(const TPosition& aPosition)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorPosListener::GpsPositionAvailableL");
+	if (Math::IsNaN(aPosition.Latitude()) ||
+        Math::IsNaN(aPosition.Longitude()))
+		{
+		// Donnot send invalid positions to observer
+		return;			
+		}
+	
+	if ((aPosition.Latitude() != iLastGpsPosition.Latitude()) ||
+		(aPosition.Longitude() != iLastGpsPosition.Longitude()))
+		{
+		iObserver.PositionAvailableL(aPosition);
+		iLastGpsPosition = aPosition;
+		}
+	}
+
+
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,758 +1,756 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <e32base.h>
-#include <lbsareainfo.h>
-#include "lbsdevloggermacros.h"
-#include "clbslocmonitorrequesthandler.h"
-#include "clbslocmonitorutils.h"
-
-const TInt KLbsLocMonitorMaxReadArraySize = 10;
-const TInt KLbsLocMonitorMaxWriteArraySize = 10;
-const TInt KLbsLocMonDbAccessMaxTime = 4000000; // 4 seconds
-const TInt KObserverTimerId = 1;
-
-CLbsLocMonitorRequestHandler* CLbsLocMonitorRequestHandler::NewL()	
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::NewL");
-	CLbsLocMonitorRequestHandler* self = new (ELeave) CLbsLocMonitorRequestHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-	
-void CLbsLocMonitorRequestHandler::ConstructL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ConstructL");
-	iDbOperationTimer = CLbsCallbackTimer::NewL(*this);
-	
-	// Allocate space for a queue of 10 client messages
-	iRequestQueue.ReserveL(KLbsLocMonitorMaxReadArraySize);
-
-	// Pre-allocate space for a queue of positions waiting
-	// to be written to the database
-	iPositionsQueue.ReserveL(KLbsLocMonitorMaxWriteArraySize);
-
-	// Allocate space for 1 pointer to area info source object (Global Cell Id)
-	iCurrentAreaInfo.ReserveL(ELastAreaInfoType);
-	TLbsLocMonitorAreaInfoGci* locMonitorAreaInfoGci = new(ELeave) TLbsLocMonitorAreaInfoGci;
-	CleanupStack::PushL(locMonitorAreaInfoGci);
-	iCurrentAreaInfo.Insert(static_cast<TLbsLocMonitorAreaInfoBase*>(locMonitorAreaInfoGci), EGlobalCellIdType);
-	CleanupStack::Pop(locMonitorAreaInfoGci);
-	
-	iDb.OpenL();
-	}
-	
-CLbsLocMonitorRequestHandler::~CLbsLocMonitorRequestHandler()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::~CLbsLocMonitorRequestHandler");
-	// Cancel the async request
-	Cancel();
-
-	iDbOperationTimer->Cancel();
-	delete iDbOperationTimer;
-	
-	// Complete every message in the queue and remove it
-	TInt count;
-	for(count = iRequestQueue.Count(); count > 0; count--)
-		{
-		iRequestQueue[count-1].Complete(KErrCancel);
-		iRequestQueue.Remove(count-1);
-		}
-	
-	iPositionsQueue.Reset();
-	iPositionsQueue.Close();
-	
-	iRequestQueue.Reset();
-	iRequestQueue.Close();
-	
-	iCurrentAreaInfo.ResetAndDestroy();
-	
-	// close the handle with the database
-	iDb.Close();
-	}
-
-CLbsLocMonitorRequestHandler::CLbsLocMonitorRequestHandler():
-								CActive(EPriorityStandard),
-								iAreaInfoAvailable(EFalse)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CLbsLocMonitorRequestHandler");
-	CActiveScheduler::Add(this);
-	}
-
-/*
-This method is called by subsessions of the location monitor to request
-a database read operation. The request may be processed or queued.
-*/
-void CLbsLocMonitorRequestHandler::PositionRequestL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::PositionRequestL");
-	__ASSERT_DEBUG((aMessage.Function() == EGetLastKnownPosition) ||
-				   (aMessage.Function() == EGetLastKnownPositionArea),
-				   User::Invariant());
-
-	if(iRequestQueue.Count()< KLbsLocMonitorMaxReadArraySize)
-		{
-		iRequestQueue.Append(aMessage);
-		}
-	else
-		{
-		//Unable to handle more requests
-		aMessage.Complete(KErrServerBusy);
-		}
-
-	if (!IsActive())
-		{
-		ProcessNextRequest();	
-		}
-	}
-	
-/* Method called to request that a position is
-stored in the database. This method is called
-as a consequence of a new position being observed
-on an internal position bus.
-*/
-void CLbsLocMonitorRequestHandler::PositionAvailable(const TPosition& aPosition)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::PositionAvailable");
-	if(iPositionsQueue.Count() < KLbsLocMonitorMaxWriteArraySize)
-		{
-		iPositionsQueue.Append(aPosition);
-		}
-	else
-		{
-		// Unable to handle more positions.
-		// The position will be lost.
-		}
-
-	// Store the position in the DB
-	if (!IsActive())
-		{
-		ProcessNextRequest();	
-		}
-	}
-
-/* Method called to request that a last known position sent from
-the Location Server is stored in the database.
-*/
-void CLbsLocMonitorRequestHandler::StoreLastKnownPosition(const TPosition& aPosition)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::StoreLastKnownPosition");
-	iLastKnownPositionAvailable = ETrue;
-	iLastKnownPosition = aPosition;
-	
-	if (!IsActive())
-		{
-		ProcessNextRequest();	
-		}
-	}
-
-/*
-This method is called by sessions of the location monitor to inform that
-the database is about to be deleted. All of the 'read' requests are completed.
-*/
-TInt CLbsLocMonitorRequestHandler::DeleteDatabaseL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DeleteDatabaseL");
-	if(IsActive())
-		{
-		// Terminate ongoing request to the DB
-		Cancel();
-		}
-
-	// Complete all requests in the queue
-	for (TInt index = iRequestQueue.Count()-1; index >=0; index--)
-		{
-		CompleteClientRequest(index, KErrNotFound);
-		}
-		
-	// Clear all positions currenly waiting to be stored
-	for (TInt index = iPositionsQueue.Count()-1; index >=0; index--)
-		{
-		iPositionsQueue.Remove(index);
-		}
-
-	// Clear indication that a last known position
-	// is available for storage
-	iLastKnownPositionAvailable = EFalse;
-
-	// Send deletion request to the DB interface
-	return iDb.ClearDatabase();
-	}
-
-/*
-Cancel a previous request to delete the database.
-*/
-void CLbsLocMonitorRequestHandler::CancelDeleteDatabaseL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CancelDeleteDatabaseL");
-	// Cancel is not possible as deletion is done
-	// synchronously. This method just completes the
-	// client request with KErrNotFound.
-	aMessage.Complete(KErrNotFound);
-	}
-
-/*
-Called when a subsession is closed. Its outstanding requests
-have to be completed/destroyed.
-*/
-void CLbsLocMonitorRequestHandler::ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ClientTerminated");
-	// Find the requests from this client, complete them and delete them
-	if (iRequestQueue.Count()>0)
-		{
-		TInt index = iRequestQueue.FindReverse(aSubsessionId, CLbsLocMonitorUtils::MatchClient);
-		if (index != KErrNotFound)
-			{
-		 	while (index != KErrNotFound)
-				{
-				CompleteClientRequest(index, KErrServerTerminated);
-				// check if there is another one from the same client
-				index = iRequestQueue.FindReverse(aSubsessionId, CLbsLocMonitorUtils::MatchClient);
-				}
-
-			// Cancel ongoing read operation if no client requests are left
-			// in the queue that are interested in the ongoing read operation
-			if (IsActive())
-				{
-				if (ELocMonDbGetPosArea == iOperationInProgress) 
-					{
-					if(KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPositionArea), CLbsLocMonitorUtils::MatchOperation))
-						{
-						Cancel();
-						// There could be outstanding clients interested in a different operation
-						ProcessNextRequest();	
-						}
-					}
-				else if (ELocMonDbGetLast == iOperationInProgress)
-					{
-					if (iAreaInfoAvailable)
-						{
-						if(KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPosition), CLbsLocMonitorUtils::MatchOperation))
-							{
-							// No other client has requests for the ongoing operation
-							Cancel();
-							// There could be outstanding clients interested in a different operation
-							ProcessNextRequest();	
-							}
-						}
-					else
-						{
-						// When no area info available, both the clients wanting GLKP and GLKPA are interested in the results
-						// of a the ongoing ELocMonDbGetLast DB operation. Only cancel if there are no clients of neither type.
-						if((KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPosition), CLbsLocMonitorUtils::MatchOperation) &&
-						   (KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPositionArea), CLbsLocMonitorUtils::MatchOperation))))
-							{
-							Cancel();
-							// There could be outstanding clients interested in a different operation
-							ProcessNextRequest();	
-							}	
-						}				
-					}
-				// else {no other async client operations need cancelling}
-				}
-			}
-		}
-	}
-
-/*
-Cancel a previous request from the same client to retrieve the
-last position stored in the database.
-*/
-void CLbsLocMonitorRequestHandler::CancelPositionRequestL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CancelPositionRequestL");
-	TInt opcodeCancelled(0);
-	EDbOperationType dbOperationCancelled = ELocMonDbOperationNone;
-	
-	// What is this message actually cancelling ?
-	if(aMessage.Function() == ECancelGetLastKnownPosition)
-		{
-		opcodeCancelled = EGetLastKnownPosition;
-		dbOperationCancelled = ELocMonDbGetLast;
-		}
-	else if (aMessage.Function() == ECancelGetLastKnownPositionArea)
-		{
-		opcodeCancelled = EGetLastKnownPositionArea;
-		dbOperationCancelled = ELocMonDbGetPosArea;		
-		}
-	else
-		{
-		// Should never happen
-		__ASSERT_DEBUG(EFalse, User::Invariant());
-		aMessage.Complete(KErrNotSupported);
-		return;
-		}
-	
-	// There should be a queued request originating in the same client whose type
-	// is the one cancelled by aMessage
-	TIdentityRelation<RMessage2> cancelToRequestMatcher(CLbsLocMonitorUtils::MatchCancelAndRequest);
-	TInt index = iRequestQueue.Find(aMessage, cancelToRequestMatcher);
-	if (index != KErrNotFound)
-		{
-		CompleteClientRequest(index, KErrCancel);
-		// complete the synchronous cancel request
-		aMessage.Complete(KErrNone);
-		
-		// If the type of the read operation currently in progress is 
-		// the one being cancelled, and there are no more requests for that
-		// operation in the queue, send a cancel request to the DB.
-		if (IsActive() &&
-		   (iOperationInProgress == dbOperationCancelled) &&
-		   (KErrNotFound == iRequestQueue.Find(opcodeCancelled, CLbsLocMonitorUtils::MatchOperation)))
-			{
-			Cancel();	
-			}
-		else
-			{
-			// Let the read operation continue on behalf of the 
-			// remaining requestors of the same read operation.
-			}
-		}
-	else
-		{
-		// Cient sent a cancel and there is no request to cancel.
-		// Nothing to do.
-		aMessage.Complete(KErrNotFound);
-		}
-	}
-
-/*
- Called when a DB operation completes.
- 
- If it was a 'read' operation, the positon returned
- by the DB is used to complete all of the requests 
- in the queue that would prompt the same read operation.
-*/
-void CLbsLocMonitorRequestHandler::RunL()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::RunL");
-	TInt err = iStatus.Int();
-	iDbOperationTimer->Cancel();
-	
-	if(KErrNone == err)
-		{
-		switch (iOperationInProgress)
-			{
-			case ELocMonDbSavePos:
-				// Position at index 0 of the array has been stored.
-				// Remove it from the queue.
-				iPositionsQueue.Remove(0);
-			break;
-
-			case ELocMonDbGetPosArea:
-			case ELocMonDbGetLast:
-				iPositionInfo.SetPosition(iPosition);
-				CompleteSameTypeMessages(iOperationInProgress, KErrNone);
-				// When no area information is known, use the results of a call to GetLastPosition
-				// to complete also the clients that requested GetLastKnownPositionArea
-				if ((!iAreaInfoAvailable) && (ELocMonDbGetLast == iOperationInProgress))
-					{
-					CompleteSameTypeMessages(ELocMonDbGetPosArea, KErrNone);
-					}
-			break;
-
-			default:
-				// nothing to do 
-			break;
-			}
-		}
-	else if (KErrCancel == err)
-		{
-		// If this happens, that is because a cancel was sent earlier.
-		// The requests affected have been completed and removed from the queue
-		// and there are no outstanding requests of the type just cancelled.
-		}
-	else
-		{
-		HandleDbAccessError(err);
-		}
-
-	// Check if there are any requests left (different operation)
-	// 
-	ProcessNextRequest();
-	}
-	
-/* This method issues the read operation on the DB
-that is required by the client message at position 0 of
-the iRequestQueue.
-*/
-void CLbsLocMonitorRequestHandler::ProcessNextRequest()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ProcessNextRequest");
-	__ASSERT_DEBUG(!IsActive(), User::Invariant());
-	
-	ClearRequestVariables();
-	iOperationInProgress = ELocMonDbOperationNone;
-	
-	// Process queued read operations from clients first
-	if (iRequestQueue.Count() > 0)
-		{	
-		// handle the first request in the queue
-		switch(iRequestQueue[0].Function())
-			{
-			case EGetLastKnownPosition:
-				iOperationInProgress = ELocMonDbGetLast;
-				iDbOperationTimer->EventAfter(TTimeIntervalMicroSeconds32(KLbsLocMonDbAccessMaxTime), KObserverTimerId);
-				iDb.GetLastStoredPosition(iPosition, iStatus);
-				SetActive();
-			break;
-			
-			case EGetLastKnownPositionArea:
-				if (iAreaInfoAvailable)
-					{
-					iOperationInProgress = ELocMonDbGetPosArea;
-					iDb.GetPosition(iPosition, iCurrentAreaInfo, iAreaMatchInfo, iStatus);					
-					}
-				else
-					{
-					iOperationInProgress = ELocMonDbGetLast;
-					iDb.GetLastStoredPosition(iPosition, iStatus);	
-					}
-				iDbOperationTimer->EventAfter(TTimeIntervalMicroSeconds32(KLbsLocMonDbAccessMaxTime), KObserverTimerId);
-				SetActive();
-			break;
-
-			default:
-				//Mesage of unexpected type !
-				__ASSERT_DEBUG(EFalse, User::Invariant());
-				CompleteClientRequest(0,KErrNotSupported);
-			break;
-			}
-		}
-
-	// Process write operations if no read operation was
-	// started.
-	if (!IsActive())
-		{
-		if (iLastKnownPositionAvailable)
-			{
-			iLastKnownPositionAvailable = EFalse;
-			iOperationInProgress = ELocMonDbSaveLastPos;
-			iDb.SavePosition(iLastKnownPosition, iCurrentAreaInfo, iStatus);
-			SetActive();
-			}
-		else if (iPositionsQueue.Count() > 0)
-			{
-			iOperationInProgress = ELocMonDbSavePos;
-			iDb.SavePosition(iPositionsQueue[0],iCurrentAreaInfo,iStatus);
-			SetActive();
-			}	
-		}
-	}
-
-//
-// Complete a client request. If aCompletionCode indicates no error,
-// this method sets into the request (RMessage2) the information it
-// requested.
-//
-void CLbsLocMonitorRequestHandler::CompleteClientRequest(TInt aIndex, TInt aCompletionCode)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest");
-	if ((aIndex < 0) || (aIndex >= iRequestQueue.Count()))
-		{
-		ASSERT(EFalse);
-		return;
-		}
-	
-	if (KErrNone == aCompletionCode)
-		{
-		switch(iRequestQueue[aIndex].Function())
-			{
-			case EGetLastKnownPositionArea:
-				{
-				LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EGetLastKnownPositionArea");
-				// Copy over to client space position data equal to the size 
-				// of the iPositionInfo object, minus the class type at the 
-				// start. This will leave the client position info class
-				// type as it was, but it will get the TPosition into the
-				// right position of the client buffer.
-				const TUint8* start = reinterpret_cast<const TUint8*>(&iPositionInfo) + sizeof(TPositionClassTypeBase);
-				TInt length = sizeof(TPositionInfo) - sizeof(TPositionClassTypeBase);
-				TPtr8 ptr(const_cast<TUint8*>(start), length, length);
-				TInt err = iRequestQueue[aIndex].Write(0, ptr, sizeof(TPositionClassTypeBase)); // position at index 0
-				
-				// Read in the request parameters
-				TPtr8 paramsPtr(reinterpret_cast<TUint8*>(&iRequestParams),
-							sizeof(iRequestParams),
-							sizeof(iRequestParams));
-							
-				MessageUtils::Read(iRequestQueue[aIndex], 2, paramsPtr); // params at index 2	
-
-				// Copy over to client space the correct type of area information.
-				// If the client has passed a TPositionAreaExtendedInfo, just copy
-				// iAreaMatchInfo. Otherwise populate a TPositionAreaInfo and copy that
-				// accross.
-				switch (iRequestParams.iPositionAreaType)
-					{
-					case EPositionAreaInfoClass:
-						{
-						LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EPositionAreaInfoClass");
-						TPositionAreaInfo areaInfo(iAreaMatchInfo.Area());
-						ptr.Set(reinterpret_cast<TUint8*>(&areaInfo),
-							sizeof(areaInfo),
-							sizeof(areaInfo));
-						MessageUtils::Write(iRequestQueue[aIndex], 1, ptr); // area info at index 1
-						}
-					break;
-									
-					case (EPositionAreaExtendedInfoClass|EPositionAreaInfoClass):
-						{
-						LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EPositionAreaExtendedInfoClass");						
-						ptr.Set(reinterpret_cast<TUint8*>(&iAreaMatchInfo),
-								sizeof(iAreaMatchInfo),
-								sizeof(iAreaMatchInfo));
-						MessageUtils::Write(iRequestQueue[aIndex], 1, ptr); // area info at index 1
-						}
-					break;
-					
-
-					default:
-						__ASSERT_DEBUG(EFalse, User::Invariant());
-					break;
-					}
-				
-				break;
-				}
-			
-			case EGetLastKnownPosition:
-				{
-				LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EGetLastKnownPosition");				
-				// Copy over to client space position data equal to the size 
-				// of the iPositionInfo object, minus the class type at the 
-				// start. This will leave the client position info class
-				// type as it was, but it will get the TPosition into the
-				// right position of the client buffer.
-				const TUint8* start = reinterpret_cast<const TUint8*>(&iPositionInfo) + sizeof(TPositionClassTypeBase);
-				TInt length = sizeof(TPositionInfo) - sizeof(TPositionClassTypeBase);
-				TPtr8 ptr(const_cast<TUint8*>(start), length, length);
-				iRequestQueue[aIndex].Write(0, ptr, sizeof(TPositionClassTypeBase)); // position at index 0
-				break;
-				}	
-
-			
-			default:
-				__ASSERT_DEBUG(EFalse, User::Invariant());
-			break;
-			}
-		}
-	else
-		{
-		// Nothing to add to the RMessage2
-		LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - !KErrNone");						
-		}
-
-	iRequestQueue[aIndex].Complete(aCompletionCode);
-	// Dequeue completed request
-	iRequestQueue.Remove(aIndex);
-	}
-
-
-/**
-from CActive
-Simply fwds any errors to the observers
-
-@internalComponent
-@released
-*/
-TInt CLbsLocMonitorRequestHandler::RunError(TInt aError)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::RunError");
-	return aError;	
-	}
-
-/**
-from CActive
-Cancels the request for position update notification
-It will eventually cancel an outstanding subscription request for this property handle.
-
-@internalComponent
-@released
-*/
-void CLbsLocMonitorRequestHandler::DoCancel()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DoCancel");
-	iDbOperationTimer->Cancel();
-	//Cancel the last request sent to the DB
-	switch (iOperationInProgress)
-		{
-		case ELocMonDbGetLast:
-			iDb.CancelGetLastStoredPosition();
-		break;
-		
-		case ELocMonDbGetPosArea:
-			iDb.CancelGetPosition();
-		break;
-		
-		case ELocMonDbSavePos:
-		case ELocMonDbSaveLastPos:
-			iDb.CancelSavePosition();
-		break;
-
-		default:
-			//intentionally empty
-		break;
-		}
-	}
-
-//
-// This method is called by external classes that monitor changes in area information.
-// This method stores the new data info overwriting previous area info of the same
-// type. The stored area information can be used in database searches.
-//
-void CLbsLocMonitorRequestHandler::AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaUpdate)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::AreaInfoUpdate");
-	iAreaInfoAvailable = ETrue;
-	switch(aAreaUpdate.AreaInfoClassType())
-		{
-		case TLbsLocMonitorAreaInfoBase::EAreaGciClass:
-			{
-			// GCI is pointed to from position zero of the array.
-			// Overwrite it with the new area info.
-			TLbsLocMonitorAreaInfoGci& ref = const_cast<TLbsLocMonitorAreaInfoGci&>(static_cast<const TLbsLocMonitorAreaInfoGci&>(aAreaUpdate));
-			*(static_cast<TLbsLocMonitorAreaInfoGci*>(iCurrentAreaInfo[EGlobalCellIdType])) = ref;
-			break;	
-			}
-			
-		default:
-		// No other type currently supported
-		__ASSERT_DEBUG(EFalse, User::Invariant());	
-		break;
-		}	
-	}
-
-// Called before sending a new request to the database
-void CLbsLocMonitorRequestHandler::ClearRequestVariables()
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ClearRequestVariables");
-	iAreaMatchInfo.SetArea(TPositionAreaInfo::EAreaUnknown);
-	iAreaMatchInfo.SetLocationAreaCodeMatch(EFalse);
-	iAreaMatchInfo.SetMobileCountryCodeMatch(EFalse);
-	iAreaMatchInfo.SetMobileNetworkCodeMatch(EFalse);
-	iAreaMatchInfo.SetCellIdMatch(EFalse);
-	
-	TRealX nan; nan.SetNaN();
-	iPosition.SetCoordinate(nan,nan);
-	}
-
-// This method completes all of the queued RMessage2 requests that have 
-// the same operation code. They are completed with aError
-TInt CLbsLocMonitorRequestHandler::CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteSameTypeMessages");
-	TInt opCode = DbReadOperationToOpCode(aDbReadOperation);
-	// Complete all of the RMessage2 objects in the queue that request the same operation
-	// (there might be none due to client(s) cancelling before read operation completes).
-	TInt index = iRequestQueue.FindReverse(opCode, CLbsLocMonitorUtils::MatchOperation);
-	while(index != KErrNotFound)
-		{
-		CompleteClientRequest(index, aError);
-		index = iRequestQueue.FindReverse(opCode, CLbsLocMonitorUtils::MatchOperation);
-		}
-	return opCode;	
-	}
-
-// Returns the opcode present in an RMessage2 that triggered
-// the asynchronous 'read' operation type in aDbOperationType.
-TInt CLbsLocMonitorRequestHandler::DbReadOperationToOpCode(EDbOperationType aDbOperationType)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DbReadOperationToOpCode");
-	TInt ret = KErrNone;
-	switch(aDbOperationType)
-		{
-		case ELocMonDbOperationNone:
-		case ELocMonDbSavePos:
-		case ELocMonDbSaveLastPos:
-			{
-			ret = KErrNotFound;
-			break;
-			}
-
-		
-		case ELocMonDbGetPosArea:
-			{
-			ret = EGetLastKnownPositionArea;
-			break;	
-			}
-
-		 
-		case ELocMonDbGetLast:
-			{
-			ret = EGetLastKnownPosition;
-			break;	
-			}
-
-		default:
-			{
-			ASSERT(EFalse);
-			ret = KErrNotFound;
-			break;
-			}	
-		}
-	return ret;
-	}
-	
-void CLbsLocMonitorRequestHandler::OnTimerEventL(TInt /*aTimerId*/)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::OnTimerEventL");
-	// The DB request has timed out. Complete the active request
-	// (the first int the queue)
-	Cancel();
-	HandleDbAccessError(KErrTimedOut);
-	ProcessNextRequest();
-	}
-
-TInt CLbsLocMonitorRequestHandler::OnTimerError(TInt /*aTimerId*/, TInt aError)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::OnTimerError");
-	ASSERT(EFalse);
-	return aError;			
-	}
-	
-void CLbsLocMonitorRequestHandler::HandleDbAccessError(TInt aError)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::HandleDbAccessError");
-	// A request sent to the DB failed. If it was a 'read' operation the client
-	// is waiting for a response (first message in q must be completed).
-	switch (iOperationInProgress)
-		{
-		case ELocMonDbGetPosArea:
-		case ELocMonDbGetLast:
-			// Check the request is still there before completing it
-			if ((iRequestQueue.Count() > 0) &&
-				(iRequestQueue[0].Function() == DbReadOperationToOpCode(iOperationInProgress)))
-				{
-				CompleteClientRequest(0, aError);
-				}
-		break;
-		
-		case ELocMonDbSavePos:
-			// Remove the (unsaved) position from the queue
-			// as nothing else can be done.
-			iPositionsQueue.Remove(0);
-		break;
-		
-		default:
-			// Nothing can be done
-		break;
-		
-		}
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <e32base.h>
+#include <lbsareainfo.h>
+#include "lbsdevloggermacros.h"
+#include "clbslocmonitorrequesthandler.h"
+#include "clbslocmonitorutils.h"
+
+const TInt KLbsLocMonitorMaxReadArraySize = 10;
+const TInt KLbsLocMonitorMaxWriteArraySize = 10;
+const TInt KLbsLocMonDbAccessMaxTime = 4000000; // 4 seconds
+const TInt KObserverTimerId = 1;
+
+CLbsLocMonitorRequestHandler* CLbsLocMonitorRequestHandler::NewL()	
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::NewL");
+	CLbsLocMonitorRequestHandler* self = new (ELeave) CLbsLocMonitorRequestHandler();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+	
+void CLbsLocMonitorRequestHandler::ConstructL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ConstructL");
+	iDbOperationTimer = CLbsCallbackTimer::NewL(*this);
+	
+	// Allocate space for a queue of 10 client messages
+	iRequestQueue.ReserveL(KLbsLocMonitorMaxReadArraySize);
+
+	// Pre-allocate space for a queue of positions waiting
+	// to be written to the database
+	iPositionsQueue.ReserveL(KLbsLocMonitorMaxWriteArraySize);
+
+	// Allocate space for 1 pointer to area info source object (Global Cell Id)
+	iCurrentAreaInfo.ReserveL(ELastAreaInfoType);
+	TLbsLocMonitorAreaInfoGci* locMonitorAreaInfoGci = new(ELeave) TLbsLocMonitorAreaInfoGci;
+	iCurrentAreaInfo.Insert(static_cast<TLbsLocMonitorAreaInfoBase*>(locMonitorAreaInfoGci), EGlobalCellIdType);
+	
+	iDb.OpenL();
+	}
+	
+CLbsLocMonitorRequestHandler::~CLbsLocMonitorRequestHandler()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::~CLbsLocMonitorRequestHandler");
+	// Cancel the async request
+	Cancel();
+
+	iDbOperationTimer->Cancel();
+	delete iDbOperationTimer;
+	
+	// Complete every message in the queue and remove it
+	TInt count;
+	for(count = iRequestQueue.Count(); count > 0; count--)
+		{
+		iRequestQueue[count-1].Complete(KErrCancel);
+		iRequestQueue.Remove(count-1);
+		}
+	
+	iPositionsQueue.Reset();
+	iPositionsQueue.Close();
+	
+	iRequestQueue.Reset();
+	iRequestQueue.Close();
+	
+	iCurrentAreaInfo.ResetAndDestroy();
+	
+	// close the handle with the database
+	iDb.Close();
+	}
+
+CLbsLocMonitorRequestHandler::CLbsLocMonitorRequestHandler():
+								CActive(EPriorityStandard),
+								iAreaInfoAvailable(EFalse)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CLbsLocMonitorRequestHandler");
+	CActiveScheduler::Add(this);
+	}
+
+/*
+This method is called by subsessions of the location monitor to request
+a database read operation. The request may be processed or queued.
+*/
+void CLbsLocMonitorRequestHandler::PositionRequestL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::PositionRequestL");
+	__ASSERT_DEBUG((aMessage.Function() == EGetLastKnownPosition) ||
+				   (aMessage.Function() == EGetLastKnownPositionArea),
+				   User::Invariant());
+
+	if(iRequestQueue.Count()< KLbsLocMonitorMaxReadArraySize)
+		{
+		iRequestQueue.Append(aMessage);
+		}
+	else
+		{
+		//Unable to handle more requests
+		aMessage.Complete(KErrServerBusy);
+		}
+
+	if (!IsActive())
+		{
+		ProcessNextRequest();	
+		}
+	}
+	
+/* Method called to request that a position is
+stored in the database. This method is called
+as a consequence of a new position being observed
+on an internal position bus.
+*/
+void CLbsLocMonitorRequestHandler::PositionAvailableL(const TPosition& aPosition)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::PositionAvailableL");
+	if(iPositionsQueue.Count() < KLbsLocMonitorMaxWriteArraySize)
+		{
+		iPositionsQueue.AppendL(aPosition);
+		}
+	else
+		{
+		// Unable to handle more positions.
+		// The position will be lost.
+		}
+
+	// Store the position in the DB
+	if (!IsActive())
+		{
+		ProcessNextRequest();	
+		}
+	}
+
+/* Method called to request that a last known position sent from
+the Location Server is stored in the database.
+*/
+void CLbsLocMonitorRequestHandler::StoreLastKnownPosition(const TPosition& aPosition)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::StoreLastKnownPosition");
+	iLastKnownPositionAvailable = ETrue;
+	iLastKnownPosition = aPosition;
+	
+	if (!IsActive())
+		{
+		ProcessNextRequest();	
+		}
+	}
+
+/*
+This method is called by sessions of the location monitor to inform that
+the database is about to be deleted. All of the 'read' requests are completed.
+*/
+TInt CLbsLocMonitorRequestHandler::DeleteDatabaseL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DeleteDatabaseL");
+	if(IsActive())
+		{
+		// Terminate ongoing request to the DB
+		Cancel();
+		}
+
+	// Complete all requests in the queue
+	for (TInt index = iRequestQueue.Count()-1; index >=0; index--)
+		{
+		CompleteClientRequest(index, KErrNotFound);
+		}
+		
+	// Clear all positions currenly waiting to be stored
+	for (TInt index = iPositionsQueue.Count()-1; index >=0; index--)
+		{
+		iPositionsQueue.Remove(index);
+		}
+
+	// Clear indication that a last known position
+	// is available for storage
+	iLastKnownPositionAvailable = EFalse;
+
+	// Send deletion request to the DB interface
+	return iDb.ClearDatabase();
+	}
+
+/*
+Cancel a previous request to delete the database.
+*/
+void CLbsLocMonitorRequestHandler::CancelDeleteDatabaseL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CancelDeleteDatabaseL");
+	// Cancel is not possible as deletion is done
+	// synchronously. This method just completes the
+	// client request with KErrNotFound.
+	aMessage.Complete(KErrNotFound);
+	}
+
+/*
+Called when a subsession is closed. Its outstanding requests
+have to be completed/destroyed.
+*/
+void CLbsLocMonitorRequestHandler::ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ClientTerminated");
+	// Find the requests from this client, complete them and delete them
+	if (iRequestQueue.Count()>0)
+		{
+		TInt index = iRequestQueue.FindReverse(aSubsessionId, CLbsLocMonitorUtils::MatchClient);
+		if (index != KErrNotFound)
+			{
+		 	while (index != KErrNotFound)
+				{
+				CompleteClientRequest(index, KErrServerTerminated);
+				// check if there is another one from the same client
+				index = iRequestQueue.FindReverse(aSubsessionId, CLbsLocMonitorUtils::MatchClient);
+				}
+
+			// Cancel ongoing read operation if no client requests are left
+			// in the queue that are interested in the ongoing read operation
+			if (IsActive())
+				{
+				if (ELocMonDbGetPosArea == iOperationInProgress) 
+					{
+					if(KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPositionArea), CLbsLocMonitorUtils::MatchOperation))
+						{
+						Cancel();
+						// There could be outstanding clients interested in a different operation
+						ProcessNextRequest();	
+						}
+					}
+				else if (ELocMonDbGetLast == iOperationInProgress)
+					{
+					if (iAreaInfoAvailable)
+						{
+						if(KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPosition), CLbsLocMonitorUtils::MatchOperation))
+							{
+							// No other client has requests for the ongoing operation
+							Cancel();
+							// There could be outstanding clients interested in a different operation
+							ProcessNextRequest();	
+							}
+						}
+					else
+						{
+						// When no area info available, both the clients wanting GLKP and GLKPA are interested in the results
+						// of a the ongoing ELocMonDbGetLast DB operation. Only cancel if there are no clients of neither type.
+						if((KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPosition), CLbsLocMonitorUtils::MatchOperation) &&
+						   (KErrNotFound == iRequestQueue.FindReverse(static_cast<TInt>(EGetLastKnownPositionArea), CLbsLocMonitorUtils::MatchOperation))))
+							{
+							Cancel();
+							// There could be outstanding clients interested in a different operation
+							ProcessNextRequest();	
+							}	
+						}				
+					}
+				// else {no other async client operations need cancelling}
+				}
+			}
+		}
+	}
+
+/*
+Cancel a previous request from the same client to retrieve the
+last position stored in the database.
+*/
+void CLbsLocMonitorRequestHandler::CancelPositionRequestL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CancelPositionRequestL");
+	TInt opcodeCancelled(0);
+	EDbOperationType dbOperationCancelled = ELocMonDbOperationNone;
+	
+	// What is this message actually cancelling ?
+	if(aMessage.Function() == ECancelGetLastKnownPosition)
+		{
+		opcodeCancelled = EGetLastKnownPosition;
+		dbOperationCancelled = ELocMonDbGetLast;
+		}
+	else if (aMessage.Function() == ECancelGetLastKnownPositionArea)
+		{
+		opcodeCancelled = EGetLastKnownPositionArea;
+		dbOperationCancelled = ELocMonDbGetPosArea;		
+		}
+	else
+		{
+		// Should never happen
+		__ASSERT_DEBUG(EFalse, User::Invariant());
+		aMessage.Complete(KErrNotSupported);
+		return;
+		}
+	
+	// There should be a queued request originating in the same client whose type
+	// is the one cancelled by aMessage
+	TIdentityRelation<RMessage2> cancelToRequestMatcher(CLbsLocMonitorUtils::MatchCancelAndRequest);
+	TInt index = iRequestQueue.Find(aMessage, cancelToRequestMatcher);
+	if (index != KErrNotFound)
+		{
+		CompleteClientRequest(index, KErrCancel);
+		// complete the synchronous cancel request
+		aMessage.Complete(KErrNone);
+		
+		// If the type of the read operation currently in progress is 
+		// the one being cancelled, and there are no more requests for that
+		// operation in the queue, send a cancel request to the DB.
+		if (IsActive() &&
+		   (iOperationInProgress == dbOperationCancelled) &&
+		   (KErrNotFound == iRequestQueue.Find(opcodeCancelled, CLbsLocMonitorUtils::MatchOperation)))
+			{
+			Cancel();	
+			}
+		else
+			{
+			// Let the read operation continue on behalf of the 
+			// remaining requestors of the same read operation.
+			}
+		}
+	else
+		{
+		// Cient sent a cancel and there is no request to cancel.
+		// Nothing to do.
+		aMessage.Complete(KErrNotFound);
+		}
+	}
+
+/*
+ Called when a DB operation completes.
+ 
+ If it was a 'read' operation, the positon returned
+ by the DB is used to complete all of the requests 
+ in the queue that would prompt the same read operation.
+*/
+void CLbsLocMonitorRequestHandler::RunL()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::RunL");
+	TInt err = iStatus.Int();
+	iDbOperationTimer->Cancel();
+	
+	if(KErrNone == err)
+		{
+		switch (iOperationInProgress)
+			{
+			case ELocMonDbSavePos:
+				// Position at index 0 of the array has been stored.
+				// Remove it from the queue.
+				iPositionsQueue.Remove(0);
+			break;
+
+			case ELocMonDbGetPosArea:
+			case ELocMonDbGetLast:
+				iPositionInfo.SetPosition(iPosition);
+				CompleteSameTypeMessages(iOperationInProgress, KErrNone);
+				// When no area information is known, use the results of a call to GetLastPosition
+				// to complete also the clients that requested GetLastKnownPositionArea
+				if ((!iAreaInfoAvailable) && (ELocMonDbGetLast == iOperationInProgress))
+					{
+					CompleteSameTypeMessages(ELocMonDbGetPosArea, KErrNone);
+					}
+			break;
+
+			default:
+				// nothing to do 
+			break;
+			}
+		}
+	else if (KErrCancel == err)
+		{
+		// If this happens, that is because a cancel was sent earlier.
+		// The requests affected have been completed and removed from the queue
+		// and there are no outstanding requests of the type just cancelled.
+		}
+	else
+		{
+		HandleDbAccessError(err);
+		}
+
+	// Check if there are any requests left (different operation)
+	// 
+	ProcessNextRequest();
+	}
+	
+/* This method issues the read operation on the DB
+that is required by the client message at position 0 of
+the iRequestQueue.
+*/
+void CLbsLocMonitorRequestHandler::ProcessNextRequest()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ProcessNextRequest");
+	__ASSERT_DEBUG(!IsActive(), User::Invariant());
+	
+	ClearRequestVariables();
+	iOperationInProgress = ELocMonDbOperationNone;
+	
+	// Process queued read operations from clients first
+	if (iRequestQueue.Count() > 0)
+		{	
+		// handle the first request in the queue
+		switch(iRequestQueue[0].Function())
+			{
+			case EGetLastKnownPosition:
+				iOperationInProgress = ELocMonDbGetLast;
+				iDbOperationTimer->EventAfter(TTimeIntervalMicroSeconds32(KLbsLocMonDbAccessMaxTime), KObserverTimerId);
+				iDb.GetLastStoredPosition(iPosition, iStatus);
+				SetActive();
+			break;
+			
+			case EGetLastKnownPositionArea:
+				if (iAreaInfoAvailable)
+					{
+					iOperationInProgress = ELocMonDbGetPosArea;
+					iDb.GetPosition(iPosition, iCurrentAreaInfo, iAreaMatchInfo, iStatus);					
+					}
+				else
+					{
+					iOperationInProgress = ELocMonDbGetLast;
+					iDb.GetLastStoredPosition(iPosition, iStatus);	
+					}
+				iDbOperationTimer->EventAfter(TTimeIntervalMicroSeconds32(KLbsLocMonDbAccessMaxTime), KObserverTimerId);
+				SetActive();
+			break;
+
+			default:
+				//Mesage of unexpected type !
+				__ASSERT_DEBUG(EFalse, User::Invariant());
+				CompleteClientRequest(0,KErrNotSupported);
+			break;
+			}
+		}
+
+	// Process write operations if no read operation was
+	// started.
+	if (!IsActive())
+		{
+		if (iLastKnownPositionAvailable)
+			{
+			iLastKnownPositionAvailable = EFalse;
+			iOperationInProgress = ELocMonDbSaveLastPos;
+			iDb.SavePosition(iLastKnownPosition, iCurrentAreaInfo, ETrue, iStatus);
+			SetActive();
+			}
+		else if (iPositionsQueue.Count() > 0)
+			{
+			iOperationInProgress = ELocMonDbSavePos;
+			iDb.SavePosition(iPositionsQueue[0], iCurrentAreaInfo, ETrue, iStatus);
+			SetActive();
+			}	
+		}
+	}
+
+//
+// Complete a client request. If aCompletionCode indicates no error,
+// this method sets into the request (RMessage2) the information it
+// requested.
+//
+void CLbsLocMonitorRequestHandler::CompleteClientRequest(TInt aIndex, TInt aCompletionCode)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest");
+	if ((aIndex < 0) || (aIndex >= iRequestQueue.Count()))
+		{
+		ASSERT(EFalse);
+		return;
+		}
+	
+	if (KErrNone == aCompletionCode)
+		{
+		switch(iRequestQueue[aIndex].Function())
+			{
+			case EGetLastKnownPositionArea:
+				{
+				LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EGetLastKnownPositionArea");
+				// Copy over to client space position data equal to the size 
+				// of the iPositionInfo object, minus the class type at the 
+				// start. This will leave the client position info class
+				// type as it was, but it will get the TPosition into the
+				// right position of the client buffer.
+				const TUint8* start = reinterpret_cast<const TUint8*>(&iPositionInfo) + sizeof(TPositionClassTypeBase);
+				TInt length = sizeof(TPositionInfo) - sizeof(TPositionClassTypeBase);
+				TPtr8 ptr(const_cast<TUint8*>(start), length, length);
+				TInt err = iRequestQueue[aIndex].Write(0, ptr, sizeof(TPositionClassTypeBase)); // position at index 0
+				
+				// Read in the request parameters
+				TPtr8 paramsPtr(reinterpret_cast<TUint8*>(&iRequestParams),
+							sizeof(iRequestParams),
+							sizeof(iRequestParams));
+							
+				MessageUtils::Read(iRequestQueue[aIndex], 2, paramsPtr); // params at index 2	
+
+				// Copy over to client space the correct type of area information.
+				// If the client has passed a TPositionAreaExtendedInfo, just copy
+				// iAreaMatchInfo. Otherwise populate a TPositionAreaInfo and copy that
+				// accross.
+				switch (iRequestParams.iPositionAreaType)
+					{
+					case EPositionAreaInfoClass:
+						{
+						LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EPositionAreaInfoClass");
+						TPositionAreaInfo areaInfo(iAreaMatchInfo.Area());
+						ptr.Set(reinterpret_cast<TUint8*>(&areaInfo),
+							sizeof(areaInfo),
+							sizeof(areaInfo));
+						MessageUtils::Write(iRequestQueue[aIndex], 1, ptr); // area info at index 1
+						}
+					break;
+									
+					case (EPositionAreaExtendedInfoClass|EPositionAreaInfoClass):
+						{
+						LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EPositionAreaExtendedInfoClass");						
+						ptr.Set(reinterpret_cast<TUint8*>(&iAreaMatchInfo),
+								sizeof(iAreaMatchInfo),
+								sizeof(iAreaMatchInfo));
+						MessageUtils::Write(iRequestQueue[aIndex], 1, ptr); // area info at index 1
+						}
+					break;
+					
+
+					default:
+						__ASSERT_DEBUG(EFalse, User::Invariant());
+					break;
+					}
+				
+				break;
+				}
+			
+			case EGetLastKnownPosition:
+				{
+				LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - EGetLastKnownPosition");				
+				// Copy over to client space position data equal to the size 
+				// of the iPositionInfo object, minus the class type at the 
+				// start. This will leave the client position info class
+				// type as it was, but it will get the TPosition into the
+				// right position of the client buffer.
+				const TUint8* start = reinterpret_cast<const TUint8*>(&iPositionInfo) + sizeof(TPositionClassTypeBase);
+				TInt length = sizeof(TPositionInfo) - sizeof(TPositionClassTypeBase);
+				TPtr8 ptr(const_cast<TUint8*>(start), length, length);
+				iRequestQueue[aIndex].Write(0, ptr, sizeof(TPositionClassTypeBase)); // position at index 0
+				break;
+				}	
+
+			
+			default:
+				__ASSERT_DEBUG(EFalse, User::Invariant());
+			break;
+			}
+		}
+	else
+		{
+		// Nothing to add to the RMessage2
+		LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteClientRequest - !KErrNone");						
+		}
+
+	iRequestQueue[aIndex].Complete(aCompletionCode);
+	// Dequeue completed request
+	iRequestQueue.Remove(aIndex);
+	}
+
+
+/**
+from CActive
+Simply fwds any errors to the observers
+
+@internalComponent
+@released
+*/
+TInt CLbsLocMonitorRequestHandler::RunError(TInt aError)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::RunError");
+	return aError;	
+	}
+
+/**
+from CActive
+Cancels the request for position update notification
+It will eventually cancel an outstanding subscription request for this property handle.
+
+@internalComponent
+@released
+*/
+void CLbsLocMonitorRequestHandler::DoCancel()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DoCancel");
+	iDbOperationTimer->Cancel();
+	//Cancel the last request sent to the DB
+	switch (iOperationInProgress)
+		{
+		case ELocMonDbGetLast:
+			iDb.CancelGetLastStoredPosition();
+		break;
+		
+		case ELocMonDbGetPosArea:
+			iDb.CancelGetPosition();
+		break;
+		
+		case ELocMonDbSavePos:
+		case ELocMonDbSaveLastPos:
+			iDb.CancelSavePosition();
+		break;
+
+		default:
+			//intentionally empty
+		break;
+		}
+	}
+
+//
+// This method is called by external classes that monitor changes in area information.
+// This method stores the new data info overwriting previous area info of the same
+// type. The stored area information can be used in database searches.
+//
+void CLbsLocMonitorRequestHandler::AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaUpdate)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::AreaInfoUpdate");
+	iAreaInfoAvailable = ETrue;
+	switch(aAreaUpdate.AreaInfoClassType())
+		{
+		case TLbsLocMonitorAreaInfoBase::EAreaGciClass:
+			{
+			// GCI is pointed to from position zero of the array.
+			// Overwrite it with the new area info.
+			TLbsLocMonitorAreaInfoGci& ref = const_cast<TLbsLocMonitorAreaInfoGci&>(static_cast<const TLbsLocMonitorAreaInfoGci&>(aAreaUpdate));
+			*(static_cast<TLbsLocMonitorAreaInfoGci*>(iCurrentAreaInfo[EGlobalCellIdType])) = ref;
+			break;	
+			}
+			
+		default:
+		// No other type currently supported
+		__ASSERT_DEBUG(EFalse, User::Invariant());	
+		break;
+		}	
+	}
+
+// Called before sending a new request to the database
+void CLbsLocMonitorRequestHandler::ClearRequestVariables()
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::ClearRequestVariables");
+	iAreaMatchInfo.SetArea(TPositionAreaInfo::EAreaUnknown);
+	iAreaMatchInfo.SetLocationAreaCodeMatch(EFalse);
+	iAreaMatchInfo.SetMobileCountryCodeMatch(EFalse);
+	iAreaMatchInfo.SetMobileNetworkCodeMatch(EFalse);
+	iAreaMatchInfo.SetCellIdMatch(EFalse);
+	
+	TRealX nan; nan.SetNaN();
+	iPosition.SetCoordinate(nan,nan);
+	}
+
+// This method completes all of the queued RMessage2 requests that have 
+// the same operation code. They are completed with aError
+TInt CLbsLocMonitorRequestHandler::CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::CompleteSameTypeMessages");
+	TInt opCode = DbReadOperationToOpCode(aDbReadOperation);
+	// Complete all of the RMessage2 objects in the queue that request the same operation
+	// (there might be none due to client(s) cancelling before read operation completes).
+	TInt index = iRequestQueue.FindReverse(opCode, CLbsLocMonitorUtils::MatchOperation);
+	while(index != KErrNotFound)
+		{
+		CompleteClientRequest(index, aError);
+		index = iRequestQueue.FindReverse(opCode, CLbsLocMonitorUtils::MatchOperation);
+		}
+	return opCode;	
+	}
+
+// Returns the opcode present in an RMessage2 that triggered
+// the asynchronous 'read' operation type in aDbOperationType.
+TInt CLbsLocMonitorRequestHandler::DbReadOperationToOpCode(EDbOperationType aDbOperationType)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::DbReadOperationToOpCode");
+	TInt ret = KErrNone;
+	switch(aDbOperationType)
+		{
+		case ELocMonDbOperationNone:
+		case ELocMonDbSavePos:
+		case ELocMonDbSaveLastPos:
+			{
+			ret = KErrNotFound;
+			break;
+			}
+
+		
+		case ELocMonDbGetPosArea:
+			{
+			ret = EGetLastKnownPositionArea;
+			break;	
+			}
+
+		 
+		case ELocMonDbGetLast:
+			{
+			ret = EGetLastKnownPosition;
+			break;	
+			}
+
+		default:
+			{
+			ASSERT(EFalse);
+			ret = KErrNotFound;
+			break;
+			}	
+		}
+	return ret;
+	}
+	
+void CLbsLocMonitorRequestHandler::OnTimerEventL(TInt /*aTimerId*/)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::OnTimerEventL");
+	// The DB request has timed out. Complete the active request
+	// (the first int the queue)
+	Cancel();
+	HandleDbAccessError(KErrTimedOut);
+	ProcessNextRequest();
+	}
+
+TInt CLbsLocMonitorRequestHandler::OnTimerError(TInt /*aTimerId*/, TInt aError)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::OnTimerError");
+	ASSERT(EFalse);
+	return aError;			
+	}
+	
+void CLbsLocMonitorRequestHandler::HandleDbAccessError(TInt aError)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::HandleDbAccessError");
+	// A request sent to the DB failed. If it was a 'read' operation the client
+	// is waiting for a response (first message in q must be completed).
+	switch (iOperationInProgress)
+		{
+		case ELocMonDbGetPosArea:
+		case ELocMonDbGetLast:
+			// Check the request is still there before completing it
+			if ((iRequestQueue.Count() > 0) &&
+				(iRequestQueue[0].Function() == DbReadOperationToOpCode(iOperationInProgress)))
+				{
+				CompleteClientRequest(0, aError);
+				}
+		break;
+		
+		case ELocMonDbSavePos:
+			// Remove the (unsaved) position from the queue
+			// as nothing else can be done.
+			iPositionsQueue.Remove(0);
+		break;
+		
+		default:
+			// Nothing can be done
+		break;
+		
+		}
+	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,283 +1,336 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "clbslocmonitorserver.h"
-#include "lbslocmonitorserverdata.h"
-#include "lbsdevloggermacros.h"
-
-
-// -------------------------------------------------------------------------------
-// --------------------  Server's security policy  -------------------------------
-// -------------------------------------------------------------------------------
-
-// SID of the EPOS Location Server (needed for security check)
-#ifdef UNIT_TEST_LOCMONITOR
-const TInt KLocationServerSID=0x102869E3;
-#else
-const TInt KLocationServerSID=0x101f97b2;
-#endif
-const TInt KNetworkGatewaySID=0x10281D46;
-
-const TInt KShutDownDelay = 10000000; // 10 seconds
-
-// Definition of the ranges of IPC numbers
-const TInt locMonitorServerPolicyRanges[] = 
-    {
-	0,								// subsessionbase open and close (from ServerFramework)	
-	ECancelDbWipeOut,				// wipe out db and cancel wipe out
-	ECancelGetLastKnownPositionArea,// All PositionArea subsession messages
-	EAreaPositionerLastMessageId,	// Not a message...not supported
-    }; 
-    
-// Total number of ranges
-const TUint locMonitorServerPolicyRangeCount = 
-    sizeof(locMonitorServerPolicyRanges) / sizeof(TInt);
-
-// Types of Policies
-enum TPolicies
-    {
-    EPolicyLocationNeeded = 0
-    };
-
-// Specific capability checks
-const CPolicyServer::TPolicyElement locMonitorServerPolicyElements[] = 
-    {
-     //policy EPolicyLocationNeeded - fail call if Location not present
-	 {_INIT_SECURITY_POLICY_C1(ECapabilityLocation), CPolicyServer::EFailClient}
-    };
-    
-//Policy to implement for each of the above ranges        
-const TUint8 locMonitorServerPolicyElementsIndex[locMonitorServerPolicyRangeCount] = 
-  {
-    CPolicyServer::EAlwaysPass,  // subsessionbase open and close
-    CPolicyServer::EAlwaysPass,  // wipe out db and cancel wipe out (could be EPolicyLocationNeeded,)
-    CPolicyServer::EAlwaysPass,	 // Position Area subsession messages (could be EPolicyLocationNeeded)
-    CPolicyServer::ENotSupported // Invalid values 
-    };
-
-//Package all the above together into a policy
-const CPolicyServer::TPolicy locMonitorServerPolicy =
-    {
-    CPolicyServer::ECustomCheck,            // onConnect...only certain processes are allowed to connect
-    locMonitorServerPolicyRangeCount,	    // number of ranges                                   
-    locMonitorServerPolicyRanges,	        // ranges array
-    locMonitorServerPolicyElementsIndex,	// elements<->ranges index
-    locMonitorServerPolicyElements,		    // array of elements
-    };
-
-/**
- * From CPolicyServer
- * This method checks the SID of the message sender.
- * The check of SID has been done this way (instead of using a TPolicyElement)
- * to allow more SIDs (e.g, from NRH, NG, etc) to be checked 
- * in the future.
- * The check fails if the message hasn't been sent from a client with an authorized SID.
- * Default action (FailClient) will take place if the check fails.
- */
-CPolicyServer::TCustomResult CLbsLocMonitorServer::CustomSecurityCheckL(const RMessage2& aMsg, TInt& /*aAction*/,TSecurityInfo& /*aMissing*/)
-    {
-    LBSLOG(ELogP1,"CLbsLocMonitorServer::CustomSecurityCheckL");
-
-	CPolicyServer::TCustomResult result = CPolicyServer::EPass;
-
-	// Check if the message source is one on the allowed processes
-    static _LIT_SECURITY_POLICY_S0(allowEposLocServerPolicy, KLocationServerSID);
-    TBool isEposLocServer = allowEposLocServerPolicy().CheckPolicy(aMsg);
-    
-    static _LIT_SECURITY_POLICY_S0(allowNetworkGatewayPolicy, KNetworkGatewaySID);
-    TBool isNetworkGateway = allowNetworkGatewayPolicy().CheckPolicy(aMsg); 
-	
-    // Fail the check if none of the allowed processes has sent the message
-	if (!isEposLocServer && !isNetworkGateway)
-		{
-		result = CPolicyServer::EFail;
-		}
-    return result;
-    }
-
-// -------------------------------------------------------------------------------
-// -------------  Methods required by the Server Framework  ----------------------
-// -------------  for server startup                        ----------------------
-// -------------------------------------------------------------------------------
-
-MCreateServerImpl* CSecureASBase::GetImplLC()
-	{
-	LBSLOG(ELogP1,"CSecureASBase::GetImplLC()");
-	CLbsLocMonitorCreator* impl = new(ELeave) CLbsLocMonitorCreator();
-	CleanupStack::PushL(impl);
-	return impl;
-	}
-
-void CLbsLocMonitorCreator::CreateServerLC(TServerStartParams& aParams)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorCreator::CreateServerLC");
-	CLbsLocMonitorServer* s = new(ELeave) CLbsLocMonitorServer(CActive::EPriorityStandard, locMonitorServerPolicy);
-	CleanupStack::PushL(s);
-	s->ConstructL(aParams.GetServerName());
-	}
-
-// -------------------------------------------------------------------------------
-// -------------  Location Monitor Server implementation   -----------------------
-// -------------------------------------------------------------------------------
-
-CLbsLocMonitorServer::CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy) : 
-										   CSecureServerBase(aPriority, aSecurityPolicy),
-										   iVersion(KLbsLocMonitorMajorVersionNumber,
-										   KLbsLocMonitorMinorVersionNumber,
-										   KLbsLocMonitorBuildVersionNumber)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::CLbsLocMonitorServer");
-	}
-		
-void CLbsLocMonitorServer::ConstructL(const TDesC& aServerName)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::ConstructL");
-	StartL(aServerName);
-
-	// Server Framework requires the method BaseConstructL(TBool)
-	// to be called.
-	// Passing EFalse means the Location Monitor would be a
-	// permanent process only terminated from root.
-	//
-	if (FindRootProcess())
-		{
-		BaseConstructL(EFalse);	
-		}
-	else
-		{
-		BaseConstructL(ETrue);
-		//Set timer to two seconds
-		SetShutdownDelay(KShutDownDelay);
-		}
-
-    // Create the monitor which detects a closedown signal from
-    // the LBS Root Process.
-    iCloseDownRequestDetector = CLbsCloseDownRequestDetector::NewL(
-    								this, 
-									KLbsLocMonitorUid);
-
-	// Object for writing/reading to/from the DB
-	iRequestHandler = CLbsLocMonitorRequestHandler::NewL();
-
-	// Instantiate area info finders (just one for now, a network info finder)
-	// and set DB reader and writer as its observers.	
-	iAreaInfoFinders.ReserveL(1);
-	
-	iAreaInfoFinders.Insert(static_cast<CLbsLocMonitorAreaInfoFinder*>(CLbsLocMonitorNetworkInfoFinder::NewL()), ENetworkInfoFinder);
-	iAreaInfoFinders[ENetworkInfoFinder]->RegisterObserverL(*iRequestHandler);
-
-	// Instantiate a position listener that will feed positions to the DB writer
-	iPosListener = CLbsLocMonitorPosListener::NewL(*iRequestHandler);
-	
-	// Initiate monitoring of network information
-	static_cast<CLbsLocMonitorNetworkInfoFinder*>(iAreaInfoFinders[ENetworkInfoFinder])->StartGettingNetworkInfoL();
-	}
-
-CLbsLocMonitorServer::~CLbsLocMonitorServer()
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::~CLbsLocMonitorServer");
-	
-	// inform observers (subsessions) that server destructed
-	for(TInt i=0; i < iDestructionObservers.Count(); i++)
-	    {
-        iDestructionObservers[i]->LocMonServerDestructed();
-	    }
-	
-	iDestructionObservers.Reset();
-	delete iRequestHandler;
-	delete iPosListener;
-	iAreaInfoFinders.ResetAndDestroy();
-	delete iCloseDownRequestDetector;
-	}
-
-CSession2* CLbsLocMonitorServer::DoNewSessionL(const TVersion& /*aVersion*/, const RMessage2& /*aMessage*/) const
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::DoNewSessionL");
-	return new(ELeave) CLbsLocMonitorSession(); // version number already checked at this point
-	}
-	
-TVersion CLbsLocMonitorServer::GetServerVersion() const
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::GetServerVersion()");
-	return iVersion;
-	}
-
-CLbsLocMonitorRequestHandler& CLbsLocMonitorServer::ReadRequestHandler() const
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorServer::ReadRequestHandler()");
-	return (*iRequestHandler);
-	}
-
-
-/* Intended for use by subsessions
-   Called to register as an observer
- 
- */
-void CLbsLocMonitorServer::SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver)
-    {
-    LBSLOG(ELogP1,"CLbsLocMonitorServer::SetLocMonServerDestructObserver()");
-    iDestructionObservers.AppendL(&aDestructObserver);
-    }
-
-/* Intended for use by subsessions
-   Called to deregister as an observer
- */
-void CLbsLocMonitorServer::UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver)
-    {
-    LBSLOG(ELogP1,"CLbsLocMonitorServer::UnsetLocMonServerDestructObserver()");
-    
-    TInt i = iDestructionObservers.Find(&aDestructObserver);
-    if(KErrNotFound != i)
-        {
-        iDestructionObservers.Remove(i);
-        }
-    }
-
-/* Called when LbsRoot has requested that the Location Monitor should 
-   closedown.
-*/
-void CLbsLocMonitorServer::OnProcessCloseDown()
-    {
-    LBSLOG(ELogP1,"CLbsLocMonitorServer::OnProcessCloseDown()");
-    CActiveScheduler::Stop();
-    }
-    
-    
-TBool CLbsLocMonitorServer::FindRootProcess()
-	{
-	_LIT(KLbsRootProcessName, "lbsroot.exe*");
-	TInt err(KErrNotFound);
-	TFullName fullName;			
-	TFindProcess processFinder(KLbsRootProcessName);
-	while (err = processFinder.Next(fullName), err == KErrNone)
-		{
-		RProcess process;
-		TInt processOpenErr = process.Open(processFinder);
-		if (processOpenErr == KErrNone)
-			{
-			TExitType exitType = process.ExitType();
-			if (exitType == EExitPending)
-				{
-				// Found a running instance of lbsroot.exe,
-				return ETrue;
-				}
-			}
-		process.Close();		
-		}
-		
-	return EFalse;
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "clbslocmonitorserver.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsdevloggermacros.h"
+#ifdef SYMBIAN_FEATURE_MANAGER
+    #include <featdiscovery.h>
+    #include <featureuids.h>
+#endif
+
+// -------------------------------------------------------------------------------
+// --------------------  Server's security policy  -------------------------------
+// -------------------------------------------------------------------------------
+
+
+const TInt KShutDownDelay = 10000000; // 10 seconds
+
+// Definition of the ranges of IPC numbers
+const TInt locMonitorServerPolicyRanges[] = 
+    {
+	0,								// subsessionbase open and close (from ServerFramework)	
+	ECancelDbWipeOut,				// wipe out db and cancel wipe out
+	ECancelGetLastKnownPositionArea,// All PositionArea subsession messages
+	EAreaPositionerLastMessageId,	// Not a message...not supported
+    }; 
+    
+// Total number of ranges
+const TUint locMonitorServerPolicyRangeCount = 
+    sizeof(locMonitorServerPolicyRanges) / sizeof(TInt);
+
+// Types of Policies
+enum TPolicies
+    {
+    EPolicyLocationNeeded = 0
+    };
+
+// Specific capability checks
+const CPolicyServer::TPolicyElement locMonitorServerPolicyElements[] = 
+    {
+     //policy EPolicyLocationNeeded - fail call if Location not present
+	 {_INIT_SECURITY_POLICY_C1(ECapabilityLocation), CPolicyServer::EFailClient}
+    };
+    
+//Policy to implement for each of the above ranges        
+const TUint8 locMonitorServerPolicyElementsIndex[locMonitorServerPolicyRangeCount] = 
+  {
+    CPolicyServer::EAlwaysPass,  // subsessionbase open and close
+    CPolicyServer::EAlwaysPass,  // wipe out db and cancel wipe out (could be EPolicyLocationNeeded,)
+    CPolicyServer::EAlwaysPass,	 // Position Area subsession messages (could be EPolicyLocationNeeded)
+    CPolicyServer::ENotSupported // Invalid values 
+    };
+
+//Package all the above together into a policy
+const CPolicyServer::TPolicy locMonitorServerPolicy =
+    {
+    CPolicyServer::ECustomCheck,            
+    locMonitorServerPolicyRangeCount,	    // number of ranges                                   
+    locMonitorServerPolicyRanges,	        // ranges array
+    locMonitorServerPolicyElementsIndex,	// elements<->ranges index
+    locMonitorServerPolicyElements,		    // array of elements
+    };
+
+
+CPolicyServer::TCustomResult CLbsLocMonitorServer::CustomSecurityCheckL(const RMessage2& /*aMsg*/, TInt& /*aAction*/,TSecurityInfo& /*aMissing*/)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::CustomSecurityCheckL");
+
+	CPolicyServer::TCustomResult result = CPolicyServer::EPass;
+
+    return result;
+    }
+
+// -------------------------------------------------------------------------------
+// -------------  Methods required by the Server Framework  ----------------------
+// -------------  for server startup                        ----------------------
+// -------------------------------------------------------------------------------
+
+MCreateServerImpl* CSecureASBase::GetImplLC()
+	{
+	LBSLOG(ELogP1,"CSecureASBase::GetImplLC()");
+	CLbsLocMonitorCreator* impl = new(ELeave) CLbsLocMonitorCreator();
+	CleanupStack::PushL(impl);
+	return impl;
+	}
+
+void CLbsLocMonitorCreator::CreateServerLC(TServerStartParams& aParams)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorCreator::CreateServerLC");
+	CLbsLocMonitorServer* s = new(ELeave) CLbsLocMonitorServer(CActive::EPriorityStandard, locMonitorServerPolicy);
+	CleanupStack::PushL(s);
+	s->ConstructL(aParams.GetServerName());
+	}
+
+// -------------------------------------------------------------------------------
+// -------------  Location Monitor Server implementation   -----------------------
+// -------------------------------------------------------------------------------
+
+CLbsLocMonitorServer::CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy) : 
+										   CSecureServerBase(aPriority, aSecurityPolicy),
+										   iVersion(KLbsLocMonitorMajorVersionNumber,
+										   KLbsLocMonitorMinorVersionNumber,
+										   KLbsLocMonitorBuildVersionNumber)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::CLbsLocMonitorServer");
+	}
+		
+void CLbsLocMonitorServer::ConstructL(const TDesC& aServerName)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::ConstructL");
+	StartL(aServerName);
+
+	// Server Framework requires the method BaseConstructL(TBool)
+	// to be called.
+	// Passing EFalse means the Location Monitor would be a
+	// permanent process only terminated from root.
+	//
+	
+    #ifdef SYMBIAN_FEATURE_MANAGER
+        TBool locationManagementSupported = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KLocationManagement);
+    #else
+        TBool locationManagementSupported(ETrue);
+    #endif
+        if(locationManagementSupported)
+            {
+            BaseConstructL(EFalse);	
+            }
+        else
+            {
+            BaseConstructL(ETrue);
+            //Set timer to two seconds
+            SetShutdownDelay(KShutDownDelay);
+            }
+
+    // Create the monitor which detects a closedown signal from
+    // the LBS Root Process.
+    iCloseDownRequestDetector = CLbsCloseDownRequestDetector::NewL(
+    								this, 
+									KLbsLocMonitorUid);
+
+	// Object for writing/reading to/from the DB
+	iRequestHandler = CLbsLocMonitorRequestHandler::NewL();
+
+	// Instantiate area info finders (just one for now, a network info finder)
+	// and set DB reader and writer as its observers.	
+	iAreaInfoFinders.ReserveL(1);
+	
+	iAreaInfoFinders.Insert(static_cast<CLbsLocMonitorAreaInfoFinder*>(CLbsLocMonitorNetworkInfoFinder::NewL()), ENetworkInfoFinder);
+	iAreaInfoFinders[ENetworkInfoFinder]->RegisterObserverL(*iRequestHandler);
+
+	// Instantiate a position listener that will feed positions to the DB writer
+	iPosListener = CLbsLocMonitorPosListener::NewL(*iRequestHandler);
+	
+	// Initiate monitoring of network information
+	static_cast<CLbsLocMonitorNetworkInfoFinder*>(iAreaInfoFinders[ENetworkInfoFinder])->StartGettingNetworkInfoL();
+	
+	// Initiate plugin resolver.
+	iPluginResolver = CLbsLocMonitorPluginResolver::NewL();
+	}
+
+CLbsLocMonitorServer::~CLbsLocMonitorServer()
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::~CLbsLocMonitorServer");
+	
+	// inform observers (subsessions) that server destructed
+	for(TInt i=0; i < iDestructionObservers.Count(); i++)
+	    {
+        iDestructionObservers[i]->LocMonServerDestructed();
+	    }
+	
+	iDestructionObservers.Reset();
+	delete iRequestHandler;
+	delete iPosListener;
+	iAreaInfoFinders.ResetAndDestroy();
+	delete iCloseDownRequestDetector;
+	iConversionHandlerArray.ResetAndDestroy();
+	delete iPluginResolver;
+	}
+
+CSession2* CLbsLocMonitorServer::DoNewSessionL(const TVersion& /*aVersion*/, const RMessage2& /*aMessage*/) const
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::DoNewSessionL");
+	return new(ELeave) CLbsLocMonitorSession(); // version number already checked at this point
+	}
+	
+TVersion CLbsLocMonitorServer::GetServerVersion() const
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::GetServerVersion()");
+	return iVersion;
+	}
+
+CLbsLocMonitorRequestHandler& CLbsLocMonitorServer::ReadRequestHandler() const
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorServer::ReadRequestHandler()");
+	return (*iRequestHandler);
+	}
+
+CLbsLocMonitorConversionHandler* CLbsLocMonitorServer::ConversionHandlerL( 
+                                              TUid aConversionPluginId )
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::ConversionHandlerL()");
+    
+    // Iterate through the conversion handler array and check whether 
+    // there is already a handler that has loaded user specified 
+    // plugin
+    for( TInt i=0;i<iConversionHandlerArray.Count();i++ )
+        {
+        if( iConversionHandlerArray[i]->ConversionPluginUid() == 
+            aConversionPluginId )
+            {
+            return iConversionHandlerArray[i];
+            }
+        }
+    
+    CLbsLocMonitorServer* monitorServer = const_cast<CLbsLocMonitorServer*>
+                                                  ( this );
+    CLbsLocMonitorConversionHandler* conversionHandler = 
+                                    CLbsLocMonitorConversionHandler::NewL( *monitorServer,
+                                                                            aConversionPluginId );
+    
+    iConversionHandlerArray.AppendL( conversionHandler );
+    return conversionHandler;
+    }
+
+CLbsLocMonitorConversionHandler* CLbsLocMonitorServer::ConversionHandler( 
+                                                              const RMessage2& aMessage )
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::ConversionHandler()");
+    
+    // Iterate through the conversion handler array and check whether 
+    // there is already a handler that has loaded user specified 
+    // plugin
+    for( TInt i=0;i<iConversionHandlerArray.Count();i++ )
+        {
+        if( iConversionHandlerArray[i]->IsMessagePresent( aMessage ) )
+            {
+            return iConversionHandlerArray[i];
+            }
+        }
+    return NULL;
+    }
+
+CLbsLocMonitorPluginResolver* CLbsLocMonitorServer::PluginResolver()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::PluginResolver()");
+    return iPluginResolver;
+    }
+
+/* Intended for use by subsessions
+   Called to register as an observer
+ 
+ */
+void CLbsLocMonitorServer::SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::SetLocMonServerDestructObserver()");
+    iDestructionObservers.AppendL(&aDestructObserver);
+    }
+
+/* Intended for use by subsessions
+   Called to deregister as an observer
+ */
+void CLbsLocMonitorServer::UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver)
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::UnsetLocMonServerDestructObserver()");
+    
+    TInt i = iDestructionObservers.Find(&aDestructObserver);
+    if(KErrNotFound != i)
+        {
+        iDestructionObservers.Remove(i);
+        }
+    }
+
+/* Called when LbsRoot has requested that the Location Monitor should 
+   closedown.
+*/
+void CLbsLocMonitorServer::OnProcessCloseDown()
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::OnProcessCloseDown()");
+    CActiveScheduler::Stop();
+    }
+ 
+/**
+ * This method is called by CLbsLocMonitorConversionHandler after it completes 
+ * all the requests
+ */
+void CLbsLocMonitorServer::HandleConversionComplete( CLbsLocMonitorConversionHandler*
+                                                     aConversionHandler )
+    {
+    LBSLOG(ELogP1,"CLbsLocMonitorServer::HandleConversionComplete()");
+    // Remove the conversion handler object from the array and delete it.
+    TInt index = iConversionHandlerArray.Find( aConversionHandler );
+    if( index != KErrNotFound )
+        {
+        iConversionHandlerArray.Remove(index);
+        }
+    delete aConversionHandler;
+    }
+    
+TBool CLbsLocMonitorServer::FindRootProcess()
+	{
+	_LIT(KLbsRootProcessName, "lbsroot.exe*");
+	TInt err(KErrNotFound);
+	TFullName fullName;			
+	TFindProcess processFinder(KLbsRootProcessName);
+	while (err = processFinder.Next(fullName), err == KErrNone)
+		{
+		RProcess process;
+		TInt processOpenErr = process.Open(processFinder);
+		if (processOpenErr == KErrNone)
+			{
+			TExitType exitType = process.ExitType();
+			if (exitType == EExitPending)
+				{
+				// Found a running instance of lbsroot.exe,
+				return ETrue;
+				}
+			}
+		process.Close();		
+		}
+		
+	return EFalse;
+	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorsession.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorsession.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,102 +1,113 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "clbslocmonitorsession.h"
-#include "clbslocmonitorserver.h"
-#include "lbsdevloggermacros.h"
-#include "lbslocmonitorserverdata.h"
-#include "clbsareapositionersubsession.h"
-
-// Called by the CServer2 code to complete construction of the session 
-void CLbsLocMonitorSession::CreateL()
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorSession::CreateL()");
-	// MUST call the server framework method
-	CSecureSessionSubSessionBase::CreateL();
-	}
-	
-void CLbsLocMonitorSession::ServiceMessageL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorSession::ServiceMessageL()");
-	// Service session level messages in here
-	// Only messages are: delete database and cancel delete DB.
-	switch(aMessage.Function())
-		{
-		case EWipeOutDb:
-		HandleDatabaseWipeoutL(aMessage);
-		break;
-
-		case ECancelDbWipeOut:
-		//DB deletion is synchronous internally. Just complete the cancel.
-		aMessage.Complete(KErrCompletion);
-		break;
-
-		default:
-		__ASSERT_DEBUG(EFalse, User::Invariant());
-		break;
-		}	
-	}
-
-void CLbsLocMonitorSession::HandleDatabaseWipeoutL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorSession::HandleDatabaseWipeout()");
-	const CLbsLocMonitorServer* server = static_cast<const CLbsLocMonitorServer*>(Server());
-	
-	TInt err = server->ReadRequestHandler().DeleteDatabaseL();
-		
-	aMessage.Complete(err);
-	}
-
-void CLbsLocMonitorSession::ServiceMessageError(const RMessage2& /*aMessage*/, const TInt /*aError*/)
-	{
-	LBSLOG(ELogP1,"CLbsLocMonitorSession::ServiceMessageError()");
-		// service leaves from the above in here !!!
-	}
-
-// ------------------------------------------------------------------------------------------
-
-/*
-Method required by the Server Framework to create an instance
-of a subsession of a certain type
-*/
-MSubSessionImpl* CSubSessionBase::GetImplL(const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"CSubSessionBase::GetImplL()");
-	// Read in the subsession type
-	TLbsLocMonitorSubSessionType subSessType;
-	TPckg<TLbsLocMonitorSubSessionType> subSessTypeBuf(subSessType);
-	MessageUtils::Read(aMessage, 0, subSessTypeBuf); // data is always in slot zero
-		
-	// Create the subsession, depending on the type requested
-	MSubSessionImpl* subSession(NULL);
-	switch (subSessType)
-		{
-		case ELocMonitorSubSessionTypeAreaPositioner:
-			{
-			subSession = CLbsAreaPositionerSubsession::NewL();
-			break;
-			}
-		case ELocMonitorSubSessionTypeUnknown:
-		default:
-			{
-			_LIT(KPanicLocMonitorServer, "Unknown SubSession Type");
-			MessageUtils::PanicClient(aMessage, KPanicLocMonitorServer, 0);
-			break;
-			}
-		}
-	return subSession;
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "clbslocmonitorsession.h"
+#include "clbslocmonitorserver.h"
+#include "lbsdevloggermacros.h"
+#include "lbslocmonitorserverdata.h"
+#include "clbsareapositionersubsession.h"
+#include "clbsconversionpositionersubsession.h"
+
+// Called by the CServer2 code to complete construction of the session 
+void CLbsLocMonitorSession::CreateL()
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorSession::CreateL()");
+	// MUST call the server framework method
+	CSecureSessionSubSessionBase::CreateL();
+	}
+	
+void CLbsLocMonitorSession::ServiceMessageL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorSession::ServiceMessageL()");
+	// Service session level messages in here
+	// Only messages are: delete database and cancel delete DB.
+	switch(aMessage.Function())
+		{
+		case EWipeOutDb:
+		HandleDatabaseWipeoutL(aMessage);
+		break;
+
+		case ECancelDbWipeOut:
+		//DB deletion is synchronous internally. Just complete the cancel.
+		aMessage.Complete(KErrCompletion);
+		break;
+
+		default:
+		__ASSERT_DEBUG(EFalse, User::Invariant());
+		break;
+		}	
+	}
+
+void CLbsLocMonitorSession::HandleDatabaseWipeoutL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorSession::HandleDatabaseWipeout()");
+	const CLbsLocMonitorServer* server = static_cast<const CLbsLocMonitorServer*>(Server());
+	
+	TInt err = server->ReadRequestHandler().DeleteDatabaseL();
+		
+	aMessage.Complete(err);
+	}
+
+void CLbsLocMonitorSession::ServiceMessageError(const RMessage2& /*aMessage*/, const TInt /*aError*/)
+	{
+	LBSLOG(ELogP1,"CLbsLocMonitorSession::ServiceMessageError()");
+		// service leaves from the above in here !!!
+	}
+
+// ------------------------------------------------------------------------------------------
+
+/*
+Method required by the Server Framework to create an instance
+of a subsession of a certain type
+*/
+MSubSessionImpl* CSubSessionBase::GetImplL(const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"CSubSessionBase::GetImplL()");
+	// Read in the subsession type
+	TLbsLocMonitorSubSessionType subSessType;
+	TPckg<TLbsLocMonitorSubSessionType> subSessTypeBuf(subSessType);
+	MessageUtils::Read(aMessage, 0, subSessTypeBuf); // data is always in slot zero
+		
+	// Create the subsession, depending on the type requested
+	MSubSessionImpl* subSession(NULL);
+	switch (subSessType)
+		{
+		case ELocMonitorSubSessionTypeAreaPositioner:
+			{
+			subSession = CLbsAreaPositionerSubsession::NewL();
+			break;
+			}
+		case ELocMonitorSubSessionTypeConversionPositiner:
+		    {
+		    subSession = CLbsConversionPositionerSubsession::NewL();
+		    break;
+		    }
+		case ELocMonitorSubSessionTypeUnknown:
+		    {
+			_LIT(KPanicUnknownSubSession, "Unknown SubSession Type");
+			__ASSERT_DEBUG(0, MessageUtils::PanicClient(aMessage, KPanicUnknownSubSession, 0));
+		    break;
+		    }
+		default:
+			{
+			_LIT(KPanicSubSessionType, "Unrecognised SubSession Type");
+			__ASSERT_DEBUG(0, MessageUtils::PanicClient(aMessage, KPanicSubSessionType, 0));
+			break;
+			}
+		}
+	return subSession;
+	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorutils.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorutils.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "clbslocmonitorutils.h"
-#include "lbslocmonitorserverdata.h"
-#include "lbsdevloggermacros.h"
-
-/*
-Method to check whether an RMessage2 was sent by the client defined
-by aClientId.
-*/
-TBool CLbsLocMonitorUtils::MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchClient");
-	return ((static_cast<CSession2*> (aClientId->iSessionPtr) == aMessage.Session()) &&
-			(aClientId->iSubsessionId == aMessage.Int3()));
-	}
-/*
-Method to check whether the operation requested in aMessage is the same as the
-operation requested in aFirst (regardless of originating client)
-*/	
-TBool CLbsLocMonitorUtils::MatchOperation(const TInt* aOperationCode, const RMessage2& aMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchOperation");
-	return (*aOperationCode == aMessage.Function());		
-	}
-
-/*
-Method to check whether the aRequestMessage is a request that is to be
-terminated as a consequence of the cancel operation in aCancelMessage
-(both must originate in the same client and have related opcodes)
-*/
-TBool CLbsLocMonitorUtils::MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage)
-	{
-	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchCancelAndRequest");
-	TBool ret = EFalse;	
-	// Check that the messages come from the same client
-	if((aCancelMessage.Session() == aRequestMessage.Session()) &&
-		 (aCancelMessage.Int3() == aRequestMessage.Int3()))
-		{
-		// check that the cancel code 'matches' the request code
-		if ((aCancelMessage.Function() == ECancelGetLastKnownPosition) &&
-			 (aRequestMessage.Function() == EGetLastKnownPosition))
-			{
-			ret = ETrue;	
-			}
-		else if ((aCancelMessage.Function() == ECancelGetLastKnownPositionArea) &&
-			 (aRequestMessage.Function() == EGetLastKnownPositionArea))
-			{
-			ret = ETrue;
-			}
-		}
-	return ret;
-	}
-	
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "clbslocmonitorutils.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsdevloggermacros.h"
+
+/*
+Method to check whether an RMessage2 was sent by the client defined
+by aClientId.
+*/
+TBool CLbsLocMonitorUtils::MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchClient");
+	return ((static_cast<CSession2*> (aClientId->iSessionPtr) == aMessage.Session()) &&
+			(aClientId->iSubsessionId == aMessage.Int3()));
+	}
+/*
+Method to check whether the operation requested in aMessage is the same as the
+operation requested in aFirst (regardless of originating client)
+*/	
+TBool CLbsLocMonitorUtils::MatchOperation(const TInt* aOperationCode, const RMessage2& aMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchOperation");
+	return (*aOperationCode == aMessage.Function());		
+	}
+
+/*
+Method to check whether the aRequestMessage is a request that is to be
+terminated as a consequence of the cancel operation in aCancelMessage
+(both must originate in the same client and have related opcodes)
+*/
+TBool CLbsLocMonitorUtils::MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage)
+	{
+	LBSLOG(ELogP1,"->CLbsLocMonitorUtils::MatchCancelAndRequest");
+	TBool ret = EFalse;	
+	// Check that the messages come from the same client
+	if((aCancelMessage.Session() == aRequestMessage.Session()) &&
+		 (aCancelMessage.Int3() == aRequestMessage.Int3()))
+		{
+		// check that the cancel code 'matches' the request code
+		if ((aCancelMessage.Function() == ECancelGetLastKnownPosition) &&
+			 (aRequestMessage.Function() == EGetLastKnownPosition))
+			{
+			ret = ETrue;	
+			}
+		else if ((aCancelMessage.Function() == ECancelGetLastKnownPositionArea) &&
+			 (aRequestMessage.Function() == EGetLastKnownPositionArea))
+			{
+			ret = ETrue;
+			}
+		}
+	return ret;
+	}
+	
+
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/lbslocmonitorareainfodefs.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/lbslocmonitorareainfodefs.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,38 +1,38 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "lbslocmonitorareainfodefs.h"
-#include "lbsdevloggermacros.h"
-
-TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoBase()
-	{
-	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoBase");
-	}
-
-TUint32 TLbsLocMonitorAreaInfoBase::AreaInfoClassType() const
-	{
-	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::AreaInfoClassType");
-	return iAreaInfoClassType;
-	}
-
-TLbsLocMonitorAreaInfoGci::TLbsLocMonitorAreaInfoGci():
-	iMcc(0), iMnc(0), iLac(0), iCid(0)
-	{
-	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoGci");
-	iAreaInfoClassType = EAreaGciClass;
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "lbslocmonitorareainfodefs.h"
+#include "lbsdevloggermacros.h"
+
+TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoBase()
+	{
+	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoBase");
+	}
+
+TUint32 TLbsLocMonitorAreaInfoBase::AreaInfoClassType() const
+	{
+	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::AreaInfoClassType");
+	return iAreaInfoClassType;
+	}
+
+TLbsLocMonitorAreaInfoGci::TLbsLocMonitorAreaInfoGci():
+	iMcc(0), iMnc(0), iLac(0), iCid(0)
+	{
+	LBSLOG(ELogP1,"->TLbsLocMonitorAreaInfoBase::TLbsLocMonitorAreaInfoGci");
+	iAreaInfoClassType = EAreaGciClass;
+	}
--- a/locationmgmt/locmonitor/lbslocmonitorserver/src/rlbslocmonitordb.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/rlbslocmonitordb.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,123 +1,123 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "rlbslocmonitordb.h"
-#include "clbslocmonitordbengine.h"
-#include "lbsdevloggermacros.h"
-
-
-/** Default constructor 
-@released*/
-RLbsLocMonitorDb::RLbsLocMonitorDb():
-	iDbEngine(NULL)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::RLbsLocMonitorDb()");
-	}
-
-
-/** Default destructor */
-RLbsLocMonitorDb::~RLbsLocMonitorDb()
-	{
-	LBSLOG(ELogP1, "->S RLbsLocMonitorDb::~RLbsLocMonitorDb() \n");
-	__ASSERT_DEBUG(iDbEngine == NULL, User::Panic(_L("RLbsLocMonitorDb "), KErrInUse));
-	}
-
-
-void RLbsLocMonitorDb::OpenL()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::Open()");
-	iDbEngine = CLbsLocMonitorDbEngine::NewL();
-	}
-
-
-void RLbsLocMonitorDb::Close()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::Close()");
-	if(iDbEngine)
-		{
-		delete iDbEngine;
-		iDbEngine = NULL;
-		}
-	}
-
-
-TInt RLbsLocMonitorDb::SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::SavePosition()");
-	if(iDbEngine)
-		{
-		const TLbsLocMonitorAreaInfoGci* areaGci = static_cast<const TLbsLocMonitorAreaInfoGci*>(aAreaInfo[0]);
-		return iDbEngine->SavePosition(areaGci->iMcc, areaGci->iMnc, areaGci->iLac, areaGci->iCid, aPosition, aStatus);
-		}
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::CancelSavePosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelSavePosition()");
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
-	if(iDbEngine)
-		{
-		const TLbsLocMonitorAreaInfoGci* areaGci = static_cast<const TLbsLocMonitorAreaInfoGci*>(aAreaInfo[0]);
-		return iDbEngine->GetPosition(areaGci->iMcc, areaGci->iMnc, areaGci->iLac, areaGci->iCid, aPosition, aMatchingAreaInfo, aStatus);
-		}
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::CancelGetPosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetPosition()");
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetLastStoredPosition()");
-	if(iDbEngine)
-		{
-		return iDbEngine->GetPosition(aPosition, aStatus);
-		}
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::CancelGetLastStoredPosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetLastStoredPosition()");
-	return KErrNotFound;
-	}
-
-
-TInt RLbsLocMonitorDb::ClearDatabase()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::ClearDatabase()");
-	if(iDbEngine)
-		{
-		return iDbEngine->ClearDatabase();
-		}
-	return KErrNotFound;
-	}
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "rlbslocmonitordb.h"
+#include "clbslocmonitordbengine.h"
+#include "lbsdevloggermacros.h"
+
+
+/** Default constructor 
+@released*/
+RLbsLocMonitorDb::RLbsLocMonitorDb():
+	iDbEngine(NULL)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::RLbsLocMonitorDb()");
+	}
+
+
+/** Default destructor */
+RLbsLocMonitorDb::~RLbsLocMonitorDb()
+	{
+	LBSLOG(ELogP1, "->S RLbsLocMonitorDb::~RLbsLocMonitorDb() \n");
+	__ASSERT_DEBUG(iDbEngine == NULL, User::Panic(_L("RLbsLocMonitorDb "), KErrInUse));
+	}
+
+
+void RLbsLocMonitorDb::OpenL()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::Open()");
+	iDbEngine = CLbsLocMonitorDbEngine::NewL();
+	}
+
+
+void RLbsLocMonitorDb::Close()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::Close()");
+	if(iDbEngine)
+		{
+		delete iDbEngine;
+		iDbEngine = NULL;
+		}
+	}
+
+
+TInt RLbsLocMonitorDb::SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TBool aUserPosition, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::SavePosition()");
+	if(iDbEngine)
+		{
+		const TLbsLocMonitorAreaInfoGci* areaGci = static_cast<const TLbsLocMonitorAreaInfoGci*>(aAreaInfo[0]);
+		return iDbEngine->SavePosition(areaGci->iMcc, areaGci->iMnc, areaGci->iLac, areaGci->iCid, aPosition, aUserPosition, aStatus);
+		}
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::CancelSavePosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelSavePosition()");
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
+	if(iDbEngine)
+		{
+		const TLbsLocMonitorAreaInfoGci* areaGci = static_cast<const TLbsLocMonitorAreaInfoGci*>(aAreaInfo[0]);
+		return iDbEngine->GetPosition(areaGci->iMcc, areaGci->iMnc, areaGci->iLac, areaGci->iCid, aPosition, aMatchingAreaInfo, aStatus);
+		}
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::CancelGetPosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetPosition()");
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetLastStoredPosition()");
+	if(iDbEngine)
+		{
+		return iDbEngine->GetPosition(aPosition, aStatus);
+		}
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::CancelGetLastStoredPosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetLastStoredPosition()");
+	return KErrNotFound;
+	}
+
+
+TInt RLbsLocMonitorDb::ClearDatabase()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::ClearDatabase()");
+	if(iDbEngine)
+		{
+		return iDbEngine->ClearDatabase();
+		}
+	return KErrNotFound;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/.cproject	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,671 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 4.0.0?>
+
+<cproject>
+<storageModule buildFromInf="true" buildingTestComps="true" cleanLevel="0" concurrentBuildJobs="4" defaultMMPChangedAction="0" infBuildComponents="" infFileLocation="group\bld.inf" macrosFile="" makeEngineToUse="make" manageDependencies="true" moduleId="com.nokia.carbide.cdt.builder.carbideCPPBuilder" overrideMakeEngine="false" overrideWorkspaceSettings="false" promptForMMPChangedAction="true" useConcurrentBuilding="true" useDebugMode="false" useIncrementalBuilder="false" useKeepGoing="false" useMMPMacros="true"/>
+<storageModule moduleId="org.eclipse.cdt.core.settings">
+<cconfiguration id="Emulator Debug (WINSCW) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Emulator Debug (WINSCW) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Emulator Debug (WINSCW) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__WINSCW__;__SUPPORT_CPP_EXCEPTIONS__;__SYMBIAN32__;__S60_3X__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__DLL__;__WINS__;__CW32__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903622803" useMmpMacrosCache="true"/>
+<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+</cconfiguration>
+<cconfiguration id="Emulator Release (WINSCW) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Emulator Release (WINSCW) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Emulator Release (WINSCW) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__WINSCW__;__SUPPORT_CPP_EXCEPTIONS__;__SYMBIAN32__;__S60_3X__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__DLL__;NDEBUG;__WINS__;__CW32__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903623085" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV5) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV5) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV5) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;_DEBUG;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903623366" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV5) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV5) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV5) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903623663" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (GCCE) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (GCCE) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (GCCE) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCE__;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;_DEBUG;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903623944" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (GCCE) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (GCCE) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (GCCE) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCE__;NDEBUG;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903624257" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARM9E) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARM9E) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARM9E) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARM9E__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903624538" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARM9E) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARM9E) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARM9E) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARM9E__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903624835" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV5SMP) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV5SMP) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV5SMP) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__ARMV5SMP__;__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903625116" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV5SMP) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV5SMP) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV5SMP) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__ARMV5SMP__;__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903625413" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV6) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV6) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV6) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__ARMV6__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903625694" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV6) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV6) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV6) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__ARMV6__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903625991" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV6SMP) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV6SMP) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV6SMP) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__ARMV6SMP__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903626288" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV6SMP) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV6SMP) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV6SMP) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__ARMV6SMP__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903626585" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV6T2) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV6T2) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV6T2) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARMV6T2__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903626882" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV6T2) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV6T2) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV6T2) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARMV6T2__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903627163" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV6_ABIV1) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV6_ABIV1) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV6_ABIV1) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC__;__MARM__;__ARMV5_ABIV1__;__ARMCC_2_2__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;__ARMV6_ABIV1__;_DEBUG;__SERIES60_3X__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903627460" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV6_ABIV1) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV6_ABIV1) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV6_ABIV1) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;NDEBUG;__ARMCC__;__MARM__;__ARMV5_ABIV1__;__ARMCC_2_2__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;__ARMV6_ABIV1__;__SERIES60_3X__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903627741" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV7) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV7) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV7) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARMV7__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;_DEBUG;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903628038" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV7) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV7) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV7) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__ARMV7__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__ARMCC_2__;NDEBUG;__ARMCC__;__MARM__;__S60_3X__;__ARMCC_2_2__;_UNICODE;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903628335" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (GCCEV6) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (GCCEV6) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (GCCEV6) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCE__;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__GCCEV6__;__S60_5X__;_DEBUG;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903628616" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (GCCEV6) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (GCCEV6) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (GCCEV6) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCE__;NDEBUG;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__GCCEV6__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903628913" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (GCCEV6T2) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (GCCEV6T2) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (GCCEV6T2) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__GCCEV6T2__;__EABI__;__GCCE__;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;_DEBUG;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903629194" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (GCCEV6T2) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (GCCEV6T2) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (GCCEV6T2) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__GCCEV6T2__;__EABI__;__GCCE__;NDEBUG;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903629491" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (GCCEV7) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (GCCEV7) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (GCCEV7) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCEV7__;__GCCE__;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;_DEBUG;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903629788" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (GCCEV7) [SDKwk26]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (GCCEV7) [SDKwk26]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (GCCEV7) [SDKwk26]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeSisErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RomBuildErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.BldmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="C:\SDKwk26\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\ExampleLocationConverter.mmp;C:\SDKwk26\epoc32\include\data_caging_paths.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\data\ExampleLocationConverter.hrh;C:\SDKwk26\sf\os\lbs\locationmgmt\locmonitor\test\ExampleLocationConverter\group\bld.inf;C:\SDKwk26\epoc32\include\platform_paths.hrh;" includesCache="C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/inc[LOCAL];C:/SDKwk26/sf/os/lbs/locationmgmt/locmonitor/test/ExampleLocationConverter/data[LOCAL];C:/SDKwk26/epoc32/include;C:/SDKwk26/epoc32/include/mw;C:/SDKwk26/epoc32/include/platform/mw;C:/SDKwk26/epoc32/include/platform;C:/SDKwk26/epoc32/include/platform/loc;C:/SDKwk26/epoc32/include/platform/mw/loc;C:/SDKwk26/epoc32/include/platform/loc/sc;C:/SDKwk26/epoc32/include/platform/mw/loc/sc;C:/SDKwk26/epoc32/include/ecom;C:/SDKwk26/epoc32/include/lbs;" macrosCache="__GENERIC_MARM__;__SYMBIAN32__;__SUPPORT_CPP_EXCEPTIONS__;__EPOC32__;__EABI__;__GCCEV7__;__GCCE__;NDEBUG;__MARM__;_UNICODE;__S60_3X__;__S60_51__;__S60_5X__;__SERIES60_3X__;__MARM_ARMV5__;__DLL__;" moduleId="configDataCache" sourcesCache="/ExampleLocationConverter/data;/ExampleLocationConverter/inc;/ExampleLocationConverter/src;" timestampCache="1254903630069" useMmpMacrosCache="true"/>
+</cconfiguration>
+</storageModule>
+</cproject>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/.project	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>ExampleLocationConverter</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.nokia.carbide.cdt.builder.carbideCPPBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+		<nature>com.nokia.carbide.cdt.builder.carbideCPPBuilderNature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/data/10287201.rss	Fri May 28 18:01:03 2010 +0100
@@ -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: Resource file for movement detector plugin
+*
+*/
+// mydetector.rss
+//
+#include <ecom/registryinfo.rh>
+
+#include "ExampleLocationConverter.hrh"
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = KExampleLocationConverterUid;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = KLbsLocInfoConverterPlugInInterfaceId;
+        implementations = 
+            {
+            IMPLEMENTATION_INFO
+                {
+                implementation_uid  = KExampleLocationConverterImplementationUid;
+                version_no          = 1;
+                display_name        = "Example location info converter";
+                default_data        = "text/ascii";
+                opaque_data         = "priority:5"; 
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/data/ExampleLocationConverter.hrh	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 EXAMPLELOCATIONCONVERTER_HRH
+#define EXAMPLELOCATIONCONVERTER_HRH
+
+#define KExampleLocationConverterUid                  0x2002140C
+#define KExampleLocationConverterImplementationUid    0x2002140D
+
+
+#endif // EXAMPLELOCATIONCONVERTER_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/group/ExampleLocationConverter.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* 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:  Project definition file for project Cell Id movement detector
+*
+*/
+
+
+#include "../data/ExampleLocationConverter.hrh"
+
+TARGET                  ExampleLocationConverter.dll
+TARGETTYPE              PLUGIN
+UID 0x10009D8D		KExampleLocationConverterUid 
+VENDORID            0x2002140e
+
+CAPABILITY              ALL -TCB
+
+OS_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE             ../inc
+USERINCLUDE             ../data
+
+SOURCEPATH              ../src
+SOURCE                  ExampleLocationConverter.cpp
+
+START RESOURCE          ../data/10287201.rss
+TARGET                  ExampleLocationConverter.rsc
+END
+
+LIBRARY			euser.lib
+LIBRARY			ecom.lib
+LIBRARY			flogger.lib
+LIBRARY			lbslocationinfoconverterplugin.lib
+LIBRARY			lbslocationinfodatatypes.lib
+LIBRARY			lbs.lib
+
+PAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* 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:  Build information file for project ?myapp
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_TESTMMPFILES
+ExampleLocationConverter.mmp
+
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/inc/ExampleLocationConverter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of Movement Detection API
+*
+*/
+
+
+#ifndef C_EXAMPLELOCATIONCONVERTER_H
+#define C_EXAMPLELOCATIONCONVERTER_H
+
+#include <e32base.h>
+
+#include <commdb.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+#include <lbs/lbslocinfoconverterplugincommon.h>
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+/**
+ *  CExampleLocationConverter is an ECom plugin that implements CLbsLocInfoConversionPluginBase.
+ *
+ *  This class is responsible for monitering movement of mobile based on
+ *  GSM information available to mobile at any instant.
+ *
+ *  @lib movementdetector.lib
+ *  @since  S60 v4.0
+ */
+class CExampleLocationConverter : public CLbsLocInfoConverterPluginBase
+										
+    {
+
+public:
+
+    /**
+     * Loads a location info conveter and initalises it.
+     * 
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aPluginArgs Agruements sent to conversion plugin.
+     * return Pointer to the new loation info converter.If module id is not specified
+     * default plug in will be loaded.
+     */
+    static CExampleLocationConverter* NewL( TLbsLocInfoConverterPluginParams& aPluginParams );
+
+    /**
+     * Unloads this movement detector.
+     *
+     * @since S60 TACO
+     */
+     virtual ~CExampleLocationConverter();
+
+	// From CLbsLocInfoConversionPluginBase
+
+     /**
+          * Converts the area informations of a group of geographical locations
+          * to its corresponding position information.
+          * 
+          * @param[in] aLocationInfoArray Array of location informations corresponding 
+          * to geographical locations are passed and on successful completion of this 
+          * method,position information corresponding to the loation informations are  
+          * updated in each area info object.
+          * @param[in] aConversionPrefs Conversion preferences suggested by client.
+          * 
+          * @leave KErrArgument If the location info array is empty.
+          */
+     virtual void ConvertLocationInfoL( 
+             RLbsLocationInfoArray& aLocationInfoArray,
+             const TLbsConversionPrefs aConversionPrefs, 
+             const TLbsConversionOutputInfoMask aRequestedInfo );
+
+     /**
+      * Cancels get location info operation.
+      */     
+     virtual void CancelConvertLocationInfo();
+     
+     virtual void ValidateClient( const TSecureId& aSecureId, 
+                                  const TVendorId& aVendorId,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo );
+                                  
+     virtual void CancelValidateClient();        
+     
+     virtual void ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo );
+
+private:
+
+	
+	 void ConstructL(TLbsLocInfoConverterPluginParams& aPluginParams);
+	
+	/**
+	 * Default C++ Constructor
+	 */
+	 CExampleLocationConverter(TLbsLocInfoConverterPluginParams& aParams);
+	 
+private: // data
+
+    MLbsLocInfoConverterPluginObserver &iObserver;
+    TBool iRetainLocalityInCache;
+    };
+
+
+#endif // C_LBTCELLIDMVMTDET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/ExampleLocationConverter/src/ExampleLocationConverter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of CdummyMvmtDet class.
+*
+*/
+
+
+
+#include <ecom/ecom.h>
+#include <e32math.h>
+#include <ecom/implementationproxy.h>
+#include "ExampleLocationConverter.h"
+
+// the test code sets the timing advance in the GSM vell info to this value
+// which instructs the test converter to constuct TLocalitys with
+// latitude ser to country code, longitude set to 
+// network code and altitiude set to local area code
+const TInt KTimingAdvanceSpecialValue= 254;
+
+const TInt KTimingAdvanceSaveToCacheTrue= 253;
+
+const TInt KTimingAdvanceSaveToCacheFalse= 252;
+
+// ECOM implementation specifics
+static const TImplementationProxy implTable[] =
+	{
+    IMPLEMENTATION_PROXY_ENTRY(0x2002140D, CExampleLocationConverter::NewL)
+	}; 
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
+
+    return implTable;
+    }
+ 
+
+// Class methods
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::NewL
+// Symbian Two - phase constructor
+//------------------------------------------------------------
+//
+CExampleLocationConverter* CExampleLocationConverter::NewL( TLbsLocInfoConverterPluginParams& aParams)
+	{
+	CExampleLocationConverter* self = new (ELeave) CExampleLocationConverter(aParams);
+	CleanupStack::PushL(self);
+	self->ConstructL(aParams);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConstructL
+//------------------------------------------------------------
+//
+void CExampleLocationConverter::ConstructL( TLbsLocInfoConverterPluginParams& /*aParams*/ )
+	{
+    CLbsLocInfoConverterPluginBase::Version();
+    TInt aFunctionNumber = 1982; 
+    TAny* aPtr1 = &aFunctionNumber;
+    TAny* aPtr2 = &aFunctionNumber;
+    CLbsLocInfoConverterPluginBase::ExtendedInterface(aFunctionNumber, aPtr1, aPtr2);
+    
+    iObserver.Version();
+	}
+
+
+//-----------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::CLbsLocInfoConversionPluginBase
+// C++ Default constructor
+//------------------------------------------------------------------
+//
+CExampleLocationConverter::CExampleLocationConverter(TLbsLocInfoConverterPluginParams& aParams):iObserver(aParams.Observer()),
+		iRetainLocalityInCache(ETrue)
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::~CLbsLocInfoConversionPluginBase
+// Destructor
+//------------------------------------------------------------
+//
+CExampleLocationConverter::~CExampleLocationConverter()
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//	
+void CExampleLocationConverter::ConvertLocationInfoL( RLbsLocationInfoArray& aLocationInfoArray,
+                                                        const TLbsConversionPrefs /*aConversionPrefs*/, 
+                                                        const TLbsConversionOutputInfoMask aRequestedInfo)
+	{
+	if(aRequestedInfo == ELbsConversionOutputNotDefined)
+	   {
+	   iObserver.OnConversionComplete(KErrArgument);
+	   return;
+	   }
+	TInt count = aLocationInfoArray.Count();	
+	for(TInt i=0 ; i<count;i++)
+	    {
+	    switch(aRequestedInfo)
+    	    {
+    	    case ELbsConversionOutputPosition:
+    	        {
+    	        // Extract the area info provided by the client.
+    	        // If client has specified only coordinate info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+    	        CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+    	        areaInfoMask |= CLbsLocationInfo::ELbsGsmInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+    	        aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+    	        TInt count = areaInfoArray.Count();
+    	        
+    	
+    	        
+    	        if( count == 0 )
+    	            {
+    	            iObserver.OnConversionComplete(KErrNotSupported);
+    	            return;
+    	            }
+    	        TLocality locality;
+				if (areaInfoArray[0]->Type() == ELbsAreaGsmCellInfoClass)
+					{
+					CLbsGsmCellInfo* posInfo =
+							static_cast<CLbsGsmCellInfo*> (areaInfoArray[0]);
+
+					TInt timingAdvance = posInfo->TimingAdvance();
+
+					if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+						{
+						iRetainLocalityInCache = EFalse;
+						}
+					else
+						{
+						// for all others values ensiure that we put
+						// localities in cache
+						iRetainLocalityInCache = ETrue;
+						}
+
+					if ((timingAdvance == KTimingAdvanceSpecialValue)
+							|| (timingAdvance
+									== KTimingAdvanceSaveToCacheTrue)
+							|| (timingAdvance
+									== KTimingAdvanceSaveToCacheFalse))
+						{
+						// For all the special tests
+						TReal64 lat = posInfo->MobileCountryCode();
+						TReal64 lng = posInfo->MobileNetworkCode();
+						TReal32 alt = posInfo->LocationAreaCode();
+
+						TReal32 horAcc = posInfo->CellId();
+
+						locality.SetCoordinate(lat, lng, alt);
+						locality.SetAccuracy(horAcc, 11.0);
+						}
+					else
+						{
+						// and for the original tests
+						locality.SetCoordinate(62.5285, 23.9385, 1.22f);
+						locality.SetAccuracy(10.0f, 0.0);
+
+						}
+					}
+				else
+					{
+					// and for the original tests
+					locality.SetCoordinate(62.5285, 23.9385, 1.22f);
+					locality.SetAccuracy(10.0f, 0.0);
+					}
+    	        areaInfoArray.ResetAndDestroy();
+     
+    	        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    	        CleanupStack::PushL( positionInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( positionInfo );
+    	        CleanupStack::Pop( positionInfo );
+    	        break;
+    	        }
+    	    case ELbsConversionOutputGsm:
+    	        {
+                // Extract the area info provided by the client.
+    	        // If client has specified only gsm info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                    
+    	        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
+    	        CleanupStack::PushL( gsmCellInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( gsmCellInfo );
+                CleanupStack::Pop( gsmCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWcdma:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wcdma info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+    	        
+    	        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
+    	        CleanupStack::PushL( wcdmaCellInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( wcdmaCellInfo );
+                CleanupStack::Pop( wcdmaCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWlan:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wlan info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWcdmaInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                
+    	        TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    	        CLbsWlanInfo* WlanInfo = CLbsWlanInfo::NewL( macAddress,10.1);
+    	        CleanupStack::PushL( WlanInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( WlanInfo );
+                CleanupStack::Pop( WlanInfo );
+    	        }
+    	    default:
+    	        break;
+    	    }
+	    
+	    }
+	iObserver.OnConversionComplete(KErrNone);
+	}
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//  
+void CExampleLocationConverter::CancelConvertLocationInfo( )
+    {
+     
+    }
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CExampleLocationConverter::ValidateClient(  const TSecureId& /*aSecureId*/, 
+                                                 const TVendorId& /*aVendorId*/,
+                                                 const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
+    {
+    iObserver.OnValidationComplete( KErrNone ); 
+    }
+	
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CExampleLocationConverter::CancelValidateClient()
+    {
+
+    }
+
+//------------------------------------------------------------
+// CExampleLocationConverter::ConversionPluginPreferences
+//------------------------------------------------------------
+// 
+void CExampleLocationConverter::ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo )
+	{
+	aPluginInfo.SetIsPluginPositionToBeCached(iRetainLocalityInCache);
+	
+	//Note: The capability mask is currently not used anywhere in the location
+	//monitor. 
+	TLbsConversionPluginCapabilityMask capabilityMask;
+	capabilityMask = aPluginInfo.PluginCapabilitiesMask();
+	capabilityMask = ( ELbsPluginCapabilityGsmInfo|ELbsPluginCapabilityPosInfo|ELbsPluginCapabilityWlanInfo);
+	aPluginInfo.SetPluginCapabilitiesMask(capabilityMask);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/Bmarm/LocInfoConversionUnitTestU.DEF	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/Bwins/LocInfoConversionUnitTestU.DEF	Fri May 28 18:01:03 2010 +0100
@@ -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/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/EABI/LocInfoConversionUnitTestU.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/conf/LocInfoConversionUnitTest.cfg	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,113 @@
+[Test]
+title UnitTest1
+create LocInfoConversionUnitTest foobar
+foobar UnitTest1
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest2
+create LocInfoConversionUnitTest foobar
+foobar UnitTest2
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest3
+create LocInfoConversionUnitTest foobar
+foobar UnitTest3
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest4
+create LocInfoConversionUnitTest foobar
+foobar UnitTest4
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest5
+create LocInfoConversionUnitTest foobar
+foobar UnitTest5
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest6
+create LocInfoConversionUnitTest foobar
+foobar UnitTest6
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest7
+create LocInfoConversionUnitTest foobar
+foobar UnitTest7
+delete foobar
+[Endtest] 
+
+
+[Test]
+title UnitTest8
+create LocInfoConversionUnitTest foobar
+foobar UnitTest8
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest9
+create LocInfoConversionUnitTest foobar
+foobar UnitTest9
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest10
+create LocInfoConversionUnitTest foobar
+foobar UnitTest10
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest11
+create LocInfoConversionUnitTest foobar
+foobar UnitTest11
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest12
+create LocInfoConversionUnitTest foobar
+foobar UnitTest12
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest13
+create LocInfoConversionUnitTest foobar
+foobar UnitTest13
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest14
+create LocInfoConversionUnitTest foobar
+foobar UnitTest14
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest15
+create LocInfoConversionUnitTest foobar
+foobar UnitTest15
+delete foobar
+[Endtest] 
+
+[Test]
+title UnitTest16
+create LocInfoConversionUnitTest foobar
+foobar UnitTest16
+delete foobar
+[Endtest] 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/LocInfoConversionUnitTest.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,90 @@
+/*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          LocInfoConversionUnitTest.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         LocInfoConversionUnitTest.def
+
+USERINCLUDE     ../inc 
+USERINCLUDE     ../../../lbslocmonitorapis/CommonClientServerApi/inc
+USERINCLUDE     ../../../lbslocmonitorserver/inc
+USERINCLUDE   ../../../../locationcore/lbsrootapi/inc
+USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsLocDataSource/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE   ../../../../locationcore/LbsDebug/inc
+USERINCLUDE   ../../../../locationcore/LbsLogging/inc
+
+
+OS_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../src
+SOURCE          LocInfoConversionUnitTest.cpp
+SOURCE          LocInfoConversionUnitTestBlocks.cpp 
+SOURCE          LocInfoConversionHandler.cpp
+
+//RESOURCE        resource_file
+//RESOURCE        resource_file2
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib
+LIBRARY         lbslocationinfodatatypes.lib
+LIBRARY         lbslocmonclient.lib
+LIBRARY         lbs.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/LocInfoConversionUnitTest.pkg	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,60 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+; 
+; Description:
+;
+; 	Installation file for STIF
+;
+
+; 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
+
+; Install files
+"\epoc32\release\armv5\udeb\LocInfoConversionUnitTest.dll"   -   "!:\Sys\Bin\LocInfoConversionUnitTest.dll"
+  
+; Embedded SIS 
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:
+*
+*/
+
+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
+
+//	LocInfoConversionUnitTest.mmp
+
+PRJ_MMPFILES
+LocInfoConversionUnitTest.mmp
+//	LocInfoConversionUnitTest_nrm.mmp
+
+// 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/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/LocInfoConversionHandler.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef LOCINFOCONVERSIONHANDLER_H_
+#define LOCINFOCONVERSIONHANDLER_H_
+
+#include <e32base.h>
+
+class CLocInfoConversionHanlder : public CActive
+    {
+public:
+    static CLocInfoConversionHanlder* NewL();
+    
+    ~CLocInfoConversionHanlder();
+    
+    void Start();
+protected: // from CActive    
+    void RunL();
+    void DoCancel();
+    
+private:
+    CLocInfoConversionHanlder();
+    
+    void ConstructL();
+    };
+
+#endif /*LOCINFOCONVERSIONHANDLER_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/LocInfoConversionUnitTest.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,234 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 LOCINFOCONVERSIONUNITTEST_H
+#define LOCINFOCONVERSIONUNITTEST_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <e32base.h>
+#include "LocInfoConversionHandler.h"
+#include <lbs/lbslocationclasstypes.h>
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// 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( KLocInfoConversionUnitTestLogPath, "\\logs\\testframework\\LocInfoConversionUnitTest\\" ); 
+// Log file
+_LIT( KLocInfoConversionUnitTestLogFile, "LocInfoConversionUnitTest.txt" ); 
+_LIT( KLocInfoConversionUnitTestLogFileWithTitle, "LocInfoConversionUnitTest_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CLocInfoConversionUnitTest;
+class CLbsPositionInfo;
+class CLbsGsmCellInfo;
+class CLbsWcdmaCellInfo;
+class CLbsWlanInfo;
+class CLbsLocationInfo;
+
+enum TTestType
+    {
+    EPositive,
+    
+    ENegative
+    };
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+/**
+*  CLocInfoConversionUnitTest test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CLocInfoConversionUnitTest) : public CScriptBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CLocInfoConversionUnitTest* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CLocInfoConversionUnitTest();
+
+    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.
+        */
+        CLocInfoConversionUnitTest( 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 RLbsLocInfoConverter_Connect1L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_Connect2L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo1L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo2L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo3L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo4L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo5L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo6L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo7L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo8L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo9L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_ConvertLocationInfo10L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_Cancel1L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_Cancel2L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_Cancel3L(CStifItemParser& aItem );
+        TInt RLbsLocInfoConverter_Cancel4L(CStifItemParser& aItem );
+        
+        /**
+         * Method used to log version of test class
+         */
+        void SendTestClassVersion();
+        
+        /**
+         * Helper methods.
+         */
+        CLbsPositionInfo* CreatePositionInfoObjectLC();
+        
+        CLbsGsmCellInfo* CreateGsmCellInfoObjectLC();
+        
+        CLbsWcdmaCellInfo* CreateWcdmaCellInfoObjectLC();
+        
+        CLbsWlanInfo* CreateWlanInfoObjectLC();
+        
+        CLbsLocationInfo* CreateLocationInfoObjectLC( TLbsAreaInfoClassType aAreaType );
+        
+        void AppendAreaInfoObjectToLocationInfoL( CLbsLocationInfo* aLocationInfo,                    
+                                                    TLbsAreaInfoClassType aAreaType );
+        
+        void CheckPositionConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+                                                    TTestType aTestType = EPositive );
+        
+        void CheckGsmCellConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+                                                    TTestType aTestType = EPositive  );
+        
+        void CheckWcdmaCellConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+                                                    TTestType aTestType = EPositive  );
+        
+        void CheckWlanConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+                                                    TTestType aTestType = EPositive  );
+    public:     // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    protected:  // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    private:    // Data
+    CLocInfoConversionHanlder* iConversionHandler; 
+    
+    CLocInfoConversionHanlder* iConversionHandler1; 
+    public:     // Friend classes
+        //?friend_class_declaration;
+    protected:  // Friend classes
+        //?friend_class_declaration;
+    private:    // Friend classes
+        //?friend_class_declaration;
+
+    };
+
+#endif      // LOCINFOCONVERSIONUNITTEST_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/lbtlogger.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,374 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 macros for logging mechanism in LBT
+*
+*/
+
+
+#ifndef LBT_LOGGER_H
+#define LBT_LOGGER_H
+
+/**
+ * To use this logger mechanism you also need to add flogger.lib to the mmp
+ * using,
+ * DEBUGLIBRARY flogger.lib
+ */
+
+
+/**
+ * The trace level is defined as follows,
+ * 0x[moduleid - 4digits][logginglevel-4digits],
+ * The currently define logginglevels are
+ * 0x0001 - Verbose
+ * things like entered method, leaving method etc,
+ * logs of the parameters to methods, files 
+ * that are being used, creating a key, creating a file,
+ * opening a resource, 
+ *
+ * 0x0002 - Warning
+ * things like events, error cases that were not processed 
+ * but ignored.
+ *
+ * 0x0003 - Operations 
+ * things like what operation started (create, delete), 
+ * manipulations to the data structures, important events like
+ * MMC card , app uninstall events which we process,
+ * current location, triggers being monitored, psy conked off,
+ * any other such important event.
+ *
+ * 0x0004 - Errors
+ * log all _ASSERT_DEBUG kind of cases, basically things which 
+ * you don't expect to happen but happened - Sounds like paradox ;-)
+ * Also log all error cases with this trace level.
+ *
+ * 0x0005 - Fatal
+ * Use this if the server cannot recover from this error and you 
+ * have to crash !! ;-)
+ *
+ * So for a create trigger operation in server the log should be like
+ * LBT_TRACE(KLbtLogOperation|KLbtLogServerLogic,"Creating Trigger");
+ */
+#define KLbtLogLevelMask    0x0000FFFF
+ 
+#define KLbtLogVerbose      0x00000001
+#define KLbtLogWarning      0x00000002
+#define KLbtLogOperation    0x00000003
+#define KLbtLogError        0x00000004
+#define KLbtLogFatal        0x00000005
+
+/**
+ *
+ * Then for the module id lets use
+ * 0x0001 - Lbt Client Library
+ * 0x0002 - Lbt Server Core
+ * 0x0003 - Lbt Server Logic Base
+ * 0x0004 - Lbt Server Logic ( ecom plugin )
+ * 0x0005 - Lbt Container
+ * 0x0006 - Lbt Strategy Plugin api
+ * 0x0007 - Lbt Strategy Implementation ( Ecom plugin )
+ * 0x0008 - Lbt Movement detector plugin api
+ * 0x0009 - Lbt Cell id Movement Detector
+ * Did I miss any component ?
+ */
+#define KLbtLogComponentMask            0xFFFF0000
+ 
+#define KLbtLogClientLib                0x00010000
+#define KLbtLogServerCore               0x00020000
+#define KLbtLogServerLogicBase          0x00030000
+#define KLbtLogServerLogic              0x00040000
+#define KLbtLogContainer                0x00050000
+#define KLbtLogStrategyPluginApi        0x00060000
+#define KLbtLogStrategyEngine           0x00070000
+#define KLbtLogMovementDetectorApi      0x00080000
+#define KLbtLogCellIdMovementDetector   0x00090000
+
+#ifdef _DEBUG
+#define _LBT_DEBUG
+#endif // #ifdef _DEBUG
+
+// define _LBT_DEBUG to enable LBT logging
+#define _LBT_DEBUG
+
+#ifdef _LBT_DEBUG
+
+#include <flogger.h>
+#include <f32file.h>
+#include "lbtloggerimpl.h"
+
+_LIT8( KEndOfLineChars, "\r\n");
+
+// CLASS DECLARATION
+class TLogFunc
+	{
+	public:
+		TLogFunc(const char aFunctionName[])
+			{
+			const unsigned char* string = (unsigned char*)(aFunctionName);
+			iBuffer.Zero();
+			iBuffer.Copy(string);			
+			TBuf8<150> buf;
+			buf.Zero();
+			buf.Append(_L("=>"));
+			buf.Append(iBuffer);
+			CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger();
+			if( loggerImpl )
+			    {
+			    RFileLogger& logger = loggerImpl->GetFileLogger();
+			    logger.Write( buf );
+			    }
+			}
+
+		~TLogFunc()
+			{
+			RThread thread;
+			TInt exitReason = thread.ExitReason();
+			if(exitReason != KErrNone)
+				{
+				TExitCategoryName name = thread.ExitCategory();
+				TBuf8<400> buf;
+				buf.Zero();
+				buf.Append(_L("LBT PANICKED : "));
+				buf.Append(name);
+				
+				CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger();
+				if(loggerImpl)
+					{
+					RFileLogger& logger = loggerImpl->GetFileLogger();				
+					logger.Write( buf);
+					}
+				// The thread has panicked and hence dont print the exit placeholder
+				thread.Close();
+				return;
+				}
+			iBuffer.Append(_L("=>"));
+			CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger();
+			if(loggerImpl)
+				{
+				RFileLogger& logger = loggerImpl->GetFileLogger();				
+				logger.Write( iBuffer);
+				}
+			thread.Close();
+			}
+		
+		static void FileName( TDes& aFileNameBuffer )
+		    {
+		    TTime currTime;
+		    currTime.HomeTime();
+		    TDateTime dt = currTime.DateTime();
+		    
+		    _LIT16( filefmt, "%S_%d%d%d_%d%d%d.log" );
+		    
+		    TBuf<150> logFileName;
+		    logFileName.Append( _L("C:\\Logs\\Epos\\lbt_func") );
+		    aFileNameBuffer.AppendFormat( filefmt(), &logFileName, dt.Day(), 
+		                                dt.Month(), dt.Year(), dt.Hour(), dt.Minute(), dt.Second() );
+		    }
+
+		static void FormatTextToBuffer( TDes8& aTrg, const TDesC8& aText )
+		    {
+		    TTime currTime;
+		    currTime.HomeTime();
+		    TDateTime dt = currTime.DateTime();
+		    _LIT8( dtFmt, "%d/%d/%d %d:%d:%d ");
+		    aTrg.AppendFormat( dtFmt(), dt.Day(), dt.Month(), dt.Year(), dt.Hour(), dt.Minute(), dt.Second() );
+		    aTrg.Append( aText );
+		    aTrg.Append( KEndOfLineChars );
+		    }
+		
+		static void RenameFileIfRequired()
+			{
+			RFs fs;
+		    RFile file;
+		    fs.Connect();
+		    
+			TInt err = file.Open( fs, _L("C:\\Logs\\Epos\\lbt_func.log"), EFileWrite|EFileShareAny );
+	        if( KErrNone == err )
+	            {
+	            // Check Size of file
+	            TInt size;
+	            file.Size( size );
+	            
+	            if( size > 1024 )
+	                {
+	                file.Close();
+	                TBuf<200> fileName;
+	                FileName( fileName );
+	                //BaflUtils::RenameFile( fs, _L("C:\\Logs\\Epos\\lbt.log"), fileName );
+	                fs.Rename(_L("C:\\Logs\\Epos\\lbt_func.log"), fileName );
+	                }	            
+	            }
+	        file.Close();
+	        fs.Close();
+			}
+
+	private:
+		TBuf8<150> iBuffer;
+	};
+
+#define FUNC_ENTER(x) //TLogFunc lbtlog(x);
+
+#define STOPLOGGING CLbtLoggerImpl::Destroy();
+
+#define ERROR(x,y)	{ TBuf8<150> buffer; \
+					  const unsigned char* string = (unsigned char*)(x); \
+					  buffer.Zero(); \
+					  buffer.Copy(string); \
+					  buffer.Append(_L(": LBT ERROR")); \
+					  CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger(); \
+					  if( loggerImpl ) \
+					    { \
+					    RFileLogger& logger = loggerImpl->GetFileLogger(); \
+					    logger.WriteFormat( buffer, y); \
+					    } \
+					}
+
+#define LOG(x)	{ TBuf8<150> buffer; \
+				  const unsigned char* string = (unsigned char*)(x); \
+				  buffer.Zero(); \
+				  buffer.Copy(string); \
+				  CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger(); \
+				  if( loggerImpl ) \
+				    { \
+				    RFileLogger& logger = loggerImpl->GetFileLogger(); \
+				    logger.Write( buffer); \
+				    } \
+				}
+				  
+#define LOG1(x,y)	{ TBuf8<150> buffer; \
+					  const unsigned char* string = (unsigned char*)(x); \
+					  buffer.Zero(); \
+					  buffer.Copy(string); \
+					  CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger(); \
+					  if( loggerImpl ) \
+					    { \
+					    RFileLogger& logger = loggerImpl->GetFileLogger(); \
+					    logger.WriteFormat( buffer, y); \
+					    } \
+					}
+					  
+#define LOGSTRING(x, y)  {  \
+						 _LIT(KTmpStr, x); \
+						 CLbtLoggerImpl* loggerImpl = CLbtLoggerImpl::CreateLogger(); \
+						 if( loggerImpl ) \
+						    { \
+						    RFileLogger& logger = loggerImpl->GetFileLogger(); \
+						    logger.WriteFormat( TRefByValue<const TDesC>(KTmpStr()), y); \
+						    } \
+					  	 } \
+
+
+#define LBT_FILE_LOGGER 1 // Always log to file
+
+const char* const LbtLogLevelStr[] = 
+    {
+    "",
+    "Verbose",
+    "Warning",
+    "Operation",
+    "Error",
+    "Fatal"
+    };
+
+const char* const LbtLogComponentStr[] = 
+    {
+    "",
+    "client lib",
+    "server core",
+    "server logic api",
+    "server logic",
+    "container",
+    "strategy api",
+    "strategy engine",
+    "movement detector api",
+    "cell id movement detector"
+    };
+
+
+#define LENGTH(str,len) for(len = 0; str[len]; len++) {}
+
+
+NONSHARABLE_CLASS( TLbtDesOverflow ) : public TDes8Overflow
+    {
+    void Overflow(TDes8 &/*aDes*/)
+        {
+        // Dummy Implementation to prevent User panic 23
+        }
+    };
+    
+#define LBT_TRACE(level, file, lineno, desc...) 
+
+/*
+LOCAL_C void LBT_TRACE(TInt level, const char* file, TInt lineno, const char* desc,...)
+    {
+    _LIT8(fmt, "!%s %s %s:%d ");
+    TInt desclength, filelength, fmtlength;
+    fmtlength = fmt().Length();
+    LENGTH(desc,desclength);
+    LENGTH(file,filelength);
+
+    HBufC8* str = NULL;
+    TRAPD(error, str = HBufC8::NewL(desclength+fmtlength+filelength+10+25+200));
+    if ( error != KErrNone )
+        {
+        return;
+        }
+    
+    TPtr8 ptr(str->Des());
+    ptr.Zero();
+
+    TLbtDesOverflow ovrflowHandler;
+    ptr.AppendFormat(fmt(),
+                     &ovrflowHandler,
+                     LbtLogLevelStr[(level&KLbtLogLevelMask)],
+                     LbtLogComponentStr[(level&KLbtLogComponentMask) >> 16],
+                     file,
+                     lineno);
+
+    HBufC8* descbuf = HBufC8::NewL(desclength);
+    if ( error == KErrNone )
+        {
+        descbuf->Des().Append(reinterpret_cast<const TUint8 *>(desc), desclength);
+        VA_LIST list;
+        VA_START(list, desc);
+        ptr.AppendFormat(*descbuf,
+                         &ovrflowHandler,
+                         list );
+        delete descbuf;
+        }
+
+#ifdef LBT_FILE_LOGGER
+    _LIT(KLbtTraceDir,"epos");
+    _LIT(KLbtTraceFile,"lbt.log");
+    RFileLogger::Write(KLbtTraceDir(), KLbtTraceFile(), EFileLoggingModeAppend, *str);
+#else
+    RDebug::RawPrint(*str);
+#endif
+    delete str;
+    }
+*/
+
+#else // if _DEBUG flag is not defined
+
+#define LBT_TRACE(level, file, lineno, desc...) 
+#define FUNC_ENTER(x)
+#define STOPLOGGING
+#define LOG(x)
+#define LOG1(x,y)
+#define ERROR(x,y)
+#define LOGSTRING(x, y)
+
+#endif // end of #ifdef _DEBUG 
+
+
+#endif // LBT_LOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/inc/lbtloggerimpl.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 describes the triggering logger implementation
+*
+*/
+
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATION
+class RFileLogger;
+
+NONSHARABLE_CLASS(  CLbtLoggerImpl ) : public CBase
+	{
+	public:
+		IMPORT_C static CLbtLoggerImpl* CreateLogger();
+	
+		IMPORT_C static void Destroy();
+		
+		IMPORT_C RFileLogger& GetFileLogger();
+		
+	private:
+		CLbtLoggerImpl();
+		
+		~CLbtLoggerImpl();
+		
+		RFileLogger iLogger;
+		
+		static CLbtLoggerImpl* iSelf;
+	};
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionHandler.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#include "LocInfoConversionHandler.h"
+
+CLocInfoConversionHanlder* CLocInfoConversionHanlder::NewL()
+    {
+    CLocInfoConversionHanlder* self = new ( ELeave ) CLocInfoConversionHanlder;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+CLocInfoConversionHanlder::CLocInfoConversionHanlder():CActive( EPriorityStandard )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+CLocInfoConversionHanlder::~CLocInfoConversionHanlder()
+    {
+    if( IsActive() )
+        {
+        Cancel();
+        }
+    }
+
+void CLocInfoConversionHanlder::Start()
+    {
+    iStatus = KRequestPending;
+    SetActive();
+    }
+
+void CLocInfoConversionHanlder::RunL()
+    {
+    CActiveScheduler::Stop();
+    }
+
+
+void CLocInfoConversionHanlder::ConstructL()
+    {
+    // Nothign to do here
+    }
+
+
+void CLocInfoConversionHanlder::DoCancel()
+    {
+    // Nothign to do here
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionUnitTest.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,202 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "LocInfoConversionUnitTest.h"
+#include <SettingServerClient.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 ===============================
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CLocInfoConversionUnitTest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLocInfoConversionUnitTest::CLocInfoConversionUnitTest( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::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(KLocInfoConversionUnitTestLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(KLocInfoConversionUnitTestLogFile);
+        }
+
+    iLog = CStifLogger::NewL( KLocInfoConversionUnitTestLogPath, 
+                          logFileName,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+    
+    SendTestClassVersion();
+    iConversionHandler = CLocInfoConversionHanlder::NewL();
+    iConversionHandler1 = CLocInfoConversionHanlder::NewL();
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLocInfoConversionUnitTest* CLocInfoConversionUnitTest::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    CLocInfoConversionUnitTest* self = new (ELeave) CLocInfoConversionUnitTest( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+CLocInfoConversionUnitTest::~CLocInfoConversionUnitTest()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+    delete iConversionHandler;
+    delete iConversionHandler1;
+    }
+
+//-----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::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("LocInfoConversionUnitTest.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* ) CLocInfoConversionUnitTest::NewL( aTestModuleIf );
+
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/LocInfoConversionUnitTest/src/LocInfoConversionUnitTestBlocks.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,2017 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+
+#include "LocInfoConversionUnitTest.h"
+#include "rlbslocmonitorsession.h"
+#include "rlbslocinfoconverter.h"
+#include "rlbslocmonitorareapositioner.h"
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationcommon.h>
+#include "lbsposition.h"
+
+
+// Plug in 
+const TInt KDummyPluginId = 537007117;
+const TInt KSuplPluginId = 537028467;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::Delete() 
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        ENTRY( "UnitTest1", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect1L ),
+        ENTRY( "UnitTest2", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect2L ),
+        ENTRY( "UnitTest3", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo1L ),
+        ENTRY( "UnitTest4", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo2L ),
+        ENTRY( "UnitTest5", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo3L ),
+        ENTRY( "UnitTest6", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo4L ),
+        ENTRY( "UnitTest7", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo5L ),
+        ENTRY( "UnitTest8", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo6L ),
+        ENTRY( "UnitTest9", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo7L ),
+        ENTRY( "UnitTest10", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo8L ),
+        ENTRY( "UnitTest11", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo9L ),
+        ENTRY( "UnitTest12", CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo10L ),
+        ENTRY( "UnitTest13", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel1L ),
+        ENTRY( "UnitTest14", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel2L ),
+        ENTRY( "UnitTest15", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel3L ),
+        ENTRY( "UnitTest16", CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel4L ),
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect1
+// simple session and subsession.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect1L(CStifItemParser& /*aItem*/ )
+   {
+   TInt error;
+   RLbsLocMonitorSession locMonitorSession;
+   error = locMonitorSession.Connect();
+   if( error != KErrNone )
+       {
+       return error;
+       }
+   CleanupClosePushL( locMonitorSession );
+   RLbsLocInfoConverter locInfoConverter;
+   CleanupClosePushL( locInfoConverter );
+   locInfoConverter.OpenL( locMonitorSession );
+   locInfoConverter.Close();
+   CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession 
+   return KErrNone;
+   }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect2
+// Opening multiple subsession from single session
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect2L(CStifItemParser& /*aItem*/ )
+   {
+   RLbsLocMonitorSession locMonitorSession;
+   TInt error = locMonitorSession.Connect();
+   if( error != KErrNone )
+       {
+       return error;
+       }
+   CleanupClosePushL( locMonitorSession );
+   RLbsLocInfoConverter locInfoConverter;
+   CleanupClosePushL( locInfoConverter );
+   RLbsLocInfoConverter locInfoConverter1;
+   CleanupClosePushL( locInfoConverter1 );
+   
+   locInfoConverter.OpenL( locMonitorSession );
+   locInfoConverter1.OpenL( locMonitorSession );
+   locInfoConverter.Close();
+   locInfoConverter1.Close();
+   
+   CleanupStack::PopAndDestroy( 3 ); //locInfoConverter1,locInfoConverter and
+                                     //locMonitorSession
+   return KErrNone;
+   }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo1L
+// This test case tests the simple and corner case related 
+// to RLbsLocInfoConverter::ConvertLocationInfoL
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo1L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: where NULL pointer is passed instead of location info
+     */
+    error = KErrNone;
+    CLbsLocationInfo* locationInfo = CLbsLocationInfo::NewL();
+    CleanupStack::PushL( locationInfo );
+    TRAP( error,locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition,
+                  conversionModuleId,iConversionHandler->iStatus ));
+    if( error!= KErrArgument )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: where we pass location info.This is
+     * just test where this method completes without leaving.
+     */ 
+    
+    // Here we append gsmcell info object to the existing location info object.
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaGsmCellInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    CleanupStack::PopAndDestroy( locationInfo );
+    
+    /**
+     * Case 3. Empty location info array is passed.
+     */  
+    error = KErrNone;
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    TRAP( error,locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus ));
+
+    if( error != KErrArgument )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 4: where we pass location info array.This is 
+     * just test where this method completes without leaving.
+     */
+    
+    // Here we create locationInfo object with gsm cell info object contained in it.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                locationInfoArray,ELbsConversionNotDefined,
+                ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus  );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    CleanupStack::Pop( 2 ); //locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo2L
+// This test case tests ConvertLocationInfo when expected information is
+// of type ECoordinate
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo2L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     *  case 1: Any information regarding the area is passed and 
+     *  coordinate corresponding to that area info is expected.
+     */
+    
+    // Here GSM cell info is passed as input area.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is KErrNone, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+   
+    /**
+     * case 2: Pass any information related to multiple area and we expect coordinate information
+     * corresponding to each area information.
+     */
+   
+    // Create one more location info object which holds wlan info for which corresponding coordinate
+    // is expected.
+    CLbsLocationInfo* locationInfo2 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo2 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo3L
+// This test case tests ConvertLocationInfo when expected information is
+// of type EGsm
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo3L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );;
+
+    /**
+     * case 1: Pass any area info and we expect GSM cell info
+     */
+    
+    // Here WLAN info is passed as input area.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionCacheOnly,ELbsConversionOutputGsm,
+                  conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckGsmCellConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    /**
+     * case 2: Pass any information related to multiple area and we expect GSM cell info
+     * corresponding to each area information.
+     */
+    
+    // Create one more location info object which holds coordinate info for which corresponding GSM
+    // cell info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for GSM cell info, hence we need to clear it before
+    // we use it for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsGsmInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionCacheOnly,ELbsConversionOutputGsm,
+            conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckGsmCellConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo4L
+//This test case tests ConvertLocationInfo when expected information is
+// of type EWcdma
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo4L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+
+    /**
+     *  case 1: Pass any area info pointer and we expect EWcdma type
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionSilent,ELbsConversionOutputWcdma,
+                   conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckWcdmaCellConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+  
+    /**
+     *  case 2: Pass any information related to multiple area and we expect wcdma information
+     * corresponding to each area information.
+     */
+    
+    // Create one more location info object which holds wlan info for which corresponding WCDMA 
+    // cell info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for WCDMA info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWcdmaInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionSilent,ELbsConversionOutputWcdma,
+            conversionModuleId,iConversionHandler->iStatus );
+    
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckWcdmaCellConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo5L
+// This test case tests ConvertLocationInfo when expected information is
+// of type EWlan
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo5L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+
+    /**
+     * case 1: Pass any area info pointer and we expect EWlan type
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionCacheOnly,ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( iConversionHandler->iStatus == KErrNone )
+        {
+        CheckWlanConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( iConversionHandler->iStatus == KErrNotSupported || iConversionHandler->iStatus == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+   /**
+    * Case 2: Pass any information related to multiple area and we expect Wlan info
+    * corresponding to each area information.
+    */
+   
+    // Create one more location info object which holds coordinate info for which corresponding 
+    // Wlan info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for wlan info, hence we need to clear it before
+    // we use it for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWlanInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    TRequestStatus status;
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionCacheOnly,ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus);
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Iterate through the array and check for converted info.
+    if( iConversionHandler->iStatus == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckWlanConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( iConversionHandler->iStatus == KErrNotSupported || iConversionHandler->iStatus == KErrNotFound ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo6L
+// This test case tests the scenario when user tries to request new single 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo6L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    // Here in this case input area doesnt matter 
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    error = KErrNone;
+    TRequestStatus status;
+    TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);
+    locInfoConverter.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::PopAndDestroy( 2 ); // locationInfo1,locationInfo
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo7L
+// This test case tests the scenario when user tries to request new batch 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo7L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KNullUidValue );;
+    
+    // Here in this case input area doesnt matter 
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+      
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    locationInfoArray.Append( locationInfo );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                locationInfoArray,ELbsConversionNotDefined,
+                ELbsConversionOutputPosition,conversionModuleId ,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locationInfoArray1.Append( locationInfo1 );
+    
+    TRequestStatus status;
+    TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo8L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying same plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo8L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to open two subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Here type of area input doesnt matter.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+        
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo);
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo9L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying different plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo9L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId1 = TUid::Uid( KDummyPluginId );
+    TUid conversionModuleId2 = TUid::Uid( KSuplPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying different conversion uid.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+        
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo10L
+// This test case tests following unsuccessful conversion scenarios:
+// 1. Conversion preference not supported by plugin.
+// 2. Conversion request by specifying input area type same as requested type. 
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_ConvertLocationInfo10L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    /**
+     * Case 1: Users tries to request conversion by specifying conversion
+     *         preference not supported by plugin. Example plugin doesnt 
+     *         support conversion using cache.
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionCacheOnly,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    /**
+     * Case 2: Users tries to request for coordinate info by specifying
+     *         only coordinate info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaPositionInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 3: Users tries to request for gsm cell info by specifying
+     *         only gsm cell info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaGsmCellInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputGsm,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 4: Users tries to request for wcdma cell info by specifying
+     *         only wcdma cell info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaWcmdaCellInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputWcdma,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 5: Users tries to request for wlan info by specifying
+     *         only wlan info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaWlanInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        User::Leave( KErrArgument );    
+        }
+    
+    CleanupStack::PopAndDestroy( 3 ); // locationInfo,locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel1L
+// This test case tests the scenario when user tries to cancel the request before 
+// and after the conversion request complete for both single and batch conversion.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel1L(CStifItemParser& /*aItem*/ )
+    {
+
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    // This can  can be done for any area type here EGsm to ECoordinate conversion has 
+    // been used.
+    
+    /**
+     * Case 1: Here single location information conversion is requested 
+     *         and cancel is called before the conversion completes.
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrCancel and 
+    // location info should not have converted information.
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     *  case 2: Here single location information conversion is requested
+     *          and cancel is called after the conversion completes.
+     */
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // case 3: Here mutiple location information conversion is 
+    // requested and cancel is called before the conversion completes.
+
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    // Request should be completed with the error code KErrCancel and 
+    // location info should not have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    
+    /**
+     *  case 4: Here mutiple location information conversion is 
+     * requested and cancel is called after the conversion completes.
+     */
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel2L
+// This test case tests the scenario when user tries to cancel the conversion request
+// from the different subsession for both single and multiple conversion.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel2L(CStifItemParser& /*aItem*/ )
+    {
+
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+   
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    // This can  can be done for any area type here EGsm to ECoordinate conversion has 
+    // been used.
+    
+    /** 
+     * Case 1: Here single location information conversion is 
+     *         requested and cancel is called the different subsession.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter1.CancelConvertLocationInfo();
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Here mutiple location information conversion is requested 
+     *         and cancel is called from the different subsession.
+     */
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter1.CancelConvertLocationInfo();
+    CActiveScheduler::Start();
+    
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 );  // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel3L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying same plugin and we cancel one request
+// of two requests.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel3L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to open two subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         anyone conversion request is cancelled.
+     */
+    
+    // Here type of area input doesnt matter.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here first request is called.
+    locInfoConverter.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         any one conversion request is cancelled.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here second request is called.
+    locInfoConverter1.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel4L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying different plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CLocInfoConversionUnitTest::RLbsLocInfoConverter_Cancel4L(CStifItemParser& /*aItem*/ )
+    {
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId1 = TUid::Uid( KDummyPluginId );
+    TUid conversionModuleId2 = TUid::Uid( KSuplPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying different conversion uid
+     *         any one request is cancelled.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here first request is cancelled.
+    locInfoConverter.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+   
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         one conversion request is cancelled.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here we cancel 2nd request 
+    locInfoConverter1.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+     // till the 2nd request completes.
+     if( iConversionHandler->iStatus.Int() == KRequestPending || 
+         iConversionHandler1->iStatus.Int() == KRequestPending )
+         {
+         CActiveScheduler::Start();
+         }
+     
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+
+// Helper methods
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CreatePositionObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsPositionInfo* CLocInfoConversionUnitTest::CreatePositionInfoObjectLC()
+    {
+    TLocality locality;
+    locality.SetCoordinate( 62.5285,23.9385 );
+    locality.SetAccuracy( 100,0.0 );
+    CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    CleanupStack::PushL( positionInfo );
+    return positionInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CreateGsmCellInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsGsmCellInfo* CLocInfoConversionUnitTest::CreateGsmCellInfoObjectLC()
+    {
+    CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
+    CleanupStack::PushL( gsmCellInfo );
+    return gsmCellInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CreateWcdmaCellInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsWcdmaCellInfo* CLocInfoConversionUnitTest::CreateWcdmaCellInfoObjectLC()
+    {
+    CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
+    CleanupStack::PushL( wcdmaCellInfo );
+    return wcdmaCellInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CreateWlanInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsWlanInfo* CLocInfoConversionUnitTest::CreateWlanInfoObjectLC()
+    {
+    TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    CLbsWlanInfo* wlanInfo = CLbsWlanInfo::NewL( macAddress,10.1 );
+    CleanupStack::PushL( wlanInfo );
+    return wlanInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CreateLocationInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsLocationInfo* CLocInfoConversionUnitTest::CreateLocationInfoObjectLC(                    
+                                                    TLbsAreaInfoClassType aAreaType )
+    {
+    CLbsLocationInfo* locationInfo = CLbsLocationInfo::NewL();
+    CleanupStack::PushL( locationInfo );
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,aAreaType );
+    return locationInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::AppendAreaInfoObjectToLocationInfoL
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::AppendAreaInfoObjectToLocationInfoL(
+                                                    CLbsLocationInfo* aLocationInfo,                    
+                                                    TLbsAreaInfoClassType aAreaType )
+    {
+    switch( aAreaType )
+        {
+        case ELbsAreaPositionInfoClass:
+            CLbsPositionInfo* positionInfo = NULL;
+            positionInfo = CreatePositionInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( positionInfo );
+            CleanupStack::Pop( positionInfo );
+            break;
+        
+        case ELbsAreaGsmCellInfoClass:
+            CLbsGsmCellInfo* gsmCellInfo = NULL;
+            gsmCellInfo = CreateGsmCellInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( gsmCellInfo );
+            CleanupStack::Pop( gsmCellInfo );
+            break;
+            
+        case ELbsAreaWcmdaCellInfoClass:
+            CLbsWcdmaCellInfo* wcdmaCellInfo = NULL;
+            wcdmaCellInfo = CreateWcdmaCellInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( wcdmaCellInfo );
+            CleanupStack::Pop( wcdmaCellInfo );
+            break;
+            
+        case ELbsAreaWlanInfoClass:
+            CLbsWlanInfo* wlanInfo = NULL;
+            wlanInfo = CreateWlanInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( wlanInfo );
+            CleanupStack::Pop( wlanInfo );
+            break;
+        
+        default:
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CheckPositionConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::CheckPositionConvertedInfoL( CLbsLocationInfo* 
+                                                              aLocationInfo,
+                                                              TTestType 
+                                                              aTestType )
+    {
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfo( areaInfoArray,CLbsLocationInfo::ELbsPosInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.Reset();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CheckGsmCellConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::CheckGsmCellConvertedInfoL( CLbsLocationInfo* 
+                                                             aLocationInfo,
+                                                             TTestType 
+                                                             aTestType )
+    {
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfo( areaInfoArray,CLbsLocationInfo::ELbsGsmInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.Reset();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CheckWcdmaCellConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::CheckWcdmaCellConvertedInfoL( CLbsLocationInfo* 
+                                                               aLocationInfo,
+                                                               TTestType 
+                                                               aTestType )
+    {
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfo( areaInfoArray,CLbsLocationInfo::ELbsWcdmaInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.Reset();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::CheckWlanConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CLocInfoConversionUnitTest::CheckWlanConvertedInfoL( CLbsLocationInfo* 
+                                                          aLocationInfo,
+                                                          TTestType 
+                                                          aTestType )
+    {
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfo( areaInfoArray,CLbsLocationInfo::ELbsWlanInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+//  [End of File] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/bmarm/Te_locationinfoconverterU.DEF	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/bwins/Te_locationinfoconverterU.DEF	Fri May 28 18:01:03 2010 +0100
@@ -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/locationmgmt/locmonitor/test/Te_locationinfoconverter/conf/Te_locationinfoconverter.cfg	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,2037 @@
+[Define]
+PrefsUnspecified 0
+LocalCacheOnly 1
+ConnectionSilent 2
+ConnectionPrompt 4
+ConvertionNotDefined 0
+Coordinate 1
+Gsm 2
+Wcdma 4
+Wlan 8
+GsmAndWcdma 3
+GsmAndWlan 5
+WcdmaAndWlan 6
+KErrArgument -6
+KErrCancel -3
+[Enddefine]
+[Test]
+title GetAllLocationInfo
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetCoordinateInfo 1 LATITUDE= 100 LONGITUDE= 200 ALTITUDE= 300 HA= 20 VA= 30
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 2 ARFCN= 3 CCODE= 10 NRXLEV=1 ARFCN= 3 CCODE= 10 NRXLEV=1 
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 15 NEIGHBOURCELLS= 2 NCELLID= 44 NSCODE= 15 NCELLID= 20 NSCODE= 44
+foobar SetWLanInfo 1 MACID= 100 SIGNAL= 200
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 404 NETWORKCODE= 49 LOCATIONCODE= 16 CELLID= 7141
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 0 NETWORKCODE= 0 LOCATIONCODE= 0 CELLID= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 999 NETWORKCODE= 999 LOCATIONCODE= 65535 CELLID= 65535
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= -1 NETWORKCODE= 0 LOCATIONCODE= 0 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= -1 LOCATIONCODE= 0 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= -1 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 1000 NETWORKCODE= 0 LOCATIONCODE= 0 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 1000 LOCATIONCODE= 0 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.11
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 65536 CELLID= 0
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.12
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 65536
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.1.13
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 999
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 1000
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 999
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 1000
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.11
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.12
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.13
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 65535
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.14
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.15
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 65536
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.16
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.17
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 65535
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.18
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.19
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 65536
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.20
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.21
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 255
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.22
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.23
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.24
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 256
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.25
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo LocalCacheOnly Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.26
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionSilent Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.27
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 0 NETWORKCODE= 0 CELLID= 0 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 999 NETWORKCODE= 999 CELLID= 65535 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= -1 NETWORKCODE= 200 CELLID= 300
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= -1 CELLID= 300
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 1000 NETWORKCODE= 200 CELLID= 300
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 1000 CELLID= 300
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.1.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 268435456
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.28.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30
+foobar AddLocationInfo 
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.29
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.30
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 999
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.31
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.32
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 1000
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.33
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.34
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.35
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 999
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.36
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.37
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 1000
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.38
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.39
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 65535
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.40
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.41
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 268435456
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.42
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.43
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.44
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.45
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 512
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.46
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.47.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 NETWORKCODE= 200
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.47.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.47.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.49.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 NETWORKCODE= 200 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument 
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.49.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.51
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo LocalCacheOnly Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.52
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionSilent Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.1.53
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 2 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 0 NRXLEV=1 ARFCN= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV=1 ARFCN= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 2 ARFCN= 3 CCODE= 10 NRXLEV=1 ARFCN= 3 CCODE= 10 NRXLEV=1
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= -1 NRXLEV=1 ARFCN= 3
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 64 NRXLEV=1 ARFCN= 3
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV=1 ARFCN= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV=1 ARFCN= 1023
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV=1 ARFCN= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV=1 ARFCN= 1024
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 0 ARFCN= 1023
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.11
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.12
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= -1 ARFCN= 1023
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.13
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 64 ARFCN= 1023
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.14
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 0 NSCODE= 15
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.15
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 15
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.16
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 15 NEIGHBOURCELLS= 2 NCELLID= 44 NSCODE= 15 NCELLID= 20 NSCODE= 44
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.17
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= -1 NSCODE= 15
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.18
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435456 NSCODE= 15
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.19
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 0 NSCODE= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.20
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.21
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 0 NSCODE= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.2.22
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 512
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.1.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.2.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.2.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo LocalCacheOnly Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionSilent Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 0
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 255
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= -1
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.3.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 256
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.4.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+allownextresult KErrCancel
+foobar Misc 1
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.4.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 255
+allownextresult KErrCancel
+foobar Misc 1
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.4.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar Misc 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.4.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar Misc 3
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.5.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar Misc 4
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.4.5.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo 10
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo 10
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo 10
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo 10
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo 10
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo 10
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo 10
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo 10
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo 10
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo 10
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.7
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.8
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.9
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 1000 NETWORKCODE= -1 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.10
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 64 NRXLEV= 64 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.11
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= -1 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.12
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.13
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 1000 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.14
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435456 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.15
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 512 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.16
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 CELLID= 30 
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.17
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.18
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo LocalCacheOnly Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.19
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionSilent Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.20
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.21
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo LocalCacheOnly Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.22
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionSilent Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.23
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 SCODE= 511 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar ConvertLocationInfo ConnectionPrompt Coordinate 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.24
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified ConvertionNotDefined 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.25
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Gsm 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.26
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Wcdma 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.1.27
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 NEIGHBOURCELLS= 1 NCELLID= 268435455 NSCODE= 511 
+foobar AddLocationInfo
+foobar SetWCDMACellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 CELLID= 30 
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 TIMINGADVANCE= 40 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Wlan 2
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo 10
+foobar SetWLanInfo 1 MACID= 200000 SIGNAL= 30
+foobar AddLocationInfo 10
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo 10
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo 10
+foobar SetWLanInfo 1 MACID= 200000 SIGNAL= 30
+foobar AddLocationInfo 10
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.5
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 256
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+allownextresult KErrArgument
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 2
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.2.6
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetWLanInfo 1 MACID= 100000 SIGNAL= 3
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30 NEIGHBOURCELLS= 1 CCODE= 63 NRXLEV= 63 ARFCN= 1023
+foobar AddLocationInfo
+foobar ConvertLocationInfo PrefsUnspecified Coordinate 
+foobar ValidateLocationInfo
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.3.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+allownextresult KErrCancel
+foobar Misc 5
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.3.2
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetWLanInfo 2 MACID= 100000 SIGNAL= 255
+foobar AddLocationInfo
+allownextresult KErrCancel
+foobar Misc 5
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.3.3
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar Misc 6
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.3.4
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar Misc 7
+foobar Cleanup
+delete foobar
+[Endtest]
+
+[Test]
+title 2698.5.4.1
+create Te_locationinfoconverter foobar
+foobar CreateLocationInfoConverter
+foobar SetGSMCellInfo 1 COUNTRYCODE= 100 NETWORKCODE= 200 LOCATIONCODE= 300 CELLID= 30
+foobar AddLocationInfo
+foobar Misc 8
+foobar Cleanup
+delete foobar
+[Endtest]
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/conf/te_LbsLocationInfoConverterSuite.script	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,755 @@
+START_TESTCASE                LBS-LocationInfoConverter-GetAllLocationInfo
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini GetAllLocationInfo 
+END_TESTCASE		      LBS-LocationInfoConverter-GetAllLocationInfo
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_11
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_12
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_1_13
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_1_13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_1_13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_11
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_12
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_13
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_14
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_15
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_16
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_17
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_18
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_19
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_20
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_21
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_22
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_23
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_23 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_23
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_24
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_24 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_24
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_25
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_25 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_25
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_26
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_26 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_26
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_27
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_27 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_27
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_1_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_1_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_1_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_28_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_28_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_28_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_29
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_29 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_29
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_30
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_30 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_30
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_31
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_31 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_31
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_32
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_32 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_32
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_33
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_33 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_33
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_34
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_34 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_34
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_35
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_35 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_35
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_36
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_36 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_36
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_37
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_37 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_37
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_38
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_38 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_38
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_39
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_39 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_39
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_40
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_40 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_40
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_41
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_41 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_41
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_42
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_42 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_42
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_43
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_43 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_43
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_44
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_44 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_44
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_45
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_45 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_45
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_46
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_46 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_46
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_47_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_47_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_47_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_47_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_47_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_47_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_47_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_47_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_47_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_49_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_49_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_49_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_49_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_49_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_49_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_51
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_51 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_51
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_52
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_52 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_52
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_1_53
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_1_53 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_1_53
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_11
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_12
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_13
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_14
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_15
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_16
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_17
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_18
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_19
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_20
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_21
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_2_22
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_2_22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_2_22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_1_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_1_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_1_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_2_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_2_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_2_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_2_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_2_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_2_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_3_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_3_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_3_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_4_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_4_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_4_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_4_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_4_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_4_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_4_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_4_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_4_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_4_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_4_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_4_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_5_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_5_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_5_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_4_5_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_4_5_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_4_5_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_7
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_8
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_9
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_10
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_11
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_12
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_13
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_14
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_15
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_16
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_17
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_18
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_19
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_20
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_21
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_22
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_23
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_23 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_23
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_24
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_24 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_24
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_25
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_25 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_25
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_26
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_26 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_26
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_1_27
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_1_27 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_1_27
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_5
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_2_6
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_2_6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_2_6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_3_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_3_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_3_1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_3_2
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_3_2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_3_2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_3_3
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_3_3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_3_3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_3_4
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_3_4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_3_4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698_5_4_1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step LbsLocationInfoConverter.ini 2698_5_4_1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698_5_4_1
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/eabi/Te_locationinfoconverterU.def	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+	_ZTI33CTelocationinfoconversionobserver @ 2 NONAME
+	_ZTV33CTelocationinfoconversionobserver @ 3 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,51 @@
+/*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          Te_locationinfoconverter.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x101FB3E3
+
+CAPABILITY      ALL -TCB
+
+//TARGETPATH      ?target_path
+DEFFILE         Te_locationinfoconverter.def
+
+USERINCLUDE     ../inc 
+
+OS_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../src
+SOURCE          Te_locationinfoconverter.cpp
+SOURCE          Te_locationinfoconverterBlocks.cpp Te_locationinfoconversionobserver.cpp
+
+LIBRARY         euser.lib
+LIBRARY         ecom.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib bafl.lib 
+LIBRARY			lbslocationinfodatatypes.lib lbslocationinfoconverter.lib /*lbsselflocate.lib*/ 
+LIBRARY         lbs.lib 
+
+LANG            SC
+
+
+SMPSAFE
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter.pkg	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,62 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies 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 STIF
+;
+
+; 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
+
+; Install files
+"\epoc32\release\armv5\urel\Te_locationinfoconverter.dll"   -   "!:\Sys\Bin\Te_locationinfoconverter.dll"
+"..\conf\Te_locationinfoconverter.cfg"-"C:\TestFramework\Te_locationinfoconverter.cfg" 
+ ;"Te_locationinfoconverter.bat"   - "C:\Sys\Bin\Te_locationinfoconverter.bat"
+
+; Embedded SIS 
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_DoxyFile.txt	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,239 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+# Doxyfile 1.4.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = Te_locationinfoconverter
+PROJECT_NUMBER         = 
+OUTPUT_DIRECTORY       = \Te_locationinfoconverter\
+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                  = \Te_locationinfoconverter\
+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/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_c.bat	Fri May 28 18:01:03 2010 +0100
@@ -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:      batch file
+rem
+
+rem copy C:\TestFramework\TestFramework_locblid.ini C:\TestFramework\TestFramework.ini
+rem md e:\BCTest
+rem md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\Te_locationinfoconverter.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\Te_locationinfoconverter.txt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_nrm.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,78 @@
+/*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          Te_locationinfoconverter.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         Te_locationinfoconverter.def
+
+USERINCLUDE     ../inc 
+
+OS_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../src
+
+SOURCE          Te_locationinfoconverter.cpp
+SOURCE          Te_locationinfoconverterBlocks.cpp
+
+//RESOURCE        resource_file
+//RESOURCE        resource_file2
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/Te_locationinfoconverter_z.bat	Fri May 28 18:01:03 2010 +0100
@@ -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:  batch file    
+rem
+
+copy z:\TestFramework\TestFramework_locblid.ini C:\TestFramework\TestFramework.ini
+md e:\BCTest
+md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\tcLmkBlid.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\Location_LmkBlid.txt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -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:
+*
+*/
+
+PRJ_TESTMMPFILES
+Te_locationinfoconverter.mmp
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/inc/Te_locationinfoconversionobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+#ifndef TE_LOCATIONINFOCONVERSIONOBSERVER_H
+#define TE_LOCATIONINFOCONVERSIONOBSERVER_H
+#include <lbs/lbslocationinfoconverter.h>
+  
+  
+  class CTelocationinfoconversionobserver: public CTimer, public MLbsLocationInfoConverterObserver
+    
+    {
+    
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CTelocationinfoconversionobserver* NewL( );
+
+        /**
+        * Destructor.
+        */
+        ~CTelocationinfoconversionobserver();
+        
+        
+        void OnConversionComplete( TInt aStatusCode );
+                       
+        void RunL( );
+        
+	    void DoCancel( );
+	    
+	    TInt ConversionResult();
+
+	//	  RTimer iTimer;
+        TRequestStatus iWaitStatus;
+        
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CTelocationinfoconversionobserver( );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+    private:
+        
+        TInt iStatusCode;
+        
+    };
+
+#endif      // TE_LOCATIONINFOCONVERSIONOBSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/inc/Te_locationinfoconverter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef TE_LOCATIONINFOCONVERTER_H
+#define TE_LOCATIONINFOCONVERTER_H
+
+//  INCLUDES
+
+
+#include <lbs/lbslocationinfoconverter.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+#include <LbsPosition.h> 
+
+
+#include "Te_locationinfoconversionobserver.h"
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// 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( KTe_locationinfoconverterLogPath, "c:\\logs\\testframework\\" ); 
+// Log file
+_LIT( KTe_locationinfoconverterLogFile, "Te_locationinfoconverter.txt" ); 
+_LIT( KTe_locationinfoconverterLogFileWithTitle, "Te_locationinfoconverter_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CTe_locationinfoconverter;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+/**
+*  CTe_locationinfoconverter test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CTe_locationinfoconverter) : public CScriptBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CTe_locationinfoconverter* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CTe_locationinfoconverter();
+
+    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.
+        */
+        CTe_locationinfoconverter( 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.
+        */
+        virtual TInt ConvertLocationInfoL( CStifItemParser& aItem );
+        virtual TInt CreateLocationInfoConverterL( CStifItemParser& aItem );
+        virtual TInt SetCoordinateInfoL( CStifItemParser& aItem );
+        virtual TInt SetGSMCellInfoL( CStifItemParser& aItem );
+        virtual TInt SetWCDMACellInfoL( CStifItemParser& aItem );
+        virtual TInt SetWLanInfoL( CStifItemParser& aItem );
+        virtual TInt AddLocationInfoL( CStifItemParser& aItem );
+        virtual TInt ValidateLocationInfoL( CStifItemParser& aItem );
+        virtual TInt MiscL( CStifItemParser& aItem );
+        virtual TInt Cleanup( CStifItemParser& aItem );
+        
+
+
+
+    private:    // Data
+        
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+        CLbsLocationInfoConverter* ilbslocationinfoconverter;
+        CLbsLocationInfo* ilbslocationinfo;
+        CTelocationinfoconversionobserver* iObserver;
+        RLbsLocationInfoBaseArray ilbslocationinfoarray;
+        RLbsLocationInfoBaseArray ilbslocationinfoarrayTemp;
+        
+
+
+    };
+
+#endif      // TE_LOCATIONINFOCONVERTER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/init/TestFramework.ini	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,218 @@
+#
+# This is STIF initialization file
+# Comment lines start with '#'-character.
+# See STIF TestFramework users guide.doc for instructions
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set following test engine settings:
+#	- Set Test Reporting mode. TestReportMode's possible values are:
+#		+ 'Summary': Summary of the tested test cases.
+#		+ 'Environment': Hardware and software info.
+#		+ 'TestCases': Test case report.
+#		+ 'FullReport': Set of all above ones.
+#		+ Example 'TestReportMode= Summary TestCases'
+#
+# 	- CreateTestReport setting controls report creation mode
+#		+ YES, Test report will created.
+#		+ NO, No Test report.
+#
+# 	- File path indicates the base path of the test report.
+# 	- File name indicates the name of the test report.
+#
+# 	- File format indicates the type of the test report.
+#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
+#		+ HTML, Test report will be html type, for example 'TestReport.html'.
+#   + XML, Test report will be xml type, for example 'TestReport.xml'.
+#          Note, that xml format is available only when output is set to FILE.
+#
+# 	- File output indicates output source of the test report.
+#		+ FILE, Test report logging to file.
+#		+ RDEBUG, Test report logging to using rdebug.
+#
+# 	- File Creation Mode indicates test report overwriting if file exist.
+#		+ OVERWRITE, Overwrites if the Test report file exist.
+#		+ APPEND, Continue logging after the old Test report information if
+#                 report exist.
+# 	- Sets a device reset module's dll name(Reboot).
+#		+ If Nokia specific reset module is not available or it is not correct one
+#		  StifHWResetStub module may use as a template for user specific reset
+#		  module.
+# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
+#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
+#
+
+[Engine_Defaults]
+
+TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment',
+                              #                      'TestCases' or 'FullReport'
+
+CreateTestReport= YES         # Possible values: YES or NO
+
+TestReportFilePath= C:\LOGS\TestFramework\
+TestReportFileName= TestReport
+
+TestReportFormat= TXT         # Possible values: TXT, HTML or XML
+TestReportOutput= FILE        # Possible values: FILE or RDEBUG
+TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
+
+DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
+
+DisableMeasurement= stifmeasurementdisablenone  # Possible values are:
+              # 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
+              # 'stifmeasurementplugin01', 'stifmeasurementplugin02',
+              # 'stifmeasurementplugin03', 'stifmeasurementplugin04',
+              # 'stifmeasurementplugin05' or 'stifbappeaprofiler'
+
+Timeout= 0                    # Default timeout value for each test case. In milliseconds
+#UITestingSupport= YES        # Possible values: YES or NO
+#SeparateProcesses= YES       # Possible values: YES or NO (default: NO)
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# Modules might have initialisation file, specified as
+# IniFile= c:\testframework\YYYYYY
+# Modules might have several configuration files, like
+# TestCaseFile= c:\testframework\NormalCases.txt
+# TestCaseFile= c:\testframework\SmokeCases.txt
+# TestCaseFile= c:\testframework\ManualCases.txt
+
+# (TestCaseFile is synonym for old term ConfigFile)
+
+# Following case specifies demo module settings. Demo module
+# does not read any settings from file, so tags 
+# IniFile and TestCaseFile are not used.
+# In the simplest case it is enough to specify only the
+# name of the test module when adding new test module
+
+[New_Module]
+ModuleName= testscripter
+TestCaseFile= c:\testframework\Te_locationinfoconverter.cfg
+[End_Module]
+
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX used configuration file(s)
+#TestCaseFile= c:\testframework\testcases1.cfg
+#TestCaseFile= c:\testframework\testcases2.cfg
+#TestCaseFile= c:\testframework\manualtestcases.cfg
+
+#[End_Module]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set STIF logging overwrite parameters for Logger.
+# 	Hardware and emulator environment logging path and styles can
+# 	be configured from here to overwrite the Logger's implemented values.
+#	
+#	Settings description:
+#	- Indicates option for creation log directory/directories. If log directory/directories
+#         is/are not created by user they will make by software.
+#		+ YES, Create log directory/directories if not allready exist.
+#		+ NO, Log directory/directories not created. Only created one is used.
+#
+#	- Overwrite emulator path setting.
+#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
+#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
+#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
+#
+#	- Overwrite emulator's logging format.
+#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
+#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
+#
+#	- Overwrited emulator logging output source.
+#		+ FILE, Logging to file(s).
+#		+ RDEBUG, Logging to using rdebug(s).
+#
+#	- Overwrite hardware path setting (Same description as above in emulator path).
+#	- Overwrite hardware's logging format(Same description as above in emulator format).
+#	- Overwrite hardware's logging output source(Same description as above in emulator output).
+#
+#	- File Creation Mode indicates file overwriting if file exist.
+#		+ OVERWRITE, Overwrites if file(s) exist.
+#		+ APPEND, Continue logging after the old logging information if file(s) exist.
+#
+#	- Will thread id include to the log filename.
+#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
+#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
+#
+#	- Will time stamps include the to log file.
+#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
+#                 for example'12.Nov.2003 115958    LOGGING INFO'
+#		+ NO, No time stamp(s).
+#
+#	- Will line breaks include to the log file.
+#		+ YES, Each logging event includes line break and next log event is in own line.
+#		+ NO, No line break(s).
+#
+#	- Will event ranking include to the log file.
+#		+ YES, Event ranking number added to each line in log file(s). Ranking number
+#                 depends on environment's tics, for example(includes time stamp also)
+#                 '012   12.Nov.2003 115958    LOGGING INFO'
+#		+ NO, No event ranking.
+#
+#	- Will write log file in unicode format.
+#		+ YES, Log file will be written in unicode format
+#		+ NO, Log will be written as normal, not unicode, file.
+#
+
+[Logger_Defaults]
+
+#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
+#NOTE: TestEngine and TestServer logging settings cannot change here
+
+#CreateLogDirectories= YES    # Possible values: YES or NO
+
+#EmulatorBasePath= C:\LOGS\TestFramework\
+#EmulatorFormat= HTML         # Possible values: TXT or HTML
+#EmulatorOutput= FILE         # Possible values: FILE or RDEBUG
+
+#HardwareBasePath= D:\LOGS\TestFramework\
+#HardwareFormat= HTML         # Possible values: TXT or HTML
+#HardwareOutput= FILE         # Possible values: FILE or RDEBUG
+
+#FileCreationMode= OVERWRITE  # Possible values: OVERWRITE or APPEND
+
+#ThreadIdToLogFile= YES       # Possible values: YES or NO
+#WithTimeStamp= YES           # Possible values: YES or NO
+#WithLineBreak= YES           # Possible values: YES or NO
+#WithEventRanking= YES        # Possible values: YES or NO
+
+#FileUnicode= YES             # Possible values: YES or NO
+#AddTestCaseTitle= YES        # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set filters to be used by ConsoleUI.
+# 	If you want to use filter with ConsoleUI, simply remove comments
+# 	from section below and provide valid filter entries.
+#   Each filter line has to start with "filter= " keyword.
+#   Filter can contain special wildcard characters:
+#     *  which stands for none or any literal;
+#     ?  which stands for single character.
+#   Filters are not case-sensitive.
+
+#[Filters]
+#filter= *math*
+#filter= *radio*
+#[End_Filters]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconversionobserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include "Te_locationinfoconversionobserver.h"
+
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::CTriggerFireObserver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CTelocationinfoconversionobserver::CTelocationinfoconversionobserver(  ):CTimer( CTimer::EPriorityStandard )
+    {
+    
+        CActiveScheduler::Add(this);
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTelocationinfoconversionobserver::ConstructL()
+    {
+        iStatusCode=KErrNone;
+     	CTimer::ConstructL();
+     	
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTelocationinfoconversionobserver* CTelocationinfoconversionobserver::NewL( )
+    {
+    
+    CTelocationinfoconversionobserver* self = new (ELeave) CTelocationinfoconversionobserver(  );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop();
+    return self;
+
+    }
+
+// Destructor
+CTelocationinfoconversionobserver::~CTelocationinfoconversionobserver()
+    { 
+	    Cancel(); 
+	}
+
+void CTelocationinfoconversionobserver::OnConversionComplete( TInt aStatusCode )
+	{
+	iStatusCode = aStatusCode;
+	CActiveScheduler::Stop();
+	}
+
+TInt CTelocationinfoconversionobserver::ConversionResult()
+    {
+    return iStatusCode;
+    }
+    
+
+
+void CTelocationinfoconversionobserver::RunL( )
+    {
+    iStatusCode = KErrCancel;
+    CActiveScheduler::Stop();
+      
+    }
+
+void CTelocationinfoconversionobserver::DoCancel( )
+    {
+     
+     
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconverter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "Te_locationinfoconverter.h"
+#include <SettingServerClient.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 ===============================
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::CTe_locationinfoconverter
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CTe_locationinfoconverter::CTe_locationinfoconverter( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTe_locationinfoconverter::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(KTe_locationinfoconverterLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(KTe_locationinfoconverterLogFile);
+        }
+
+    iLog = CStifLogger::NewL( KTe_locationinfoconverterLogPath, 
+                          logFileName,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+    
+    SendTestClassVersion();
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTe_locationinfoconverter* CTe_locationinfoconverter::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    CTe_locationinfoconverter* self = new (ELeave) CTe_locationinfoconverter( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+CTe_locationinfoconverter::~CTe_locationinfoconverter()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+
+    }
+
+//-----------------------------------------------------------------------------
+// CTe_locationinfoconverter::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CTe_locationinfoconverter::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("Te_locationinfoconverter.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* ) CTe_locationinfoconverter::NewL( aTestModuleIf );
+
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/Te_locationinfoconverter/src/Te_locationinfoconverterBlocks.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,712 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <StifItemParser.h>
+#include <Stiftestinterface.h>
+#include "Te_locationinfoconverter.h"
+#include <e32math.h> 
+#include <e32const.h>
+#include <BAUTILS.h>
+#include <e32std.h>
+#include <e32base.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
+#define KTestLatitude 10
+#define KTestLongitude 20
+#define KTestAltitude 30
+#define KTestHorizontalaccuracy 30
+#define KTestVerticalaccuracy 40
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+//Tags used in cfg file
+_LIT(KLatitude, "LATITUDE= ");
+_LIT(KLongitude, "LONGITUDE= ");
+_LIT(KAltitude, "ALTITUDE= ");
+_LIT(KHorizontalAccuracy, "HA= ");
+_LIT(KVerticalAccuracy, "VA= ");
+_LIT(KCountrycode, "COUNTRYCODE= ");
+_LIT(KNetworkcode, "NETWORKCODE= ");
+_LIT(KLocationcode, "LOCATIONCODE= ");
+_LIT(KCellid, "CELLID= ");
+_LIT(KRxlev, "RXLEV= ");
+_LIT(KTimingAdvance, "TIMINGADVANCE= ");
+_LIT(KNeighbouringcells, "NEIGHBOURCELLS= ");
+_LIT(KArfcn, "ARFCN= ");
+_LIT(KColourcode, "CCODE= ");
+_LIT(KNeighbourRxlev, "NRXLEV= ");
+_LIT(KScramblingcode, "SCODE= ");
+_LIT(KNeighbourCellid, "NCELLID= ");
+_LIT(KNeighbourScramblingcode, "NSCODE= ");
+_LIT(KMacId, "MACID= ");
+_LIT(KSignalstrength, "SIGNAL= ");
+_LIT(KNeighbourPathloss, "NPATHLOSS= ");
+_LIT(KNeighbourSignalstrength, "NSIGNAL= ");
+
+// 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 ===============================
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CTe_locationinfoconverter::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::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( "ConvertLocationInfo", CTe_locationinfoconverter::ConvertLocationInfoL ),
+        ENTRY( "Misc", CTe_locationinfoconverter::MiscL ),
+        ENTRY( "CreateLocationInfoConverter", CTe_locationinfoconverter::CreateLocationInfoConverterL ),
+        ENTRY( "SetCoordinateInfo", CTe_locationinfoconverter::SetCoordinateInfoL ),
+        ENTRY( "SetGSMCellInfo", CTe_locationinfoconverter::SetGSMCellInfoL ),
+        ENTRY( "SetWCDMACellInfo", CTe_locationinfoconverter::SetWCDMACellInfoL ),
+        ENTRY( "SetWLanInfo", CTe_locationinfoconverter::SetWLanInfoL ),
+        ENTRY( "AddLocationInfo", CTe_locationinfoconverter::AddLocationInfoL ),
+        ENTRY( "ValidateLocationInfo", CTe_locationinfoconverter::ValidateLocationInfoL ),
+        ENTRY( "Cleanup", CTe_locationinfoconverter::Cleanup ),
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::CreateLocationInfoConverterL
+// Creates and initializes Location info converter object
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::CreateLocationInfoConverterL( CStifItemParser& aItem )
+    {
+	iLog->Log(_L("CovertLocationInfoL Function"));
+//    TUint Uidinteger = 537028467;       // SUPL
+	TUint Uidinteger = 537007117;      // Example
+    TUid uid = TUid::Uid( Uidinteger );
+   
+    aItem.GetNextInt(Uidinteger);
+    
+    iObserver = CTelocationinfoconversionobserver::NewL();
+    ilbslocationinfo = CLbsLocationInfo::NewL();
+    if(Uidinteger!=0)
+        {
+        ilbslocationinfoconverter = CLbsLocationInfoConverter::NewL(*iObserver,uid);
+        }
+    else
+        {
+		iLog->Log(_L("CovertLocationInfoL Function : Creating"));
+        ilbslocationinfoconverter = CLbsLocationInfoConverter::NewL(*iObserver);
+        }
+		iLog->Log(_L("CovertLocationInfoL Function end"));
+    return KErrNone;
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::SetCoordinateInfoL
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::SetCoordinateInfoL( CStifItemParser& aItem )
+    {
+    TInt fntype;
+    aItem.GetNextInt(fntype);
+    TPtrC Llatidude,Llongitude,Laltidude,Lhoracc,LVerAcc;
+    aItem.GetNextString( KLatitude, Llatidude);    
+    aItem.GetNextString( KLongitude, Llongitude);
+    aItem.GetNextString( KAltitude, Laltidude);
+    aItem.GetNextString( KHorizontalAccuracy, Lhoracc);
+    aItem.GetNextString( KVerticalAccuracy, LVerAcc);
+    
+    TReal64 latitude =0 ;
+    TLex16 lat(Llatidude);
+    lat.Val(latitude);
+    
+    TReal64 longitude =0;
+    TLex16 longi(Llongitude);
+    longi.Val(longitude);
+    
+    TReal32 Altitude =0;
+    TLex16 Alt(Laltidude);
+    Alt.Val(Altitude);
+    
+    TReal32 HorizontalAccuracy =0;
+    TLex16 HA(Lhoracc);
+    HA.Val(HorizontalAccuracy);
+    
+    TReal32 VerticalAccuracy =0;
+    TLex16 VA(LVerAcc);
+    VA.Val(VerticalAccuracy);
+    TLocality Locality;
+    if(latitude!=0 && longitude!=0 && Altitude==0)
+        {
+        Locality.SetCoordinate(latitude,longitude);
+        }
+    else if (latitude!=0 && longitude!=0 && Altitude!=0)
+        {
+        Locality.SetCoordinate(latitude,longitude,Altitude);
+        }
+    
+           
+    if(HorizontalAccuracy!=0 ) 
+        {
+        Locality.SetHorizontalAccuracy(HorizontalAccuracy);
+        }
+    if(VerticalAccuracy!=0 ) 
+            {
+            Locality.SetVerticalAccuracy(VerticalAccuracy);
+            }
+    
+    CLbsPositionInfo* Posinfo; 
+    if(fntype==1)
+        {
+        Posinfo=CLbsPositionInfo::NewL( Locality); 
+        }
+    else if(fntype==2)
+        {
+        Posinfo=CLbsPositionInfo::NewL();
+        Posinfo->SetLocality(Locality);
+        }
+    
+    ilbslocationinfo->AddAreaInfoL(Posinfo);
+    return KErrNone;   
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::SetGSMCellInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::SetGSMCellInfoL( CStifItemParser& aItem )
+    {
+    TInt fntype;
+    aItem.GetNextInt(fntype);
+    TInt countrycode=-2,networkcode=-2,locationcode=-2,cellid=-2,timingadvance=-2,Rxlev=-2,nNeignbourcells=0,arfcn=-2,bsic=-2,NRxlev=-2;
+    aItem.GetNextInt( KCountrycode, countrycode);    
+    aItem.GetNextInt( KNetworkcode, networkcode);
+    aItem.GetNextInt( KLocationcode, locationcode);
+    aItem.GetNextInt( KCellid, cellid);
+    aItem.GetNextInt( KTimingAdvance, timingadvance);
+    aItem.GetNextInt( KRxlev, Rxlev);
+    aItem.GetNextInt( KNeighbouringcells, nNeignbourcells);
+      
+    CLbsGsmCellInfo* gsmcellinfo;    
+    if(fntype==1)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL( countrycode,networkcode,locationcode,cellid); 
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            TLbsGsmNeighbourCellInfo neighbourcell;
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                    {
+                    aItem.GetNextInt(KColourcode,bsic);
+                    if(bsic!=-2)
+                        {
+                        neighbourcell.SetBsic(bsic);
+                        }
+                    aItem.GetNextInt(KNeighbourRxlev,NRxlev);
+                    if(NRxlev!=-2)
+                        {
+                        neighbourcell.SetRxLevel(NRxlev);
+                        }
+                    aItem.GetNextInt(KArfcn,arfcn);
+                    if(arfcn!=-2)
+                        {
+                        neighbourcell.SetArfcn(arfcn);
+                        }
+                    gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                  
+                    }
+            }
+        }
+    else if(fntype==2)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL();
+        if(countrycode!=-2)
+            {
+            gsmcellinfo->SetMobileCountryCode(countrycode);
+            }
+        if(networkcode!=-2)
+            {
+            gsmcellinfo->SetMobileNetworkCode(networkcode);
+            }
+        if(locationcode!=-2)
+            {
+            gsmcellinfo->SetLocationAreaCode(locationcode);
+            }
+        if(cellid!=-2)
+            {
+            gsmcellinfo->SetCellId(cellid);
+            }
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            
+            
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+               {
+               aItem.GetNextInt(KColourcode,bsic);
+               if(bsic!=-2)
+                   {
+                   bsic = 0;
+                   }
+               aItem.GetNextInt(KNeighbourRxlev,Rxlev);
+               if(Rxlev!=-2)
+                   {
+                   Rxlev = 0;
+                   }
+               aItem.GetNextInt(KArfcn,arfcn);
+               if(arfcn!=-2)
+                   {
+                   arfcn = 0;
+                   }
+               TLbsGsmNeighbourCellInfo neighbourcell(bsic,Rxlev,arfcn);
+               gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+             
+               }   
+            }
+        }
+    
+    ilbslocationinfo->AddAreaInfoL(gsmcellinfo);
+    return KErrNone;    
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::SetWCDMACellInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::SetWCDMACellInfoL( CStifItemParser& aItem )
+    {
+    TInt fntype;
+    aItem.GetNextInt(fntype);
+    TInt countrycode=-2,networkcode=-2,cellid=-2,nNeignbourcells=0,scramblingcode=-2,neighbourucid=-2,neighbourscode=-2,neighbourpathloss=-2,neighboursignalstrength=-2;
+    aItem.GetNextInt( KCountrycode, countrycode);    
+    aItem.GetNextInt( KNetworkcode, networkcode);
+    
+    aItem.GetNextInt( KCellid, cellid);
+    aItem.GetNextInt( KScramblingcode, scramblingcode);
+  
+    aItem.GetNextInt( KNeighbouringcells, nNeignbourcells);
+         
+    CLbsWcdmaCellInfo* wcdmacellinfo;    
+    if(fntype==1)
+        {
+        wcdmacellinfo=CLbsWcdmaCellInfo::NewL( countrycode,networkcode,cellid); 
+        if(scramblingcode!=-2)
+            {
+            wcdmacellinfo->SetScramblingCode(scramblingcode);
+            }
+        if(nNeignbourcells!=0)
+            {
+            TLbsWcdmaNeighbourCellInfo neighbourcell;
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                {
+                aItem.GetNextInt(KNeighbourCellid,neighbourucid);
+                if(neighbourucid!=-2)
+                    {
+                    neighbourcell.SetUniqueCellId(neighbourucid);
+                    }
+                aItem.GetNextInt(KNeighbourScramblingcode,neighbourscode);
+                if(neighbourscode!=-2)
+                    {
+                    neighbourcell.SetScramblingCode(neighbourscode);
+                    }
+                aItem.GetNextInt(KNeighbourPathloss,neighbourpathloss);
+                if(neighbourpathloss!=-2)
+                    {
+                    neighbourcell.SetPathloss(neighbourpathloss);
+                    }
+                aItem.GetNextInt(KNeighbourSignalstrength,neighboursignalstrength);
+                if(neighboursignalstrength!=-2)
+                    {
+                    neighbourcell.SetSignalStrength(neighboursignalstrength);
+                    }
+                wcdmacellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                }
+            }
+        }
+    else if(fntype==2)
+        {
+        wcdmacellinfo=CLbsWcdmaCellInfo::NewL();
+        if(countrycode!=-2)
+            {
+            wcdmacellinfo->SetMobileCountryCode(countrycode);
+            }
+        if(networkcode!=-2)
+            {
+            wcdmacellinfo->SetMobileNetworkCode(networkcode);
+            }
+        if(cellid!=-2)
+            {
+            wcdmacellinfo->SetUniqueCellId(cellid);
+            }
+        if(scramblingcode!=-2)
+            {
+            wcdmacellinfo->SetScramblingCode(scramblingcode);
+            }
+        if(nNeignbourcells!=0)
+            {
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                {
+                aItem.GetNextInt(KNeighbourCellid,neighbourucid);
+                if(neighbourucid==-2)
+                    {
+                    neighbourucid = 0;
+                    }
+                aItem.GetNextInt(KNeighbourScramblingcode,neighbourscode);
+                if(neighbourscode==-2)
+                    {
+                    neighbourscode = 0;
+                    }
+                aItem.GetNextInt(KNeighbourPathloss,neighbourpathloss);
+                if(neighbourpathloss==-2)
+                    {
+                    neighbourpathloss = 0;
+                    }
+                aItem.GetNextInt(KNeighbourSignalstrength,neighboursignalstrength);
+                if(neighboursignalstrength==-2)
+                    {
+                    neighboursignalstrength = 0;
+                    }
+                
+                TLbsWcdmaNeighbourCellInfo neighbourcell(neighbourucid,neighbourscode,neighbourpathloss,neighboursignalstrength);
+                wcdmacellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                }
+            }
+        }
+   
+    ilbslocationinfo->AddAreaInfoL(wcdmacellinfo);
+    return KErrNone;   
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::SetWLanInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::SetWLanInfoL( CStifItemParser& aItem )
+    {
+    TInt fntype;
+    aItem.GetNextInt(fntype);
+    TPtrC macid;
+    TInt signalstrength=-2;
+    aItem.GetNextString( KMacId, macid);    
+    aItem.GetNextInt( KSignalstrength, signalstrength);
+    TBuf8<6> macidbuf;
+    macidbuf.Copy(macid);
+    CLbsWlanInfo* wlaninfo;    
+    if(fntype==1)
+        {
+        wlaninfo=CLbsWlanInfo::NewL( macidbuf,signalstrength); 
+        }
+    else if(fntype==2)
+        {
+        wlaninfo=CLbsWlanInfo::NewL();
+        if (macidbuf.Length()!=0)
+            {
+            wlaninfo->SetMacAddress(macidbuf);
+            }
+        if(signalstrength!=-2)
+            {
+            wlaninfo->SetSignalStrength(signalstrength);
+            }
+        }
+    ilbslocationinfo->AddAreaInfoL(wlaninfo);
+    return KErrNone;    
+    }
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::AddLocationInfoL
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::AddLocationInfoL( CStifItemParser& aItem )
+    {
+    TInt nTimes =1;
+    aItem.GetNextInt(nTimes);
+    ilbslocationinfoarrayTemp.Append(ilbslocationinfo);
+    for (TInt i=0 ; i<nTimes;i++ )
+        {
+        ilbslocationinfoarray.Append(ilbslocationinfo);
+        }
+    ilbslocationinfo = CLbsLocationInfo::NewL();
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::ConvertLocationInfoL
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::ConvertLocationInfoL( CStifItemParser& aItem )
+    {
+    
+    TInt conversionprefs ;
+    aItem.GetNextInt(conversionprefs);
+    TInt requestedinfo;
+    aItem.GetNextInt(requestedinfo);
+    TInt fntype=0;
+    aItem.GetNextInt(fntype);
+    TRAPD( err, 
+    if(fntype==0)
+        {
+        ilbslocationinfoconverter->ConvertLocationInfoL(*ilbslocationinfoarray[0],conversionprefs,requestedinfo);
+        }
+    else if (fntype==2)
+        {
+        ilbslocationinfoconverter->ConvertLocationInfoL(ilbslocationinfoarray,conversionprefs,requestedinfo);
+        }
+    )
+    
+    if(err)
+        return err;
+    
+    CActiveScheduler::Start();
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::CancelConvertLocationInfo
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CTe_locationinfoconverter::MiscL( CStifItemParser& aItem)
+    {
+    TInt testcase ;
+    aItem.GetNextInt(testcase);
+    switch(testcase)
+        {
+        case 1:
+            ilbslocationinfoconverter->ConvertLocationInfoL(*ilbslocationinfo,0,1);
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+            iObserver->After(1500000);
+            CActiveScheduler::Start();
+            break;
+        case 2:
+            ilbslocationinfoconverter->ConvertLocationInfoL(*ilbslocationinfo,0,1);
+            CActiveScheduler::Start();
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+                        
+            break;
+        case 3:
+            
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+                        
+            break;
+        case 4:
+            TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);          
+            ilbslocationinfoconverter->ConvertLocationInfoL(*ilbslocationinfo,0,1);
+            ilbslocationinfoconverter->ConvertLocationInfoL(*ilbslocationinfo,0,1);
+                                
+            break;
+        case 5:
+            ilbslocationinfoconverter->ConvertLocationInfoL(ilbslocationinfoarray,0,1);
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+            iObserver->After(1500000);
+            CActiveScheduler::Start();
+            break;
+        case 6:
+            ilbslocationinfoconverter->ConvertLocationInfoL(ilbslocationinfoarray,0,1);
+            CActiveScheduler::Start();
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+                        
+            break;
+        case 7:
+            
+            ilbslocationinfoconverter->CancelConvertLocationInfo();
+                        
+            break;
+        case 8:
+            TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);          
+            ilbslocationinfoconverter->ConvertLocationInfoL(ilbslocationinfoarray,0,1);
+            ilbslocationinfoconverter->ConvertLocationInfoL(ilbslocationinfoarray,0,1);
+                                
+            break;
+            
+        }
+    
+    
+    return iObserver->ConversionResult();;
+    }
+
+
+
+TInt CTe_locationinfoconverter::ValidateLocationInfoL( CStifItemParser& aItem)
+    {
+
+	if( iObserver->ConversionResult() == KErrNotSupported ||
+		 iObserver->ConversionResult() == KErrNotFound )
+		return KErrNone;
+
+	if( iObserver->ConversionResult() == KErrNone )
+		{
+	    TInt requestedinfo =1;
+	    aItem.GetNextInt(requestedinfo);
+	    if(requestedinfo ==1)
+	        {
+	        TInt count = ilbslocationinfoarray.Count();
+	        for(TInt i=0; i<count ; i++)
+	            {
+	    		RPointerArray<CLbsAreaInfoBase> PosInfoList;
+	            static_cast<CLbsLocationInfo*>(ilbslocationinfoarray[i])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+	            TInt count2 = PosInfoList.Count();
+	            PosInfoList.Reset();
+	            PosInfoList.Close();
+	            if(count2>=1)
+	                {
+	                return KErrNone;
+	                }
+	            }
+	        return KErrGeneral;
+	        }
+    	}
+    
+    return iObserver->ConversionResult();
+    }
+
+TInt CTe_locationinfoconverter::Cleanup( CStifItemParser& aItem )
+    {
+    if(iObserver)
+        {
+        delete iObserver;
+        }
+    if(ilbslocationinfo)
+        {
+        delete ilbslocationinfo;
+        }
+    if(ilbslocationinfoconverter)
+        {
+        delete ilbslocationinfoconverter;
+        }
+    ilbslocationinfoarrayTemp.ResetAndDestroy();
+    ilbslocationinfoarray.Reset();
+      
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_locationinfoconverter::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*
+TInt CTe_locationinfoconverter::?member_function(
+   CItemParser& aItem )
+   {
+
+   ?code
+
+   }
+*/
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+//  [End of File] - Do not remove
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/data/10287201.rss	Fri May 28 18:01:03 2010 +0100
@@ -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: Resource file for movement detector plugin
+*
+*/
+// mydetector.rss
+//
+#include <ecom/registryinfo.rh>
+
+#include "TestLocationConverter.hrh"
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = KTestLocationConverterUid;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = KLbsLocInfoConverterPlugInInterfaceId;
+        implementations = 
+            {
+            IMPLEMENTATION_INFO
+                {
+                implementation_uid  = KTestLocationConverterImplementationUid;
+                version_no          = 1;
+                display_name        = "Test location info converter";
+                default_data        = "text/ascii";
+                opaque_data         = "priority:2"; 
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/data/TestLocationConverter.hrh	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTLOCATIONCONVERTER_HRH
+#define TESTLOCATIONCONVERTER_HRH
+
+#define KTestLocationConverterUid                  0x2002150C
+#define KTestLocationConverterImplementationUid    0x2002150D
+
+
+#endif // TESTLOCATIONCONVERTER_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/group/TestLocationConverter.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* 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:  Project definition file for project Cell Id movement detector
+*
+*/
+
+
+#include "../data/TestLocationConverter.hrh"
+
+TARGET                  TestLocationConverter.dll
+TARGETTYPE              PLUGIN
+UID 0x10009D8D		KTestLocationConverterUid 
+VENDORID            0x2002140e
+
+CAPABILITY              ALL -TCB
+
+OS_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE             ../inc
+USERINCLUDE             ../data
+
+SOURCEPATH              ../src
+SOURCE                  TestLocationConverter.cpp
+
+START RESOURCE          ../data/10287201.rss
+TARGET                  TestLocationConverter.rsc
+END
+
+LIBRARY			euser.lib
+LIBRARY			ecom.lib
+LIBRARY			commdb.lib
+LIBRARY			flogger.lib
+LIBRARY			lbslocationinfoconverterplugin.lib
+LIBRARY			lbslocationinfodatatypes.lib
+LIBRARY			lbs.lib
+
+PAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* 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:  Build information file for project ?myapp
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_TESTMMPFILES
+TestLocationConverter.mmp
+
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/inc/TestLocationConverter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of Movement Detection API
+*
+*/
+
+
+#ifndef C_TESTLOCATIONCONVERTER_H
+#define C_TESTLOCATIONCONVERTER_H
+
+#include <e32base.h>
+
+#include <commdb.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+#include <lbs/lbslocinfoconverterplugincommon.h>
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+/**
+ *  CTestLocationConverter is an ECom plugin that implements CLbsLocInfoConversionPluginBase.
+ *
+ *  This class is responsible for monitering movement of mobile based on
+ *  GSM information available to mobile at any instant.
+ *
+ *  @lib movementdetector.lib
+ *  @since  S60 v4.0
+ */
+class CTestLocationConverter : public CLbsLocInfoConverterPluginBase
+										
+    {
+
+public:
+
+    /**
+     * Loads a location info conveter and initalises it.
+     * 
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aPluginArgs Agruements sent to conversion plugin.
+     * return Pointer to the new loation info converter.If module id is not specified
+     * default plug in will be loaded.
+     */
+    static CTestLocationConverter* NewL( TLbsLocInfoConverterPluginParams& aPluginParams );
+
+    /**
+     * Unloads this movement detector.
+     *
+     * @since S60 TACO
+     */
+     virtual ~CTestLocationConverter();
+
+	// From CLbsLocInfoConversionPluginBase
+
+     /**
+          * Converts the area informations of a group of geographical locations
+          * to its corresponding position information.
+          * 
+          * @param[in] aLocationInfoArray Array of location informations corresponding 
+          * to geographical locations are passed and on successful completion of this 
+          * method,position information corresponding to the loation informations are  
+          * updated in each area info object.
+          * @param[in] aConversionPrefs Conversion preferences suggested by client.
+          * 
+          * @leave KErrArgument If the location info array is empty.
+          */
+     virtual void ConvertLocationInfoL( 
+             RLbsLocationInfoArray& aLocationInfoArray,
+             const TLbsConversionPrefs aConversionPrefs, 
+             const TLbsConversionOutputInfoMask aRequestedInfo );
+
+     /**
+      * Cancels get location info operation.
+      */     
+     virtual void CancelConvertLocationInfo();
+     
+     virtual void ValidateClient( const TSecureId& aSecureId, 
+                                  const TVendorId& aVendorId,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo );
+                                  
+     virtual void CancelValidateClient();        
+     
+     virtual void ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo );
+
+private:
+
+	
+	 void ConstructL(TLbsLocInfoConverterPluginParams& aPluginParams);
+	
+	/**
+	 * Default C++ Constructor
+	 */
+	 CTestLocationConverter(TLbsLocInfoConverterPluginParams& aParams);
+	 
+private: // data
+
+    MLbsLocInfoConverterPluginObserver &iObserver;
+    TBool iRetainLocalityInCache;
+    };
+
+
+#endif // C_TESTLOCATIONCONVERTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter/src/TestLocationConverter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of CdummyMvmtDet class.
+*
+*/
+
+
+
+#include <ecom/ecom.h>
+#include <e32math.h>
+#include <ecom/implementationproxy.h>
+#include "TestLocationConverter.h"
+
+// the test code sets the timing advance in the GSM vell info to this value
+// which instructs the test converter to constuct TLocalitys with
+// latitude ser to country code, longitude set to 
+// network code and altitiude set to local area code
+const TInt KTimingAdvanceSpecialValue= 254;
+
+const TInt KTimingAdvanceSaveToCacheTrue= 253;
+
+const TInt KTimingAdvanceSaveToCacheFalse= 252;
+
+// ECOM implementation specifics
+static const TImplementationProxy implTable[] =
+	{
+    IMPLEMENTATION_PROXY_ENTRY(0x2002150D, CTestLocationConverter::NewL)
+	}; 
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
+
+    return implTable;
+    }
+ 
+
+// Class methods
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::NewL
+// Symbian Two - phase constructor
+//------------------------------------------------------------
+//
+CTestLocationConverter* CTestLocationConverter::NewL( TLbsLocInfoConverterPluginParams& aParams)
+	{
+	CTestLocationConverter* self = new (ELeave) CTestLocationConverter(aParams);
+	CleanupStack::PushL(self);
+	self->ConstructL(aParams);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConstructL
+//------------------------------------------------------------
+//
+void CTestLocationConverter::ConstructL( TLbsLocInfoConverterPluginParams& /*aParams*/ )
+	{
+	
+
+	}
+
+
+//-----------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::CLbsLocInfoConversionPluginBase
+// C++ Default constructor
+//------------------------------------------------------------------
+//
+CTestLocationConverter::CTestLocationConverter(TLbsLocInfoConverterPluginParams& aParams):iObserver(aParams.Observer()),
+		iRetainLocalityInCache(ETrue)
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::~CLbsLocInfoConversionPluginBase
+// Destructor
+//------------------------------------------------------------
+//
+CTestLocationConverter::~CTestLocationConverter()
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//	
+void CTestLocationConverter::ConvertLocationInfoL( RLbsLocationInfoArray& aLocationInfoArray,
+                                                        const TLbsConversionPrefs /*aConversionPrefs*/, 
+                                                        const TLbsConversionOutputInfoMask aRequestedInfo)
+	{
+	if(aRequestedInfo == ELbsConversionOutputNotDefined)
+	   {
+	   iObserver.OnConversionComplete(KErrArgument);
+	   return;
+	   }
+	TInt count = aLocationInfoArray.Count();	
+	for(TInt i=0 ; i<count;i++)
+	    {
+	    switch(aRequestedInfo)
+    	    {
+    	    case ELbsConversionOutputPosition:
+    	        {
+    	        // Extract the area info provided by the client.
+    	        // If client has specified only coordinate info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+    	        CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+    	        areaInfoMask |= CLbsLocationInfo::ELbsGsmInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+    	        aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+    	        TInt count = areaInfoArray.Count();
+    	        
+    	
+    	        
+    	        if( count == 0 )
+    	            {
+    	            iObserver.OnConversionComplete(KErrNotSupported);
+    	            return;
+    	            }
+    	        //
+    	        CLbsGsmCellInfo* posInfo = static_cast<CLbsGsmCellInfo*>( areaInfoArray[0] );
+    	                   
+    	        TInt timingAdvance = posInfo->TimingAdvance();
+    	        
+    	    	TLocality locality;
+    	        if (timingAdvance == KTimingAdvanceSpecialValue)
+    	        	{
+					TReal64 lat = posInfo->MobileCountryCode() ;
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					 locality.SetCoordinate( lat,lng, alt);
+    	        	}
+    	        else 
+    	        	{
+				    locality.SetCoordinate( 82.5285,35.9385, 2.22f);
+    	        	}
+    	           
+//     	        if (timingAdvance == KTimingAdvanceSaveToCacheTrue)
+//        	        {
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//    				iRetainLocalityInCache = ETrue;
+//        	        }
+//     	        else if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+//     	        	{
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//					iRetainLocalityInCache = EFalse;
+//     	        	}
+     	        
+     	       if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+					{
+					TReal64 lat = posInfo->MobileCountryCode();
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					locality.SetCoordinate(lat, lng, alt);
+					iRetainLocalityInCache = EFalse;
+					}
+				else
+					{
+					iRetainLocalityInCache = ETrue;
+					}
+     	        
+     	        
+    	        areaInfoArray.ResetAndDestroy();
+     
+    	        locality.SetAccuracy( 100,0.0 );
+    	        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    	        CleanupStack::PushL( positionInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( positionInfo );
+    	        CleanupStack::Pop( positionInfo );
+    	        break;
+    	        }
+    	    case ELbsConversionOutputGsm:
+    	        {
+                // Extract the area info provided by the client.
+    	        // If client has specified only gsm info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                    
+    	        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 200,201,202,203);
+    	        CleanupStack::PushL( gsmCellInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( gsmCellInfo );
+                CleanupStack::Pop( gsmCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWcdma:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wcdma info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+    	        
+    	        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 200,201,202 );
+    	        CleanupStack::PushL( wcdmaCellInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( wcdmaCellInfo );
+                CleanupStack::Pop( wcdmaCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWlan:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wlan info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWcdmaInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                
+    	        TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    	        CLbsWlanInfo* WlanInfo = CLbsWlanInfo::NewL( macAddress,10.1);
+    	        CleanupStack::PushL( WlanInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( WlanInfo );
+                CleanupStack::Pop( WlanInfo );
+    	        }
+    	    default:
+    	        break;
+    	    }
+	    
+	    }
+	iObserver.OnConversionComplete(KErrNone);
+	}
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//  
+void CTestLocationConverter::CancelConvertLocationInfo( )
+    {
+     
+    }
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter::ValidateClient(  const TSecureId& /*aSecureId*/, 
+                                                 const TVendorId& /*aVendorId*/,
+                                                 const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
+    {
+    iObserver.OnValidationComplete( KErrNone ); 
+    }
+	
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter::CancelValidateClient()
+    {
+
+    }
+
+//------------------------------------------------------------
+// CExampleLocationConverter::ConversionPluginPreferences
+//------------------------------------------------------------
+// 
+void CTestLocationConverter::ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo )
+	{
+	aPluginInfo.SetIsPluginPositionToBeCached(iRetainLocalityInCache);
+	//aPluginInfo.SetIsPluginPositionToBeCached(ETrue);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/data/10287201.rss	Fri May 28 18:01:03 2010 +0100
@@ -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: Resource file for movement detector plugin
+*
+*/
+// mydetector.rss
+//
+#include <ecom/registryinfo.rh>
+
+#include "TestLocationConverter2.hrh"
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = KTestLocationConverter2Uid;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = KLbsLocInfoConverterPlugInInterfaceId;
+        implementations = 
+            {
+            IMPLEMENTATION_INFO
+                {
+                implementation_uid  = KTestLocationConverter2ImplementationUid;
+                version_no          = 1;
+                display_name        = "Test location info converter 2";
+                default_data        = "text/ascii";
+                opaque_data         = "priority:3"; 
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/data/TestLocationConverter2.hrh	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTLOCATIONCONVERTER2_HRH
+#define TESTLOCATIONCONVERTER2_HRH
+
+#define KTestLocationConverter2Uid                  0x2002160C
+#define KTestLocationConverter2ImplementationUid    0x2002160D
+
+
+#endif // TESTLOCATIONCONVERTER2_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/group/TestLocationConverter2.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* 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:  Project definition file for project Cell Id movement detector
+*
+*/
+
+
+#include "../data/TestLocationConverter2.hrh"
+
+TARGET                  TestLocationConverter2.dll
+TARGETTYPE              PLUGIN
+UID 0x10009D8D		KTestLocationConverter2Uid 
+VENDORID            0x70000001
+
+CAPABILITY              ALL -TCB
+
+OS_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE             ../inc
+USERINCLUDE             ../data
+
+SOURCEPATH              ../src
+SOURCE                  TestLocationConverter2.cpp
+
+START RESOURCE          ../data/10287201.rss
+TARGET                  TestLocationConverter2.rsc
+END
+
+LIBRARY			euser.lib
+LIBRARY			ecom.lib
+LIBRARY			commdb.lib
+LIBRARY			flogger.lib
+LIBRARY			lbslocationinfoconverterplugin.lib
+LIBRARY			lbslocationinfodatatypes.lib
+LIBRARY			lbs.lib
+
+PAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* 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:  Build information file for project ?myapp
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_TESTMMPFILES
+TestLocationConverter2.mmp
+
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/inc/TestLocationConverter2.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of Movement Detection API
+*
+*/
+
+
+#ifndef C_TESTLOCATIONCONVERTER2_H
+#define C_TESTLOCATIONCONVERTER2_H
+
+#include <e32base.h>
+
+#include <commdb.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+#include <lbs/lbslocinfoconverterplugincommon.h>
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+/**
+ *  CTestLocationConverter is an ECom plugin that implements CLbsLocInfoConversionPluginBase.
+ *
+ *  This class is responsible for monitering movement of mobile based on
+ *  GSM information available to mobile at any instant.
+ *
+ *  @lib movementdetector.lib
+ *  @since  S60 v4.0
+ */
+class CTestLocationConverter2 : public CLbsLocInfoConverterPluginBase
+										
+    {
+
+public:
+
+    /**
+     * Loads a location info conveter and initalises it.
+     * 
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aPluginArgs Agruements sent to conversion plugin.
+     * return Pointer to the new loation info converter.If module id is not specified
+     * default plug in will be loaded.
+     */
+    static CTestLocationConverter2* NewL( TLbsLocInfoConverterPluginParams& aPluginParams );
+
+    /**
+     * Unloads this movement detector.
+     *
+     * @since S60 TACO
+     */
+     virtual ~CTestLocationConverter2();
+
+	// From CLbsLocInfoConversionPluginBase
+
+     /**
+          * Converts the area informations of a group of geographical locations
+          * to its corresponding position information.
+          * 
+          * @param[in] aLocationInfoArray Array of location informations corresponding 
+          * to geographical locations are passed and on successful completion of this 
+          * method,position information corresponding to the loation informations are  
+          * updated in each area info object.
+          * @param[in] aConversionPrefs Conversion preferences suggested by client.
+          * 
+          * @leave KErrArgument If the location info array is empty.
+          */
+     virtual void ConvertLocationInfoL( 
+             RLbsLocationInfoArray& aLocationInfoArray,
+             const TLbsConversionPrefs aConversionPrefs, 
+             const TLbsConversionOutputInfoMask aRequestedInfo );
+
+     /**
+      * Cancels get location info operation.
+      */     
+     virtual void CancelConvertLocationInfo();
+     
+     virtual void ValidateClient( const TSecureId& aSecureId, 
+                                  const TVendorId& aVendorId,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo );
+                                  
+     virtual void CancelValidateClient();        
+     
+     virtual void ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo );
+
+private:
+
+	
+	 void ConstructL(TLbsLocInfoConverterPluginParams& aPluginParams);
+	
+	/**
+	 * Default C++ Constructor
+	 */
+	 CTestLocationConverter2(TLbsLocInfoConverterPluginParams& aParams);
+	 
+private: // data
+
+    MLbsLocInfoConverterPluginObserver &iObserver;
+    TBool iRetainLocalityInCache;
+    };
+
+
+#endif // C_TESTLOCATIONCONVERTER2_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter2/src/TestLocationConverter2.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of CdummyMvmtDet class.
+*
+*/
+
+
+
+#include <ecom/ecom.h>
+#include <e32math.h>
+#include <ecom/implementationproxy.h>
+#include "TestLocationConverter2.h"
+
+// the test code sets the timing advance in the GSM vell info to this value
+// which instructs the test converter to constuct TLocalitys with
+// latitude ser to country code, longitude set to 
+// network code and altitiude set to local area code
+const TInt KTimingAdvanceSpecialValue= 254;
+
+const TInt KTimingAdvanceSaveToCacheTrue= 253;
+
+const TInt KTimingAdvanceSaveToCacheFalse= 252;
+
+// ECOM implementation specifics
+static const TImplementationProxy implTable[] =
+	{
+    IMPLEMENTATION_PROXY_ENTRY(0x2002160D, CTestLocationConverter2::NewL)
+	}; 
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
+
+    return implTable;
+    }
+ 
+
+// Class methods
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::NewL
+// Symbian Two - phase constructor
+//------------------------------------------------------------
+//
+CTestLocationConverter2* CTestLocationConverter2::NewL( TLbsLocInfoConverterPluginParams& aParams)
+	{
+	CTestLocationConverter2* self = new (ELeave) CTestLocationConverter2(aParams);
+	CleanupStack::PushL(self);
+	self->ConstructL(aParams);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConstructL
+//------------------------------------------------------------
+//
+void CTestLocationConverter2::ConstructL( TLbsLocInfoConverterPluginParams& /*aParams*/ )
+	{
+	
+
+	}
+
+
+//-----------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::CLbsLocInfoConversionPluginBase
+// C++ Default constructor
+//------------------------------------------------------------------
+//
+CTestLocationConverter2::CTestLocationConverter2(TLbsLocInfoConverterPluginParams& aParams):iObserver(aParams.Observer()),
+		iRetainLocalityInCache(ETrue)
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::~CLbsLocInfoConversionPluginBase
+// Destructor
+//------------------------------------------------------------
+//
+CTestLocationConverter2::~CTestLocationConverter2()
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//	
+void CTestLocationConverter2::ConvertLocationInfoL( RLbsLocationInfoArray& aLocationInfoArray,
+                                                        const TLbsConversionPrefs /*aConversionPrefs*/, 
+                                                        const TLbsConversionOutputInfoMask aRequestedInfo)
+	{
+	if(aRequestedInfo == ELbsConversionOutputNotDefined)
+	   {
+	   iObserver.OnConversionComplete(KErrArgument);
+	   return;
+	   }
+	TInt count = aLocationInfoArray.Count();	
+	for(TInt i=0 ; i<count;i++)
+	    {
+	    switch(aRequestedInfo)
+    	    {
+    	    case ELbsConversionOutputPosition:
+    	        {
+    	        // Extract the area info provided by the client.
+    	        // If client has specified only coordinate info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+    	        CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+    	        areaInfoMask |= CLbsLocationInfo::ELbsGsmInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+    	        aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+    	        TInt count = areaInfoArray.Count();
+    	        
+    	
+    	        
+    	        if( count == 0 )
+    	            {
+    	            iObserver.OnConversionComplete(KErrNotSupported);
+    	            return;
+    	            }
+    	        //
+    	        CLbsGsmCellInfo* posInfo = static_cast<CLbsGsmCellInfo*>( areaInfoArray[0] );
+    	                   
+    	        TInt timingAdvance = posInfo->TimingAdvance();
+    	        
+    	    	TLocality locality;
+    	        if (timingAdvance == KTimingAdvanceSpecialValue)
+    	        	{
+					TReal64 lat = posInfo->MobileCountryCode() ;
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					 locality.SetCoordinate( lat,lng, alt);
+    	        	}
+    	        else 
+    	        	{
+				    locality.SetCoordinate( 62.5285,23.9385, 1.22f);
+    	        	}
+    	           
+//     	        if (timingAdvance == KTimingAdvanceSaveToCacheTrue)
+//        	        {
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//    				iRetainLocalityInCache = ETrue;
+//        	        }
+//     	        else if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+//     	        	{
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//					iRetainLocalityInCache = EFalse;
+//     	        	}
+     	        
+     	       if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+					{
+					TReal64 lat = posInfo->MobileCountryCode();
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					locality.SetCoordinate(lat, lng, alt);
+					iRetainLocalityInCache = EFalse;
+					}
+				else
+					{
+					iRetainLocalityInCache = ETrue;
+					}
+     	        
+     	        
+    	        areaInfoArray.ResetAndDestroy();
+     
+    	        locality.SetAccuracy( 100,0.0 );
+    	        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    	        CleanupStack::PushL( positionInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( positionInfo );
+    	        CleanupStack::Pop( positionInfo );
+    	        break;
+    	        }
+    	    case ELbsConversionOutputGsm:
+    	        {
+                // Extract the area info provided by the client.
+    	        // If client has specified only gsm info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                    
+    	        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
+    	        CleanupStack::PushL( gsmCellInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( gsmCellInfo );
+                CleanupStack::Pop( gsmCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWcdma:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wcdma info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+    	        
+    	        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
+    	        CleanupStack::PushL( wcdmaCellInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( wcdmaCellInfo );
+                CleanupStack::Pop( wcdmaCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWlan:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wlan info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWcdmaInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                
+    	        TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    	        CLbsWlanInfo* WlanInfo = CLbsWlanInfo::NewL( macAddress,10.1);
+    	        CleanupStack::PushL( WlanInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( WlanInfo );
+                CleanupStack::Pop( WlanInfo );
+    	        }
+    	    default:
+    	        break;
+    	    }
+	    
+	    }
+	iObserver.OnConversionComplete(KErrNone);
+	}
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//  
+void CTestLocationConverter2::CancelConvertLocationInfo( )
+    {
+     
+    }
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter2::ValidateClient(  const TSecureId& /*aSecureId*/, 
+                                                 const TVendorId& /*aVendorId*/,
+                                                 const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
+    {
+    iObserver.OnValidationComplete( KErrNone ); 
+    }
+	
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter2::CancelValidateClient()
+    {
+
+    }
+
+//------------------------------------------------------------
+// CExampleLocationConverter::ConversionPluginPreferences
+//------------------------------------------------------------
+// 
+void CTestLocationConverter2::ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo )
+	{
+	aPluginInfo.SetIsPluginPositionToBeCached(iRetainLocalityInCache);
+	//aPluginInfo.SetIsPluginPositionToBeCached(ETrue);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/data/10287201.rss	Fri May 28 18:01:03 2010 +0100
@@ -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: Resource file for movement detector plugin
+*
+*/
+// mydetector.rss
+//
+#include <ecom/registryinfo.rh>
+
+#include "TestLocationConverter3.hrh"
+#include <lbs/lbslocinfoconverterpluginbase.hrh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = KTestLocationConverter3Uid;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = KLbsLocInfoConverterPlugInInterfaceId;
+        implementations = 
+            {
+            IMPLEMENTATION_INFO
+                {
+                implementation_uid  = KTestLocationConverter3ImplementationUid;
+                version_no          = 1;
+                display_name        = "Test location info converter 3";
+                default_data        = "text/ascii";
+                opaque_data         = "priority:1"; 
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/data/TestLocationConverter3.hrh	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTLOCATIONCONVERTER3_HRH
+#define TESTLOCATIONCONVERTER3_HRH
+
+#define KTestLocationConverter3Uid                  0x2002170C
+#define KTestLocationConverter3ImplementationUid    0x2002170D
+
+
+#endif // TESTLOCATIONCONVERTER3_HRH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/group/TestLocationConverter3.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* 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:  Project definition file for project Cell Id movement detector
+*
+*/
+
+
+#include "../data/TestLocationConverter3.hrh"
+
+TARGET                  TestLocationConverter3.dll
+TARGETTYPE              PLUGIN
+UID 0x10009D8D		KTestLocationConverter3Uid 
+VENDORID            0x70000001
+
+CAPABILITY              ALL -TCB
+
+OS_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE             ../inc
+USERINCLUDE             ../data
+
+SOURCEPATH              ../src
+SOURCE                  TestLocationConverter3.cpp
+
+START RESOURCE          ../data/10287201.rss
+TARGET                  TestLocationConverter3.rsc
+END
+
+LIBRARY			euser.lib
+LIBRARY			ecom.lib
+LIBRARY			commdb.lib
+LIBRARY			flogger.lib
+LIBRARY			lbslocationinfoconverterplugin.lib
+LIBRARY			lbslocationinfodatatypes.lib
+LIBRARY			lbs.lib
+
+PAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* 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:  Build information file for project ?myapp
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_TESTMMPFILES
+TestLocationConverter3.mmp
+
+// END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/inc/TestLocationConverter3.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of Movement Detection API
+*
+*/
+
+
+#ifndef C_TESTLOCATIONCONVERTER3_H
+#define C_TESTLOCATIONCONVERTER3_H
+
+#include <e32base.h>
+
+#include <commdb.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocinfoconverterpluginclasstypes.h>
+#include <lbs/lbslocinfoconverterplugincommon.h>
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+
+/**
+ *  CTestLocationConverter is an ECom plugin that implements CLbsLocInfoConversionPluginBase.
+ *
+ *  This class is responsible for monitering movement of mobile based on
+ *  GSM information available to mobile at any instant.
+ *
+ *  @lib movementdetector.lib
+ *  @since  S60 v4.0
+ */
+class CTestLocationConverter3 : public CLbsLocInfoConverterPluginBase
+										
+    {
+
+public:
+
+    /**
+     * Loads a location info conveter and initalises it.
+     * 
+     * @param[in] aObserver An observer for location conversion event.
+     * @param[in] aPluginArgs Agruements sent to conversion plugin.
+     * return Pointer to the new loation info converter.If module id is not specified
+     * default plug in will be loaded.
+     */
+    static CTestLocationConverter3* NewL( TLbsLocInfoConverterPluginParams& aPluginParams );
+
+    /**
+     * Unloads this movement detector.
+     *
+     * @since S60 TACO
+     */
+     virtual ~CTestLocationConverter3();
+
+	// From CLbsLocInfoConversionPluginBase
+
+     /**
+          * Converts the area informations of a group of geographical locations
+          * to its corresponding position information.
+          * 
+          * @param[in] aLocationInfoArray Array of location informations corresponding 
+          * to geographical locations are passed and on successful completion of this 
+          * method,position information corresponding to the loation informations are  
+          * updated in each area info object.
+          * @param[in] aConversionPrefs Conversion preferences suggested by client.
+          * 
+          * @leave KErrArgument If the location info array is empty.
+          */
+     virtual void ConvertLocationInfoL( 
+             RLbsLocationInfoArray& aLocationInfoArray,
+             const TLbsConversionPrefs aConversionPrefs, 
+             const TLbsConversionOutputInfoMask aRequestedInfo );
+
+     /**
+      * Cancels get location info operation.
+      */     
+     virtual void CancelConvertLocationInfo();
+     
+     virtual void ValidateClient( const TSecureId& aSecureId, 
+                                  const TVendorId& aVendorId,
+                                  const TLbsConversionOutputInfoMask aRequestedInfo );
+                                  
+     virtual void CancelValidateClient();        
+     
+     virtual void ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo );
+
+private:
+
+	
+	 void ConstructL(TLbsLocInfoConverterPluginParams& aPluginParams);
+	
+	/**
+	 * Default C++ Constructor
+	 */
+	 CTestLocationConverter3(TLbsLocInfoConverterPluginParams& aParams);
+	 
+private: // data
+
+    MLbsLocInfoConverterPluginObserver &iObserver;
+    TBool iRetainLocalityInCache;
+    };
+
+
+#endif // C_TESTLOCATIONCONVERTER3_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/TestLocationConverter3/src/TestLocationConverter3.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definition of CdummyMvmtDet class.
+*
+*/
+
+
+
+#include <ecom/ecom.h>
+#include <e32math.h>
+#include <ecom/implementationproxy.h>
+#include "TestLocationConverter3.h"
+
+// the test code sets the timing advance in the GSM vell info to this value
+// which instructs the test converter to constuct TLocalitys with
+// latitude ser to country code, longitude set to 
+// network code and altitiude set to local area code
+const TInt KTimingAdvanceSpecialValue= 254;
+
+const TInt KTimingAdvanceSaveToCacheTrue= 253;
+
+const TInt KTimingAdvanceSaveToCacheFalse= 252;
+
+// ECOM implementation specifics
+static const TImplementationProxy implTable[] =
+	{
+    IMPLEMENTATION_PROXY_ENTRY(0x2002170D, CTestLocationConverter3::NewL)
+	}; 
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
+
+    return implTable;
+    }
+ 
+
+// Class methods
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::NewL
+// Symbian Two - phase constructor
+//------------------------------------------------------------
+//
+CTestLocationConverter3* CTestLocationConverter3::NewL( TLbsLocInfoConverterPluginParams& aParams)
+	{
+	CTestLocationConverter3* self = new (ELeave) CTestLocationConverter3(aParams);
+	CleanupStack::PushL(self);
+	self->ConstructL(aParams);
+	CleanupStack::Pop();
+	return self;
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConstructL
+//------------------------------------------------------------
+//
+void CTestLocationConverter3::ConstructL( TLbsLocInfoConverterPluginParams& /*aParams*/ )
+	{
+	
+
+	}
+
+
+//-----------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::CLbsLocInfoConversionPluginBase
+// C++ Default constructor
+//------------------------------------------------------------------
+//
+CTestLocationConverter3::CTestLocationConverter3(TLbsLocInfoConverterPluginParams& aParams):iObserver(aParams.Observer()),
+		iRetainLocalityInCache(ETrue)
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::~CLbsLocInfoConversionPluginBase
+// Destructor
+//------------------------------------------------------------
+//
+CTestLocationConverter3::~CTestLocationConverter3()
+	{
+	
+	}
+
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//	
+void CTestLocationConverter3::ConvertLocationInfoL( RLbsLocationInfoArray& aLocationInfoArray,
+                                                       const TLbsConversionPrefs /*aConversionPrefs*/, 
+                                                        const TLbsConversionOutputInfoMask aRequestedInfo)
+	{
+	if(aRequestedInfo == ELbsConversionOutputNotDefined)
+	   {
+	   iObserver.OnConversionComplete(KErrArgument);
+	   return;
+	   }
+	TInt count = aLocationInfoArray.Count();	
+	for(TInt i=0 ; i<count;i++)
+	    {
+	    switch(aRequestedInfo)
+    	    {
+    	    case ELbsConversionOutputPosition:
+    	        {
+    	        // Extract the area info provided by the client.
+    	        // If client has specified only coordinate info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+    	        CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+    	        areaInfoMask |= CLbsLocationInfo::ELbsGsmInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+    	        aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+    	        TInt count = areaInfoArray.Count();
+    	        
+    	
+    	        
+    	        if( count == 0 )
+    	            {
+    	            iObserver.OnConversionComplete(KErrNotSupported);
+    	            return;
+    	            }
+    	        //
+    	        CLbsGsmCellInfo* posInfo = static_cast<CLbsGsmCellInfo*>( areaInfoArray[0] );
+    	                   
+    	        TInt timingAdvance = posInfo->TimingAdvance();
+    	        
+    	    	TLocality locality;
+    	        if (timingAdvance == KTimingAdvanceSpecialValue)
+    	        	{
+					TReal64 lat = posInfo->MobileCountryCode() ;
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					 locality.SetCoordinate( lat,lng, alt);
+    	        	}
+    	        else 
+    	        	{
+				    locality.SetCoordinate( 62.5285,23.9385, 1.22f);
+    	        	}
+    	           
+//     	        if (timingAdvance == KTimingAdvanceSaveToCacheTrue)
+//        	        {
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//    				iRetainLocalityInCache = ETrue;
+//        	        }
+//     	        else if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+//     	        	{
+//					TReal64 lat = posInfo->MobileCountryCode() ;
+//					TReal64 lng = posInfo->MobileNetworkCode();
+//					TReal32 alt = posInfo->LocationAreaCode();
+//					locality.SetCoordinate( lat,lng, alt);
+//					iRetainLocalityInCache = EFalse;
+//     	        	}
+     	        
+     	       if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
+					{
+					TReal64 lat = posInfo->MobileCountryCode();
+					TReal64 lng = posInfo->MobileNetworkCode();
+					TReal32 alt = posInfo->LocationAreaCode();
+					locality.SetCoordinate(lat, lng, alt);
+					iRetainLocalityInCache = EFalse;
+					}
+				else
+					{
+					iRetainLocalityInCache = ETrue;
+					}
+     	        
+     	        
+    	        areaInfoArray.ResetAndDestroy();
+     
+    	        locality.SetAccuracy( 100,0.0 );
+    	        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    	        CleanupStack::PushL( positionInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( positionInfo );
+    	        CleanupStack::Pop( positionInfo );
+    	        break;
+    	        }
+    	    case ELbsConversionOutputGsm:
+    	        {
+                // Extract the area info provided by the client.
+    	        // If client has specified only gsm info,
+    	        // return KErrNotSupported.
+    	        RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsWcdmaInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                    
+    	        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
+    	        CleanupStack::PushL( gsmCellInfo );
+    	        aLocationInfoArray[i]->AddAreaInfoL( gsmCellInfo );
+                CleanupStack::Pop( gsmCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWcdma:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wcdma info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWlanInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+    	        
+    	        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
+    	        CleanupStack::PushL( wcdmaCellInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( wcdmaCellInfo );
+                CleanupStack::Pop( wcdmaCellInfo );
+                break;
+    	        }
+    	    case ELbsConversionOutputWlan:
+    	        {
+                // Extract the area info provided by the client.
+                // If client has specified only wlan info,
+                // return KErrNotSupported.
+                RLbsAreaInfoBaseArray areaInfoArray; 
+                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
+                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
+                                CLbsLocationInfo::ELbsGsmInfo |
+                                CLbsLocationInfo::ELbsWcdmaInfo;
+                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
+                TInt count = areaInfoArray.Count();
+                areaInfoArray.ResetAndDestroy();
+                
+                if( count == 0 )
+                    {
+                    iObserver.OnConversionComplete(KErrNotSupported);
+                    return;
+                    }
+                
+    	        TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    	        CLbsWlanInfo* WlanInfo = CLbsWlanInfo::NewL( macAddress,10.1);
+    	        CleanupStack::PushL( WlanInfo );
+                aLocationInfoArray[i]->AddAreaInfoL( WlanInfo );
+                CleanupStack::Pop( WlanInfo );
+    	        }
+    	    default:
+    	        break;
+    	    }
+	    
+	    }
+	iObserver.OnConversionComplete(KErrNone);
+	}
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
+//------------------------------------------------------------
+//  
+void CTestLocationConverter3::CancelConvertLocationInfo( )
+    {
+     
+    }
+
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter3::ValidateClient(  const TSecureId& /*aSecureId*/, 
+                                                 const TVendorId& /*aVendorId*/,
+                                                 const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
+    {
+    iObserver.OnValidationComplete( KErrNone ); 
+    }
+	
+//------------------------------------------------------------
+// CLbsLocInfoConversionPluginBase::ValidateClient
+//------------------------------------------------------------
+//  
+void CTestLocationConverter3::CancelValidateClient()
+    {
+
+    }
+
+//------------------------------------------------------------
+// CExampleLocationConverter::ConversionPluginPreferences
+//------------------------------------------------------------
+// 
+void CTestLocationConverter3::ConversionPluginPreferences(
+                 TLbsConversionPluginInfo& aPluginInfo )
+	{
+	aPluginInfo.SetIsPluginPositionToBeCached(iRetainLocalityInCache);
+	//aPluginInfo.SetIsPluginPositionToBeCached(ETrue);
+	}
--- a/locationmgmt/locmonitor/test/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -1,18 +1,24 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-PRJ_TESTMMPFILES
-#include "../te_locmonitorsuite/group/bld.inf"
-#include "../te_lbslocmonitordbsuite/group/bld.inf"
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_TESTMMPFILES
+#include "../te_locmonitorsuite/group/bld.inf"
+#include "../te_geolocmonitorsuite/group/bld.inf"
+#include "../te_lbslocmonitordbsuite/group/bld.inf"
+#include "../ExampleLocationConverter/group/bld.inf"
+#include "../TestLocationConverter/group/bld.inf"
+#include "../TestLocationConverter2/group/bld.inf"
+#include "../TestLocationConverter3/group/bld.inf"
+#include "../te_lbslocationinforconvertertef/group/bld.inf"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,32 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_EXPORTS
+
+PRJ_TESTEXPORTS
+../scripts/te_geolocmonitorsuite.script c:/testdata/scripts/te_geolocmonitorsuite.script
+../testdata/te_geolocmonitorsuite.ini c:/testdata/configs/te_geolocmonitorsuite.ini
+
+../testdata/lbsgeolocmonunitconfig.txt		c:/testdata/configs/lbsgeolocmonunitconfig.txt
+../testdata/lbsgeolocmonunitconfigbad.txt	c:/testdata/configs/lbsgeolocmonunitconfigbad.txt
+
+./te_geolocmonitorsuite.iby   				/epoc32/rom/include/te_geolocmonitorsuite.iby
+
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+//#include "../../testlocationmonitor/group/bld.inf"
+te_geolocmonitorsuite.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/te_geolocmonitorsuite.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __TE_SUPLPROTOCOL_SUITE_IBY__
+#define __TE_SUPLPROTOCOL_SUITE_IBY__
+
+#include <testexecute.iby>
+
+file=ABI_DIR\DEBUG_DIR\te_geolocmonitorsuite.exe		sys\bin\te_geolocmonitorsuite.exe
+data=EPOCROOT##Epoc32\data\c\TestData\scripts\te_geolocmonitorsuite.script TestData\scripts\te_geolocmonitorsuite.script
+data=EPOCROOT##Epoc32\data\c\TestData\configs\lbsgeolocmonunitconfig.txt TestData\configs\lbslocmonunitconfig.txt
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/group/te_geolocmonitorsuite.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+TARGET      te_geolocmonitorsuite.exe
+TARGETTYPE  exe
+UID             0x1000007A 0x102869E3
+
+CAPABILITY	ALL -TCB
+MACRO ENABLE_LBS_DEV_LOGGER
+SOURCEPATH  ../src
+
+//test steps
+SOURCE	        te_geolocmonitorsuiteserver.cpp
+SOURCE	        te_geolocmonitorstepbase.cpp
+SOURCE			te_geolocmonitorstep1.cpp
+SOURCE			te_geolocmonitorstep2.cpp
+SOURCE			te_geolocmonitorstep3.cpp
+SOURCE			te_geolocmonitorstep4.cpp
+SOURCE			te_geolocmonitorstep5.cpp
+SOURCE			te_geolocmonitorstep6.cpp
+SOURCE			te_geolocmonitorstep7.cpp
+SOURCE			LocInfoConversionHandler.cpp
+
+
+// test step headers
+USERINCLUDE ../inc
+
+// Test step headers
+USERINCLUDE   ../src
+
+// Required to start up the fake/test Location Monitor server
+
+// Various LBS subsystem headers
+USERINCLUDE   ../../../lbslocmonitorapis/CommonClientServerApi/inc
+USERINCLUDE   ../../../lbslocmonitorserver/inc
+USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsLocDataSource
+USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsCommonInternalDataTypes/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY 	estor.lib
+LIBRARY     euser.lib
+LIBRARY		testexecuteutils.lib 
+LIBRARY		testexecutelogclient.lib 
+LIBRARY		efsrv.lib
+
+LIBRARY		lbsinternalapi.lib
+LIBRARY		lbsnetinternalapi.lib
+LIBRARY		lbsnetprotocol.lib
+
+LIBRARY     lbslocmonclient.lib
+LIBRARY		lbs.lib
+LIBRARY		lbspartnercommon.lib
+LIBRARY     lbslocationinfodatatypes.lib 
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/LocInfoConversionHandler.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef LOCINFOCONVERSIONHANDLER_H_
+#define LOCINFOCONVERSIONHANDLER_H_
+
+#include <e32base.h>
+
+class CLocInfoConversionHandler : public CActive
+    {
+public:
+    static CLocInfoConversionHandler* NewL();
+    
+    ~CLocInfoConversionHandler();
+    
+    void Start();
+protected: // from CActive    
+    void RunL();
+    void DoCancel();
+    
+private:
+    CLocInfoConversionHandler();
+    
+    void ConstructL();
+    };
+
+#endif /*LOCINFOCONVERSIONHANDLER_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep1.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep1.h
+*/
+#ifndef TE_LOCMONITORSTEP1_H
+#define TE_LOCMONITORSTEP1_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+
+class CTe_LocMonitorStep1 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep1();
+	~CTe_LocMonitorStep1();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+	TInt TestValidateGSMInfoL(TInt iMCC, TInt iMNC, TInt iLAC, TInt iCI, TInt iTA);
+	void CTe_LocMonitorStep1::ReadIniFileValues();
+	
+	TInt iMCC; 
+	TInt iMNC; 
+	TInt iLAC; 
+	TInt iCID; 
+	TInt iTA;
+	TInt iExpectedError;
+private:
+	};
+
+_LIT(KLocMonitorStep1,"te_locmonitorstep1");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep2.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep2.h
+*/
+#ifndef TE_LOCMONITORSTEP2_H
+#define TE_LOCMONITORSTEP2_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+
+class CTe_LocMonitorStep2 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep2();
+	~CTe_LocMonitorStep2();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+	TInt TestValidateWCDMAInfoL(TInt iMCC, TInt iMNC, TInt iUCID, TInt iSC);
+	void ReadIniFileValues();
+	
+	TInt iMCC; 
+	TInt iMNC; 
+	TInt iLAC; 
+	TInt iUCID; 
+	TInt iSC; 
+	TInt iExpectedError;
+	
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep2,"te_locmonitorstep2");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep3.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep3.h
+*/
+#ifndef TE_LOCMONITORSTEP3_H
+#define TE_LOCMONITORSTEP3_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+
+class CTe_LocMonitorStep3 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep3();
+	~CTe_LocMonitorStep3();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+	TInt CTe_LocMonitorStep3::TestLocInfoAddCoordL();
+private:
+
+	TPositionInfo* iPosition;
+	TPositionAreaInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	
+	};
+
+_LIT(KLocMonitorStep3,"te_locmonitorstep3");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep4.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep4.h
+*/
+#ifndef TE_LOCMONITORSTEP4_H
+#define TE_LOCMONITORSTEP4_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+
+class CTe_LocMonitorStep4 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep4();
+	~CTe_LocMonitorStep4();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+	void CTe_LocMonitorStep4::ReadIniFileValues();
+
+	TInt CTe_LocMonitorStep4::TestLocInfoAddWlanL();
+	TInt CTe_LocMonitorStep4::TestLocInfoAddWcdmaCellL();
+	TInt CTe_LocMonitorStep4::TestLocInfoAddGsmCellL();
+	TInt CTe_LocMonitorStep4::TestValidateWlanInfoL();
+	TInt CTe_LocMonitorStep4::TestWlanNewL();
+	TInt CTe_LocMonitorStep4::TestValidateCoordInfoL();
+	TInt CTe_LocMonitorStep4::TestCoordNewL();
+	TInt CTe_LocMonitorStep4::TestValidateWCDMAInfoHierarchyL();
+	TInt CTe_LocMonitorStep4::TestWcdmaAddNCellL();
+	TInt CTe_LocMonitorStep4::TestWcdmaSetSC();
+	TInt CTe_LocMonitorStep4::TestWcdmaNewL();
+	TInt CTe_LocMonitorStep4::TestValidateGSMInfoHierarchyL();
+	TInt CTe_LocMonitorStep4::TestGSMAddNCellL();
+	TInt CTe_LocMonitorStep4::TestGSMSetRxLev();
+	TInt CTe_LocMonitorStep4::TestGSMSetTA();
+	TInt CTe_LocMonitorStep4::TestGSMNewL();
+	TInt CTe_LocMonitorStep4::TestLocInfoAddCoordL();
+
+	TInt iProcedure; 
+
+private:
+
+	TPositionInfo* iPosition;
+	TPositionAreaInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	
+	};
+
+_LIT(KLocMonitorStep4,"te_locmonitorstep4");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep5.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep5.h
+*/
+#ifndef TE_LOCMONITORSTEP5_H
+#define TE_LOCMONITORSTEP5_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include "LocInfoConversionHandler.h"
+
+class CTe_LocMonitorStep5 : public CTe_LocMonitorStepBase
+	{
+
+public:
+	CTe_LocMonitorStep5();
+	~CTe_LocMonitorStep5();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+    TInt RLbsLocInfoConverter_Connect1L();
+    TInt RLbsLocInfoConverter_Connect2L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo1L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo2L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo3L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo4L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo5L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo6L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo7L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo8L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo9L();
+    TInt RLbsLocInfoConverter_ConvertLocationInfo10L();
+    TInt RLbsLocInfoConverter_Cancel1L();
+    TInt RLbsLocInfoConverter_Cancel2L();
+    TInt RLbsLocInfoConverter_Cancel3L();
+    TInt RLbsLocInfoConverter_Cancel4L();
+    
+    /**
+     * Method used to log version of test class
+     */
+    void SendTestClassVersion();
+    
+ 
+
+private:    // Data
+ CLocInfoConversionHandler* iConversionHandler; 
+ 
+ CLocInfoConversionHandler* iConversionHandler1; 
+	};
+
+_LIT(KLocMonitorStep5,"te_locmonitorstep5");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep6.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorStep6.h
+*/
+#ifndef TE_LOCMONITORSTEP6_H
+#define TE_LOCMONITORSTEP6_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include "LocInfoConversionHandler.h"
+
+class CTe_LocMonitorStep6 : public CTe_LocMonitorStepBase
+	{
+
+public:
+	CTe_LocMonitorStep6();
+	~CTe_LocMonitorStep6();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+    TInt RLbsLocInfoConverter_ConvertLocationInfo6L();
+    
+    /**
+     * Method used to log version of test class
+     */
+    void SendTestClassVersion();
+    
+ 
+
+private:    // Data
+ CLocInfoConversionHandler* iConversionHandler; 
+ 
+ CLocInfoConversionHandler* iConversionHandler1; 
+	};
+
+_LIT(KLocMonitorStep6,"te_locmonitorstep6");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstep7.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep7.h
+*/
+#ifndef TE_LOCMONITORSTEP7_H
+#define TE_LOCMONITORSTEP7_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_geolocmonitorstepbase.h"
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include "LocInfoConversionHandler.h"
+
+class CTe_LocMonitorStep7 : public CTe_LocMonitorStepBase
+	{
+
+public:
+	CTe_LocMonitorStep7();
+	~CTe_LocMonitorStep7();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+    TInt RLbsLocInfoConverter_ConvertLocationInfo7L();
+    
+    /**
+     * Method used to log version of test class
+     */
+    void SendTestClassVersion();
+    
+ 
+private:    // Data
+ CLocInfoConversionHandler* iConversionHandler; 
+ 
+ CLocInfoConversionHandler* iConversionHandler1; 
+	};
+
+_LIT(KLocMonitorStep7,"te_locmonitorstep7");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorstepbase.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_geolocmonitorstepbase.h
+*/
+
+#ifndef TE_LOCMONITORSTEPBASE_H
+#define TE_LOCMONITORSTEPBASE_H
+#include <test/TestExecuteStepBase.h>
+#include <e32property.h>
+#include "lbstimer.h"
+#include "rlbslocmonitorsession.h"
+#include "rlbslocmonitorareapositioner.h"
+#include "lbssatellite.h"
+#include "lbsareainfo.h"
+#include "lbslocmonitorserverdata.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include "lbsinternalinterface.h"
+#include "lbsnetinternalapi.h"
+
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationinfo.h>
+
+
+
+/****************************************************************************
+* Base Test Step class for te_geolocmonitorsuite test steps
+* 
+****************************************************************************/
+class CTe_LocMonitorStepBase : public CTestStep
+	{
+	
+public:
+	
+	enum TTestType
+	        {
+	        EPositive,
+	        
+	        ENegative
+	        };
+
+	virtual ~CTe_LocMonitorStepBase();
+	CTe_LocMonitorStepBase();
+	virtual TVerdict doTestStepPreambleL(); 
+	virtual TVerdict doTestStepPostambleL();
+	
+	   /**
+	     * Helper methods.
+	     */
+	    CLbsPositionInfo* CreatePositionInfoObjectLC();
+	    
+	    CLbsGsmCellInfo* CreateGsmCellInfoObjectLC();
+	    
+	    CLbsWcdmaCellInfo* CreateWcdmaCellInfoObjectLC();
+	    
+	    CLbsWlanInfo* CreateWlanInfoObjectLC();
+	    
+	    CLbsLocationInfo* CreateLocationInfoObjectLC( TLbsAreaInfoClassType aAreaType );
+	    
+	    void AppendAreaInfoObjectToLocationInfoL( CLbsLocationInfo* aLocationInfo,                    
+	                                                TLbsAreaInfoClassType aAreaType );
+	    
+	    void CheckPositionConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+	                                                TTestType aTestType = EPositive );
+	    
+	    void CheckGsmCellConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+	                                                TTestType aTestType = EPositive  );
+	    
+	    void CheckWcdmaCellConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+	                                                TTestType aTestType = EPositive  );
+	    
+	    void CheckWlanConvertedInfoL( CLbsLocationInfo* aLocationInfo,
+	                                                TTestType aTestType = EPositive  );
+		
+
+
+protected:
+
+	
+private:
+
+	CActiveScheduler* iActiveScheduler;
+	};
+
+
+/**************************************************************************
+* AO to wait for the Location Monitor database feedback (in a P&S property)
+****************************************************************************/
+
+
+
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorsuitedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* 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: 
+* This file define all the common values thoughout your test project
+*
+*/
+
+
+/**
+ @file te_geolocmonitorsuitedefs.h
+*/
+#if (!defined TE_GEOLOCMONITORSUITEDEFS_H)
+#define TE_GEOLOCMONITORSUITEDEFS_H
+
+// For test step panics
+_LIT(KTe_geolocMonitorSuitePanic,"Te_geolocMonitorSuite");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/inc/te_geolocmonitorsuiteserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TE_GEOLOCMONITORSUITE_H
+#define TE_GEOLOCMONITORSUITE_H
+
+#include <test/testexecuteserverbase.h>
+#include "lbsnetinternalapi.h"
+
+class CTe_GeoLocMonitorSuite : public CTestServer
+	{
+public:
+	static CTe_GeoLocMonitorSuite* NewL();
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+	virtual void ConstructL(const TDesC& aName);
+	~CTe_GeoLocMonitorSuite();
+	};
+
+#endif // TE_GEOLOCMONITORSUITE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/scripts/te_geolocmonitorsuite.script	Fri May 28 18:01:03 2010 +0100
@@ -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:
+//
+//! @File
+//! @SYMTestSuiteName            te_geolocmonitorsuite.script
+//! @SYMScriptTestEnvironment TEF
+
+
+PRINT Run te_geolocmonitorsuite
+LOAD_SUITE te_geolocmonitorsuite
+
+RUN_UTILS DeleteFile c:\config.txt
+RUN_UTILS CopyFile c:\testdata\configs\lbsgeolocmonunitconfig.txt c:\config.txt
+
+START_TESTCASE                LBS-LocMonitorSuite-0001
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0001
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO1
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO2
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO3
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO4
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO5
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO6
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO7
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO8
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO9
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO10
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO11
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO12
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO13
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO14
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO15
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep1 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEGSMCELLINFO16
+
+
+
+END_TESTCASE                  LBS-LocMonitorSuite-0001
+
+START_TESTCASE                LBS-LocMonitorSuite-0002
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0002
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO1
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO2
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO3
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO4
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO5
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO6
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO7
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO8
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO9
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO10
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO11
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep2 c:\testdata\configs\te_geolocmonitorsuite.ini  VALIDATEWCDMACELLINFO12
+
+END_TESTCASE                  LBS-LocMonitorSuite-0002
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0003
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0003
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep3
+END_TESTCASE                  LBS-LocMonitorSuite-0003
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0004
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0004
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini CREATEGSMCELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini SETTATOGSMCELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini SETNCELLTOGSMCELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini VALIDATEGSMCELLHIERARCHY
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini CREATEWCDMACELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini SETSCTOWCDMACELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini SETNCELLTOWCDMACELL
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini VALIDATEWCDMACELLHIERARCHY
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini CREATECOORDINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini VALIDATECOORDINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini CREATEWLANINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini VALIDATEWLANINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini ADDCOORDINFOTOLOCINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini ADDGSMINFOTOLOCINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini ADDWCDMAINFOTOLOCINFO
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep4  c:\testdata\configs\te_geolocmonitorsuite.ini ADDWLANINFOTOLOCINFO
+
+END_TESTCASE                  LBS-LocMonitorSuite-0004
+
+
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0005
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0005
+//! @SYMTestCaseDesc           
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+
+RUN_TEST_STEP 20 te_geolocmonitorsuite te_locmonitorstep5
+END_TESTCASE                  LBS-LocMonitorSuite-0005
+
+START_TESTCASE                LBS-LocMonitorSuite-0006
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0006
+//! @SYMTestCaseDesc           
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+
+RUN_TEST_STEP !PanicCode=0 20 te_geolocmonitorsuite te_locmonitorstep6
+END_TESTCASE                  LBS-LocMonitorSuite-0006
+
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0007
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0007
+//! @SYMTestCaseDesc           
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  bw
+//! @SYMTestStatus              2. Functional
+
+RUN_TEST_STEP !PanicCode=0 20 te_geolocmonitorsuite te_locmonitorstep7  
+END_TESTCASE                  LBS-LocMonitorSuite-0007
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/LocInfoConversionHandler.cpp	Fri May 28 18:01:03 2010 +0100
@@ -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: STIF testclass declaration
+*
+*/
+
+#include "LocInfoConversionHandler.h"
+
+CLocInfoConversionHandler* CLocInfoConversionHandler::NewL()
+    {
+    CLocInfoConversionHandler* self = new ( ELeave ) CLocInfoConversionHandler;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+CLocInfoConversionHandler::CLocInfoConversionHandler():CActive( EPriorityStandard )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+CLocInfoConversionHandler::~CLocInfoConversionHandler()
+    {
+    if( IsActive() )
+        {
+        Cancel();
+        }
+    }
+
+void CLocInfoConversionHandler::Start()
+    {
+    iStatus = KRequestPending;
+    SetActive();
+    }
+
+void CLocInfoConversionHandler::RunL()
+    {
+    CActiveScheduler::Stop();
+    }
+
+
+void CLocInfoConversionHandler::ConstructL()
+    {
+    // Nothign to do here
+    }
+
+
+void CLocInfoConversionHandler::DoCancel()
+    {
+    // Nothign to do here
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep1.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep1.cpp
+*/
+ 
+#include "te_geolocmonitorstep1.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+#include <lbs/lbslocationinfo.h>
+
+CTe_LocMonitorStep1::~CTe_LocMonitorStep1()
+	{
+	}
+
+CTe_LocMonitorStep1::CTe_LocMonitorStep1()
+	{
+	SetTestStepName(KLocMonitorStep1);
+	}
+
+TVerdict CTe_LocMonitorStep1::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+void CTe_LocMonitorStep1::ReadIniFileValues()
+    {
+	
+	_LIT(KMCC,"MCC");
+	_LIT(KMNC,"MNC");
+	_LIT(KLAC,"LAC");
+	_LIT(KCID,"CID");
+	_LIT(KTA,"TA");
+	_LIT(KEXPECTEDERROR,"EXPECTEDERROR");
+	
+
+	iMCC	= -1; 
+	iMNC	= -1; 
+	iLAC	= -1; 
+	iCID	= -1; 
+	iTA		= -1;
+	iExpectedError = KErrNone;
+	
+    GetIntFromConfig(ConfigSection(), KMCC, iMCC);
+    GetIntFromConfig(ConfigSection(), KMNC, iMNC);
+    GetIntFromConfig(ConfigSection(), KLAC, iLAC);
+    GetIntFromConfig(ConfigSection(), KCID, iCID);
+    GetIntFromConfig(ConfigSection(), KTA,  iTA);
+    GetIntFromConfig(ConfigSection(), KEXPECTEDERROR,  iExpectedError);
+
+    }
+
+
+TVerdict CTe_LocMonitorStep1::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+		// here, read from .ini file
+		ReadIniFileValues();
+		
+	
+		INFO_PRINTF6(_L("TestValidateGSMInfoL(%d,%d,%d,%d,%d)"), iMCC, iMNC, iLAC, iCID, iTA);
+
+		TInt result;
+ 	    TRAP( result, TestValidateGSMInfoL(iMCC, iMNC, iLAC, iCID, iTA); );
+		if (iExpectedError == result)
+			{
+			INFO_PRINTF2(_L("TestValidateGSMInfoL passed. Got %d as expected"),iExpectedError);
+
+			}
+		else
+			{
+			INFO_PRINTF3(_L("TestValidateGSMInfoL failed, got error %d and was expecting %d "), result, iExpectedError);
+			TESTL(0);
+			}
+	
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep1::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+// -----------------------------------------------------------------------------
+// Clocationinfodatatypestest::TestValidateGSMInfoL
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CTe_LocMonitorStep1::TestValidateGSMInfoL(TInt iMCC, TInt iMNC, TInt iLAC, TInt iCID, TInt iTA)
+   {
+   CLbsGsmCellInfo* gsmInfo = CLbsGsmCellInfo::NewL();
+   CleanupDeletePushL( gsmInfo );
+   
+   TLbsGsmNeighbourCellInfo nCell;
+   nCell.SetArfcn( 100 );
+   nCell.SetBsic( 30 );
+   nCell.SetRxLevel( 20 );
+   gsmInfo->AddNeighbouringCellInfoL( &nCell );
+   
+   gsmInfo->SetMobileCountryCode( iMCC );
+   gsmInfo->SetMobileNetworkCode( iMNC );
+   gsmInfo->SetLocationAreaCode( iLAC);
+   gsmInfo->SetCellId( iCID);
+   gsmInfo->SetTimingAdvance( iTA);
+   
+   gsmInfo->ValidateDataL();
+   
+   CleanupStack::PopAndDestroy();   // gsmInfo
+   return KErrNone;
+   }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep2.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep2.cpp
+*/
+ 
+#include "te_geolocmonitorstep2.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+#include <lbs/lbslocationinfo.h>
+
+CTe_LocMonitorStep2::~CTe_LocMonitorStep2()
+	{
+	}
+
+CTe_LocMonitorStep2::CTe_LocMonitorStep2()
+	{
+	SetTestStepName(KLocMonitorStep2);
+	}
+
+TVerdict CTe_LocMonitorStep2::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+void CTe_LocMonitorStep2::ReadIniFileValues()
+    {
+	
+	_LIT(KMCC,"MCC");
+	_LIT(KMNC,"MNC");
+	_LIT(KLAC,"LAC");
+	_LIT(KUCID,"UCID");
+	_LIT(KSC,"SC");
+	_LIT(KEXPECTEDERROR,"EXPECTEDERROR");
+	
+	iMCC	= -1; 
+	iMNC	= -1; 
+	iLAC 	=-1;
+	iUCID	= -1; 
+	iSC		= -1; 
+	iExpectedError = KErrNone;
+		
+    GetIntFromConfig(ConfigSection(), KMCC, iMCC);
+    GetIntFromConfig(ConfigSection(), KMNC, iMNC);
+    GetIntFromConfig(ConfigSection(), KLAC, iLAC);
+    GetIntFromConfig(ConfigSection(), KUCID, iUCID);
+    GetIntFromConfig(ConfigSection(), KSC, iSC);
+    GetIntFromConfig(ConfigSection(), KEXPECTEDERROR,  iExpectedError);
+
+    }
+
+//
+// Repeatible call to GetLastKnownPositionArea using a TPositionSatelliteInfo
+// and a TPositionAreaExtendedInfo object.
+//
+// This test checks that it is possible to request the last known
+// position with area information from the Location Monitor using the above
+// mentioned data types.
+//
+// The call to GetLastKnowPositionArea is conducted twice to check
+// repeatibility.
+//
+TVerdict CTe_LocMonitorStep2::doTestStepL()
+	{
+	TPosition receivedPosition;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+		// here, read from .ini file
+		ReadIniFileValues();
+		
+	
+		INFO_PRINTF5(_L("TestValidateWCDMAInfoL(%d,%d,%d,%d)"), iMCC, iMNC, iUCID, iSC);
+
+		TInt result;
+		
+		TRAP( result, TestValidateWCDMAInfoL(iMCC,iMNC,iUCID,iSC););
+		if (iExpectedError == result)
+			{
+			INFO_PRINTF2(_L("TestValidateWCDMAInfoL passed. Got %d as expected"),iExpectedError);
+
+			}
+		else
+			{
+			INFO_PRINTF3(_L("TestValidateWCDMAInfoL failed, got error %d and was expecting %d"), result, iExpectedError);
+			TESTL(0);
+			}
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep2::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+TInt CTe_LocMonitorStep2::TestValidateWCDMAInfoL(TInt iMCC, TInt iMNC, TInt iUCID, TInt iSC )
+   {
+   CLbsWcdmaCellInfo* wcdmaInfo = CLbsWcdmaCellInfo::NewL();
+   CleanupDeletePushL( wcdmaInfo );
+   
+   TLbsWcdmaNeighbourCellInfo nCell;
+   nCell.SetUniqueCellId( 100 );
+   nCell.SetScramblingCode( 30 );
+   nCell.SetPathloss( 100 );
+   nCell.SetSignalStrength( 90 );
+   wcdmaInfo->AddNeighbouringCellInfoL( &nCell );
+   
+   wcdmaInfo->SetMobileCountryCode( iMCC);
+   wcdmaInfo->SetMobileNetworkCode( iMNC);
+   wcdmaInfo->SetUniqueCellId(iUCID);
+   wcdmaInfo->SetScramblingCode( iSC  );
+   
+   wcdmaInfo->ValidateDataL();
+   
+   CleanupStack::PopAndDestroy();   // wcdmaInfo
+   return KErrNone;
+   }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep3.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep3.cpp
+*/
+ 
+#include <e32svr.h>
+#include <s32mem.h>
+
+#include "te_geolocmonitorstep3.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+#include <lbs/lbslocationinfo.h>
+
+extern void CleanUpAreaInfoArray(TAny* aArray);
+
+CTe_LocMonitorStep3::~CTe_LocMonitorStep3()
+	{
+	}
+
+CTe_LocMonitorStep3::CTe_LocMonitorStep3()
+	{
+	SetTestStepName(KLocMonitorStep3);
+	}
+
+TVerdict CTe_LocMonitorStep3::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// Call to GetLastKnownPositionArea using a TPositionInfo
+// and a TPositionAreaInfo object.
+//
+// This test checks that it is possible to request the last known
+// position with area information from the Location Monitor using
+// the above mentioned data types.
+//
+TVerdict CTe_LocMonitorStep3::doTestStepL()
+	{
+	TPosition expectedPosition, receivedPosition;
+	TPositionAreaInfo expectedAreaInfo;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+		INFO_PRINTF1(_L("TestLocInfoAddCoordL()"));
+
+		TInt result;
+	    TRAP( result, TestLocInfoAddCoordL(); );
+	    if (KErrNone == result)
+	    	{
+			INFO_PRINTF2(_L("TestLocInfoAddCoordL passed. Got %d as expected"),KErrNone);
+	    	}
+	    else
+	    	{
+			INFO_PRINTF3(_L("TestLocInfoAddCoordL failed, got error %d and was expecting %d "), result, KErrNone);
+			TESTL(0);
+	    	}
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep3::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+TInt CTe_LocMonitorStep3::TestLocInfoAddCoordL()
+    {
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupDeletePushL( buffer );
+    CLbsLocationInfo* locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    TCoordinate coord( 12.9765, 77.1423, 3000.0 );
+    TLocality src( coord, 12.0 );
+    src.SetVerticalAccuracy( 10.0 );
+    CLbsPositionInfo* pos = CLbsPositionInfo::NewL( src );
+    CleanupStack::PushL( pos );
+    locInfo->AddAreaInfoL( pos );
+    CleanupStack::Pop();    // pos; ownership transferred to instance of CLbsLocationInfo
+        
+    RBufWriteStream wStream;
+    wStream.Open( *buffer );
+    CleanupClosePushL( wStream );
+    ( (CLbsLocationInfoBase*)locInfo )->ExternaliseL( wStream );
+    wStream.CommitL();
+    
+    CleanupStack::PopAndDestroy();    // wStream
+    CleanupStack::PopAndDestroy();    // locInfo    
+    locInfo = NULL;
+     
+    // Read from stream
+    RBufReadStream rStream;
+    rStream.Open( *buffer );
+    
+    locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    locInfo->InternaliseL( rStream );
+      
+    RLbsAreaInfoBaseArray coords;
+	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &coords ));
+    
+    locInfo->GetAreaInfoL( coords, CLbsLocationInfo::ELbsPosInfo );
+    CLbsPositionInfo* posInfo = static_cast<CLbsPositionInfo*>( coords[0] );
+    TLocality res;
+    posInfo->GetLocality( res );
+    
+    if( 12.9765 != res.Latitude() || 
+            77.1423 != res.Longitude() || 
+            3000.0 != res.Altitude() || 
+            12.0 != res.HorizontalAccuracy() || 
+            10.0 != res.VerticalAccuracy() )
+        {
+		CleanupStack::PopAndDestroy(&coords);
+		//CleanupStack::PopAndDestroy( &coords );
+        CleanupStack::PopAndDestroy( 2 );
+        return -1;
+        }
+    
+    // Delete coordinate info
+    locInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+  
+    CleanupStack::PopAndDestroy(&coords);
+    CleanupStack::PopAndDestroy(2);  // locInfo and buffer
+    return KErrNone;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep4.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,897 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep4.cpp
+*/
+ 
+#include <e32svr.h>
+#include <s32mem.h>
+
+#include "te_geolocmonitorstep4.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+#include <lbs/lbslocationinfo.h>
+
+extern void CleanUpAreaInfoArray(TAny* aArray);
+
+CTe_LocMonitorStep4::~CTe_LocMonitorStep4()
+	{
+	}
+
+CTe_LocMonitorStep4::CTe_LocMonitorStep4()
+	{
+	SetTestStepName(KLocMonitorStep4);
+	}
+
+TVerdict CTe_LocMonitorStep4::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+void CTe_LocMonitorStep4::ReadIniFileValues()
+    {
+	_LIT(KPROCEDURE,"PROCEDURE");
+	iProcedure = -1;
+    GetIntFromConfig(ConfigSection(), KPROCEDURE,  iProcedure );
+    }
+
+
+TVerdict CTe_LocMonitorStep4::doTestStepL()
+	{
+	TPosition expectedPosition, receivedPosition;
+	TPositionAreaInfo expectedAreaInfo;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+ 	
+		// here, read from .ini file
+		ReadIniFileValues();
+		INFO_PRINTF2(_L("Procedure %d"), iProcedure);
+		
+		TInt result=KErrNotFound;
+		
+		switch(iProcedure)
+			{
+			case 1:
+				result = TestGSMNewL();
+				break;
+			case 2:
+				result = TestGSMSetTA();
+				break;
+			case 3:
+				result = TestGSMAddNCellL();
+				break;
+			case 4:
+				result = TestValidateGSMInfoHierarchyL();
+				break;
+			case 5:
+				result = TestWcdmaNewL();
+				break;
+			case 6:
+				result = TestWcdmaSetSC();
+				break;
+			case 7:
+				result = TestWcdmaAddNCellL();
+				break;
+			case 8:
+				result = TestValidateWCDMAInfoHierarchyL();
+				break;
+			case 9:
+				result = TestCoordNewL();
+				break;
+			case 10:
+				result = TestValidateCoordInfoL();
+				break;
+			case 11:
+				result = TestWlanNewL();
+				break;
+			case 12:
+				result = TestValidateWlanInfoL();
+				break;
+			case 13:
+				result = TestLocInfoAddCoordL();
+				break;
+			case 14:
+				result = TestLocInfoAddGsmCellL();
+				break;
+			case 15:
+				result = TestLocInfoAddWcdmaCellL();
+				break;
+			case 16:
+				result = TestLocInfoAddWlanL();
+				break;
+				
+			default:
+				INFO_PRINTF2(_L("Bad Procedure number %d - Not supported"), iProcedure);
+				TESTL(0);
+				break;
+				
+			}
+	
+	    if (KErrNone == result)
+	    	{
+			INFO_PRINTF3(_L("Procedure %d passed. Got %d as expected"),iProcedure, KErrNone);
+			
+	    	}
+	    else
+	    	{
+			INFO_PRINTF4(_L("Procedure %d failed, got error %d and was expecting %d "), iProcedure, result, KErrNone);
+			TESTL(0);
+	    	}
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep4::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+
+
+TInt CTe_LocMonitorStep4::TestGSMNewL(  )
+   {
+	INFO_PRINTF1(_L("TestGSMNewL"));
+
+	CLbsGsmCellInfo* gsmInfo = NULL;
+   TRAPD( err, gsmInfo = CLbsGsmCellInfo::NewL( 3, 4, 56, 78 ) );
+   if( KErrNone != err )
+      return err;
+   
+   if(	( 3 != gsmInfo->MobileCountryCode() ) || 
+	  ( 4 != gsmInfo->MobileNetworkCode() ) ||
+	  ( 56 != gsmInfo->LocationAreaCode() ) ||
+	  ( 78 != gsmInfo->CellId() ) )
+      {
+      delete gsmInfo;
+      return -1;
+      }
+
+   delete gsmInfo;
+   return KErrNone;
+   }
+
+
+
+TInt CTe_LocMonitorStep4::TestGSMSetTA(  )
+   {
+	INFO_PRINTF1(_L("TestGSMSetTA"));
+	CLbsGsmCellInfo* gsmInfo = NULL;
+   TRAPD( err, gsmInfo = CLbsGsmCellInfo::NewL() );
+   if( KErrNone != err )
+      return err;
+  
+  gsmInfo->SetTimingAdvance( 2 ); 
+  if( 2 != gsmInfo->TimingAdvance() )
+      {
+      delete gsmInfo;
+      return -1;
+	  }
+	
+   delete gsmInfo;
+   return KErrNone;
+   }
+
+
+TInt CTe_LocMonitorStep4::TestGSMSetRxLev(  )
+   {
+	INFO_PRINTF1(_L("TestGSMSetRxLev()"));
+   CLbsGsmCellInfo* gsmInfo = NULL;
+   TRAPD( err, gsmInfo = CLbsGsmCellInfo::NewL() );
+   if( KErrNone != err )
+      return err;
+   
+  
+  gsmInfo->SetRxLevel( 10 ); 
+  if( 10 != gsmInfo->RxLevel() )
+      {
+      delete gsmInfo;
+      return -1;
+      }
+    
+   delete gsmInfo;
+   return KErrNone;
+   }
+   
+
+
+TInt CTe_LocMonitorStep4::TestGSMAddNCellL(  )
+	{
+	INFO_PRINTF1(_L("TestGSMAddNCellL()"));
+ 
+   TLbsGsmNeighbourCellInfo gnCellInfo;
+   gnCellInfo.SetArfcn(12);
+   gnCellInfo.SetBsic(13);
+   gnCellInfo.SetRxLevel(14);
+   
+   CLbsGsmCellInfo* gsmInfo = NULL;
+   TRAPD( err, gsmInfo = CLbsGsmCellInfo::NewL() );
+   if( KErrNone != err )
+      return err;
+   CleanupDeletePushL( gsmInfo );
+  
+  gsmInfo->AddNeighbouringCellInfoL( &gnCellInfo ); 
+  
+  RLbsGsmNeighbourCellInfoArray nCellArray;
+  CleanupClosePushL( nCellArray );
+  gsmInfo->GetNeighbouringCellInfoL( nCellArray );
+  TLbsGsmNeighbourCellInfo res = nCellArray[0];
+  
+  if( 12 != res.Arfcn() || 13 != res.Bsic() || 14 != res.RxLevel() )
+      {
+	  CleanupStack::PopAndDestroy(&nCellArray);
+	  CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+  RLbsGsmNeighbourCellInfoArray * ptr = &nCellArray;
+	
+  CleanupStack::PopAndDestroy(&nCellArray);
+  CleanupStack::PopAndDestroy(gsmInfo);
+
+  return KErrNone;
+	}
+
+
+
+TInt CTe_LocMonitorStep4::TestValidateGSMInfoHierarchyL(  )
+   {
+	INFO_PRINTF1(_L("TestValidateGSMInfoHierarchyL()"));
+ 
+   CLbsGsmCellInfo* gsmInfo = CLbsGsmCellInfo::NewL();
+   CleanupDeletePushL( gsmInfo );
+   
+   TLbsGsmNeighbourCellInfo nCell;
+   nCell.SetArfcn( 100 );
+   nCell.SetBsic( 30 );
+   nCell.SetRxLevel( 20 );
+   gsmInfo->AddNeighbouringCellInfoL( &nCell );
+   TRAPD( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   gsmInfo->SetRxLevel( 10 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+       {
+       CleanupStack::PopAndDestroy(gsmInfo);
+       return -1;
+       }
+   
+   gsmInfo->SetTimingAdvance( 200 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   gsmInfo->SetCellId( 455 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   gsmInfo->SetLocationAreaCode( 350 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   gsmInfo->SetMobileNetworkCode( 300 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   gsmInfo->SetMobileCountryCode( 200 );
+   TRAP( err, gsmInfo->ValidateDataL() );
+   if( KErrNone != err )
+      {
+      CleanupStack::PopAndDestroy(gsmInfo);
+      return -1;
+      }
+   
+   CleanupStack::PopAndDestroy(gsmInfo);
+   return KErrNone;
+   }
+
+
+
+
+// *****************************************************************************************************************************************
+
+
+
+
+
+TInt CTe_LocMonitorStep4::TestWcdmaNewL( )
+    {
+	INFO_PRINTF1(_L("TestWcdmaNewL()"));
+ 
+    CLbsWcdmaCellInfo* wcdmaCell = NULL;
+    TRAPD( err, wcdmaCell = CLbsWcdmaCellInfo::NewL( 4, 56, 78 ) );
+    if( KErrNone != err )
+        return err;
+
+    TRAP( err, wcdmaCell->ValidateDataL() );
+    if( KErrNone != err )
+        return err;
+    
+    if( 4 != wcdmaCell->MobileCountryCode() )
+        {
+        delete wcdmaCell;
+        return -1;
+        }
+
+    if( 56 != wcdmaCell->MobileNetworkCode() )
+        {
+        delete wcdmaCell;
+        return -1;
+        }
+
+    if( 78 != wcdmaCell->UniqueCellId() )
+        {
+        delete wcdmaCell;
+        return -1;
+        }
+    
+    delete wcdmaCell;
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestWcdmaSetSC( )
+    {
+	INFO_PRINTF1(_L("TestWcdmaSetSC()"));
+
+    CLbsWcdmaCellInfo* wcdmaCell = NULL;
+    TRAPD( err, wcdmaCell = CLbsWcdmaCellInfo::NewL() );
+    if( KErrNone != err )
+        return err;
+    
+    wcdmaCell->SetScramblingCode( 90 );
+    if( 90 != wcdmaCell->ScramblingCode() )
+        {
+        delete wcdmaCell;
+        return -1;
+        }
+
+    delete wcdmaCell;
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestWcdmaAddNCellL( )
+    {
+	INFO_PRINTF1(_L("TestWcdmaAddNCellL()"));
+    TLbsWcdmaNeighbourCellInfo nCell( 78, 90, 47, 100 );
+    CLbsWcdmaCellInfo* wcdmaCell = NULL;
+    
+    TRAPD( err, wcdmaCell = CLbsWcdmaCellInfo::NewL() );
+    if( KErrNone != err )
+        return err;
+  
+    CleanupDeletePushL( wcdmaCell );
+    wcdmaCell->AddNeighbouringCellInfoL( &nCell );
+    
+    RLbsWcdmaNeighbourCellInfoArray nCellArr;
+    CleanupClosePushL( nCellArr );
+    
+    wcdmaCell->GetNeighbouringCellInfoL( nCellArr );
+    TLbsWcdmaNeighbourCellInfo res = nCellArr[0];
+    if( 78 != res.UniqueCellId() )
+        {
+		CleanupStack::PopAndDestroy(&nCellArr);
+		CleanupStack::PopAndDestroy(wcdmaCell);
+        return -1;
+        }
+    
+    if( 90 != res.ScramblingCode() )
+        {
+		CleanupStack::PopAndDestroy(&nCellArr);
+		CleanupStack::PopAndDestroy(wcdmaCell);
+        return -1;
+        }
+	CleanupStack::PopAndDestroy(&nCellArr);
+	CleanupStack::PopAndDestroy(wcdmaCell);  
+    
+    return KErrNone;
+    }
+
+
+
+TInt CTe_LocMonitorStep4::TestValidateWCDMAInfoHierarchyL(  )
+   {
+	INFO_PRINTF1(_L("TestValidateWCDMAInfoHierarchyL(()"));
+   CLbsWcdmaCellInfo* wcdmaInfo = CLbsWcdmaCellInfo::NewL();
+   CleanupDeletePushL( wcdmaInfo );
+   
+   TLbsWcdmaNeighbourCellInfo nCell;
+   nCell.SetUniqueCellId( 200 );
+   nCell.SetScramblingCode( 400 );
+   wcdmaInfo->AddNeighbouringCellInfoL( &nCell );
+   TRAPD( err, wcdmaInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wcdmaInfo);
+      return -1;
+      }
+   
+   wcdmaInfo->SetScramblingCode( 300 );
+   TRAP( err, wcdmaInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wcdmaInfo);
+      return -1;
+      }
+   
+   wcdmaInfo->SetUniqueCellId( 455 );
+   TRAP( err, wcdmaInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wcdmaInfo);
+      return -1;
+      }
+   
+   wcdmaInfo->SetMobileNetworkCode( 300 );
+   TRAP( err, wcdmaInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wcdmaInfo);
+      return -1;
+      }
+   
+   wcdmaInfo->SetMobileCountryCode( 2000 );
+   TRAP( err, wcdmaInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wcdmaInfo);
+      return -1;
+      }
+   
+   CleanupStack::PopAndDestroy(wcdmaInfo);
+   return KErrNone;
+   }
+
+
+
+// *************************************************************************************************************************
+
+
+
+TInt CTe_LocMonitorStep4::TestCoordNewL( )
+    {
+	INFO_PRINTF1(_L("TestCoordNewL()"));
+    CLbsPositionInfo* pos = NULL;
+    TCoordinate coord( 12.9765, 77.1423, 3000.0 );
+    TLocality src( coord, 12.0 );
+    src.SetVerticalAccuracy( 10.0 );
+    TRAPD( err, pos = CLbsPositionInfo::NewL( src ) );
+    if ( KErrNone != err )
+        return err;
+    
+    TRAP( err, pos->ValidateDataL() );
+    if( KErrNone != err )
+        return err;
+    
+    TLocality loc;
+    pos->GetLocality( loc );
+    if( 12.9765 !=  loc.Latitude() )
+        {
+        delete pos;
+        return -1;
+        }
+    
+    if( 77.1423 != loc.Longitude() )
+        {
+        delete pos;
+        return -1;
+        }
+    
+    if( 3000.0 != loc.Altitude() )
+        {
+        delete pos;
+        return -1;
+        }
+    
+    if( 12.0 != loc.HorizontalAccuracy() )
+        {
+        delete pos;
+        return -1;
+        }
+    
+    if( 10.0 != loc.VerticalAccuracy() )
+        {
+        delete pos;
+        return -1;
+        }
+    
+    delete pos;
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestValidateCoordInfoL(  )
+   {
+	INFO_PRINTF1(_L("TestValidateCoordInfoL()"));
+
+   CLbsPositionInfo* pos = CLbsPositionInfo::NewL();
+   CleanupDeletePushL( pos );
+   TLocality loc;
+   loc.SetVerticalAccuracy( 50.0 );
+   pos->SetLocality( loc );
+   TRAPD( err, pos->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(pos);
+      return -1;
+      }
+   
+   loc.SetHorizontalAccuracy( 40.0 );
+   pos->SetLocality( loc );
+   TRAP( err, pos->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(pos);
+      return -1;
+      }
+   
+   TCoordinate coord( 12.9423, 77.1423, 455.0 );
+   TLocality loc1( coord, 40.0 );
+   pos->SetLocality( loc1 );
+   pos->ValidateDataL();
+   CleanupStack::PopAndDestroy(pos);
+   return KErrNone;
+   }
+
+// *************************************************************************************************************************
+
+
+TInt CTe_LocMonitorStep4::TestWlanNewL( )
+    {
+	INFO_PRINTF1(_L("TestWlanNewL()"));
+    TLbsWlanMacAddress macId;
+    macId.Append( _L8("FF:FF:FF:FF:FF:FF") );
+    
+    CLbsWlanInfo* wlanInfo = NULL;
+    TRAPD( err, wlanInfo = CLbsWlanInfo::NewL( macId, 12 ) );
+    if( KErrNone != err )
+        return err;
+    
+    TRAP( err, wlanInfo->ValidateDataL() );
+    if( KErrNone != err )
+        return err;
+    
+    TLbsWlanMacAddress res;
+    wlanInfo->GetMacAddress( res );
+    if( macId != res )
+        {
+        delete wlanInfo;
+        return -1;
+        }
+    
+    if( 12 != wlanInfo->SignalStrength() )
+        {
+        delete wlanInfo;
+        return -1;
+        }
+        
+    delete wlanInfo;
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestValidateWlanInfoL(  )
+   {
+	INFO_PRINTF1(_L("TestValidateWlanInfoL()"));
+   CLbsWlanInfo* wlanInfo = CLbsWlanInfo::NewL();
+   CleanupDeletePushL( wlanInfo );
+   
+   wlanInfo->SetSignalStrength( 100 );
+   TRAPD( err, wlanInfo->ValidateDataL() );
+   if( KErrArgument != err )
+      {
+      CleanupStack::PopAndDestroy(wlanInfo);
+      return -1;
+      }
+
+   TLbsWlanMacAddress macId;
+   macId.Append( _L8("FF:FF:FF:FF:FF:FF") );
+   wlanInfo->SetMacAddress( macId );
+   TRAP( err, wlanInfo->ValidateDataL() );
+   if( KErrNone != err )
+      {
+      CleanupStack::PopAndDestroy(wlanInfo);
+      return -1;
+      }
+   
+   CleanupStack::PopAndDestroy(wlanInfo);   // wlanInfo
+   return KErrNone;
+   }
+
+// *************************************************************************************************************************
+
+
+TInt CTe_LocMonitorStep4::TestLocInfoAddCoordL( )
+    {
+	INFO_PRINTF1(_L("TestLocInfoAddCoordL()"));
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupDeletePushL( buffer );
+    CLbsLocationInfo* locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    TCoordinate coord( 12.9765, 77.1423, 3000.0 );
+    TLocality src( coord, 12.0 );
+    src.SetVerticalAccuracy( 10.0 );
+    CLbsPositionInfo* pos = CLbsPositionInfo::NewL( src );
+    CleanupStack::PushL( pos );
+    locInfo->AddAreaInfoL( pos );
+    CleanupStack::Pop();    // pos; ownership transferred to instance of CLbsLocationInfo
+    
+    RBufWriteStream wStream;
+    wStream.Open( *buffer );
+    CleanupClosePushL( wStream );
+    ( (CLbsLocationInfoBase*)locInfo )->ExternaliseL( wStream );
+    wStream.CommitL();
+    
+    CleanupStack::PopAndDestroy(&wStream);  
+    CleanupStack::PopAndDestroy(locInfo);      
+ 
+    locInfo = NULL;
+    
+    // Read from stream
+    RBufReadStream rStream;
+    rStream.Open( *buffer );
+    
+    locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    ( (CLbsLocationInfoBase*)locInfo )->InternaliseL( rStream );
+    
+    RLbsAreaInfoBaseArray coords;
+	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &coords ));
+ 
+    locInfo->GetAreaInfoL( coords, CLbsLocationInfo::ELbsPosInfo );
+    CLbsPositionInfo* posInfo = static_cast<CLbsPositionInfo*>( coords[0] );
+    TLocality res;
+    posInfo->GetLocality( res );
+    
+    if( 12.9765 != res.Latitude() || 
+            77.1423 != res.Longitude() || 
+            3000.0 != res.Altitude() || 
+            12.0 != res.HorizontalAccuracy() || 
+            10.0 != res.VerticalAccuracy() )
+        {
+		CleanupStack::PopAndDestroy(&coords);  
+		CleanupStack::PopAndDestroy(locInfo);      
+		CleanupStack::PopAndDestroy(buffer); 
+        return -1;
+        }
+    
+     // Delete coordinate info
+    locInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );  
+    CleanupStack::PopAndDestroy(&coords);
+	CleanupStack::PopAndDestroy(locInfo);      
+	CleanupStack::PopAndDestroy(buffer);
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestLocInfoAddGsmCellL( )
+    {
+	INFO_PRINTF1(_L("TestLocInfoAddGsmCellL()"));
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupDeletePushL( buffer );
+    CLbsLocationInfo* locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    CLbsGsmCellInfo* gsmCell = CLbsGsmCellInfo::NewL( 23, 34, 45, 56 );
+    CleanupStack::PushL( gsmCell );
+    gsmCell->SetTimingAdvance( 10 );
+    gsmCell->SetRxLevel( 100 );
+    TLbsGsmNeighbourCellInfo nCell( 100, 60, 30 );
+    gsmCell->AddNeighbouringCellInfoL( &nCell );
+    locInfo->AddAreaInfoL( gsmCell );
+    CleanupStack::Pop();    // gsmCell; ownership transferred to instance of CLbsLocationInfo
+    
+    RBufWriteStream wStream;
+    wStream.Open( *buffer );
+    CleanupClosePushL( wStream );
+    ( (CLbsLocationInfoBase*)locInfo )->ExternaliseL( wStream );
+    wStream.CommitL();
+    
+    CleanupStack::PopAndDestroy(&wStream);
+    CleanupStack::PopAndDestroy(locInfo);   
+    locInfo = NULL;
+    
+    // Read from stream
+    RBufReadStream rStream;
+    rStream.Open( *buffer );
+    
+    locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    ( (CLbsLocationInfoBase*)locInfo )->InternaliseL( rStream );
+    
+    RLbsAreaInfoBaseArray gsmInfo;
+ 	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &gsmInfo ));
+ 
+    locInfo->GetAreaInfoL( gsmInfo, CLbsLocationInfo::ELbsGsmInfo );
+    CLbsGsmCellInfo* posInfo = static_cast<CLbsGsmCellInfo*>( gsmInfo[0] );
+    
+    RLbsGsmNeighbourCellInfoArray nCellArr;
+    CleanupClosePushL(nCellArr);
+    posInfo->GetNeighbouringCellInfoL( nCellArr );
+    
+    if( 23 != posInfo->MobileCountryCode() || 
+            34 != posInfo->MobileNetworkCode() || 
+            45 != posInfo->LocationAreaCode() || 
+            56 != posInfo->CellId() || 
+            10 != posInfo->TimingAdvance() || 
+            100 != posInfo->RxLevel() ||
+            100 != nCellArr[0].Arfcn() || 
+            60 != nCellArr[0].Bsic() || 
+            30 != nCellArr[0].RxLevel() )
+        {
+		CleanupStack::PopAndDestroy(&nCellArr);
+        CleanupStack::PopAndDestroy(&gsmInfo);
+        CleanupStack::PopAndDestroy(locInfo);
+        CleanupStack::PopAndDestroy(buffer);
+        return -1;
+        }
+    posInfo->ResetNeighbouringCellInfo();
+    locInfo->ResetAreaInfo( CLbsLocationInfo::ELbsGsmInfo );  // Reset 
+	CleanupStack::PopAndDestroy(&nCellArr);
+    CleanupStack::PopAndDestroy(&gsmInfo);
+    CleanupStack::PopAndDestroy(locInfo);
+    CleanupStack::PopAndDestroy(buffer);
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestLocInfoAddWcdmaCellL( )
+    {
+	INFO_PRINTF1(_L("TestLocInfoAddWcdmaCellL()"));
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupDeletePushL( buffer );
+    CLbsLocationInfo* locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    CLbsWcdmaCellInfo* wcdmaCell = CLbsWcdmaCellInfo::NewL( 23, 34, 45 );
+    CleanupStack::PushL( wcdmaCell );
+    wcdmaCell->SetScramblingCode( 10 );
+    TLbsWcdmaNeighbourCellInfo nCell( 100, 60, 47, 100 );
+    wcdmaCell->AddNeighbouringCellInfoL( &nCell );
+    locInfo->AddAreaInfoL( wcdmaCell );
+    CleanupStack::Pop();    // wcdmaCell; ownership transferred to instance of CLbsLocationInfo
+    
+    RBufWriteStream wStream;
+    wStream.Open( *buffer );
+    CleanupClosePushL( wStream );
+    ( (CLbsLocationInfoBase*)locInfo )->ExternaliseL( wStream );
+    wStream.CommitL();
+    
+    CleanupStack::PopAndDestroy(&wStream);
+    CleanupStack::PopAndDestroy(locInfo);    
+    locInfo = NULL;
+    
+    // Read from stream
+    RBufReadStream rStream;
+    rStream.Open( *buffer );
+    
+    locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL(locInfo);
+    ( (CLbsLocationInfoBase*)locInfo )->InternaliseL( rStream );
+    
+    RLbsAreaInfoBaseArray wcdmaInfo;
+	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &wcdmaInfo ));
+
+    locInfo->GetAreaInfoL( wcdmaInfo, CLbsLocationInfo::ELbsWcdmaInfo );
+    CLbsWcdmaCellInfo* posInfo = static_cast<CLbsWcdmaCellInfo*>( wcdmaInfo[0] );
+    
+    RLbsWcdmaNeighbourCellInfoArray nCellArr;
+    CleanupClosePushL(nCellArr);
+    posInfo->GetNeighbouringCellInfoL( nCellArr );
+    
+    if( 23 != posInfo->MobileCountryCode() || 34 != posInfo->MobileNetworkCode() 
+            || 45 != posInfo->UniqueCellId() || 10 != posInfo->ScramblingCode() || 
+            100 != nCellArr[0].UniqueCellId() || 60 != nCellArr[0].ScramblingCode() ||
+            47 != nCellArr[0].Pathloss() || 100 != nCellArr[0].SignalStrength() )
+        {
+        CleanupStack::PopAndDestroy(&nCellArr);
+		CleanupStack::PopAndDestroy(&wcdmaInfo);
+		CleanupStack::PopAndDestroy(locInfo);
+	    CleanupStack::PopAndDestroy(buffer);
+        return -1;
+        }
+    
+    posInfo->ResetNeighbouringCellInfo();
+    locInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWcdmaInfo );
+    CleanupStack::PopAndDestroy(&nCellArr);
+	CleanupStack::PopAndDestroy(&wcdmaInfo);// Reset
+    CleanupStack::PopAndDestroy(locInfo);
+    CleanupStack::PopAndDestroy(buffer);
+    return KErrNone;
+    }
+
+
+TInt CTe_LocMonitorStep4::TestLocInfoAddWlanL( )
+    {
+	INFO_PRINTF1(_L("TestLocInfoAddWlanL()"));
+    CBufFlat* buffer = CBufFlat::NewL( 512 );
+    CleanupDeletePushL( buffer );
+    CLbsLocationInfo* locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    TLbsWlanMacAddress macId;
+    macId.Append( _L8("FF:FF:FF:FF:FF:FF") );
+    CLbsWlanInfo* wlanInfo = CLbsWlanInfo::NewL( macId, 77 );
+    CleanupStack::PushL( wlanInfo );
+    locInfo->AddAreaInfoL( wlanInfo );
+    CleanupStack::Pop();    // wlanInfo; ownership transferred to instance of CLbsLocationInfo
+    
+    RBufWriteStream wStream;
+    wStream.Open( *buffer );
+    CleanupClosePushL( wStream );
+    ( (CLbsLocationInfoBase*)locInfo )->ExternaliseL( wStream );
+    wStream.CommitL();
+    
+    CleanupStack::PopAndDestroy(&wStream);
+    CleanupStack::PopAndDestroy(locInfo);   
+    locInfo = NULL;
+    
+    // Read from stream
+    RBufReadStream rStream;
+    rStream.Open( *buffer );
+    
+    locInfo = CLbsLocationInfo::NewL();
+    CleanupDeletePushL( locInfo );
+    ( (CLbsLocationInfoBase*)locInfo )->InternaliseL( rStream );
+    
+    RLbsAreaInfoBaseArray wlanInfoArr;
+	CleanupStack::PushL(TCleanupItem(*CleanUpAreaInfoArray, &wlanInfoArr ));
+    
+    locInfo->GetAreaInfoL( wlanInfoArr, CLbsLocationInfo::ELbsWlanInfo );
+    
+    CLbsWlanInfo* posInfo = static_cast<CLbsWlanInfo*>( wlanInfoArr[0] );
+    TLbsWlanMacAddress macIdRes;
+    posInfo->GetMacAddress( macIdRes );
+    
+    if( macId != macIdRes || 77 != posInfo->SignalStrength() )
+        {
+		CleanupStack::PopAndDestroy(&wlanInfoArr);
+        CleanupStack::PopAndDestroy(locInfo);
+        CleanupStack::PopAndDestroy(buffer);
+        return -1;
+        }
+    // Delete coordinate info
+    locInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWcdmaInfo );  
+	CleanupStack::PopAndDestroy(&wlanInfoArr);
+    CleanupStack::PopAndDestroy(locInfo);
+    CleanupStack::PopAndDestroy(buffer);
+    return KErrNone;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep5.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,1835 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep5.cpp
+*/
+ 
+#include "te_geolocmonitorstep5.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include "rlbslocinfoconverter.h"
+#include "LocInfoConversionHandler.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+// Plug in 
+const TInt KDummyPluginId = 537007117;
+const TInt KSuplPluginId = 537028467;
+
+
+CTe_LocMonitorStep5::~CTe_LocMonitorStep5()
+	{
+	}
+
+CTe_LocMonitorStep5::CTe_LocMonitorStep5()
+	{
+	SetTestStepName(KLocMonitorStep5);
+	}
+
+TVerdict CTe_LocMonitorStep5::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	iConversionHandler = CLocInfoConversionHandler::NewL();
+	iConversionHandler1 = CLocInfoConversionHandler::NewL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to connect a session and
+// subsession with the Location Monitor and then close both.
+//
+TVerdict CTe_LocMonitorStep5::doTestStepL()
+	{
+	INFO_PRINTF1(_L("CTe_LocMonitorStep5::doTestStepL() "));
+	 
+ 	if (TestStepResult()==EPass)
+ 		{
+
+        // Run all tests sequentially first
+         RLbsLocInfoConverter_Connect1L();
+         RLbsLocInfoConverter_Connect2L();
+         RLbsLocInfoConverter_ConvertLocationInfo1L();
+         RLbsLocInfoConverter_ConvertLocationInfo2L();
+         RLbsLocInfoConverter_ConvertLocationInfo3L();
+         RLbsLocInfoConverter_ConvertLocationInfo4L();
+         RLbsLocInfoConverter_ConvertLocationInfo5L();
+
+         RLbsLocInfoConverter_ConvertLocationInfo8L();
+         RLbsLocInfoConverter_ConvertLocationInfo9L();
+         RLbsLocInfoConverter_ConvertLocationInfo10L();
+         RLbsLocInfoConverter_Cancel1L();
+         RLbsLocInfoConverter_Cancel2L();
+         RLbsLocInfoConverter_Cancel3L();
+         RLbsLocInfoConverter_Cancel4L();
+
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep5::doTestStepPostambleL()
+	{
+    delete iConversionHandler;
+    delete iConversionHandler1;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+
+
+// -----------------------------------------------------------------------------
+// CLocInfoConversionUnitTest::RLbsLocInfoConverter_Connect1
+// simple session and subsession.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Connect1L()
+   {
+   INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Connect1L()"));
+   TInt error;
+   RLbsLocMonitorSession locMonitorSession;
+   error = locMonitorSession.Connect();
+   if( error != KErrNone )
+       {
+       return error;
+       }
+   CleanupClosePushL( locMonitorSession );
+   RLbsLocInfoConverter locInfoConverter;
+   CleanupClosePushL( locInfoConverter );
+   locInfoConverter.OpenL( locMonitorSession );
+   locInfoConverter.Close();
+   CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession 
+   return KErrNone;
+   }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_Connect2
+// Opening multiple subsession from single session
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Connect2L()
+   {
+   INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Connect2L()"));
+   RLbsLocMonitorSession locMonitorSession;
+   TInt error = locMonitorSession.Connect();
+   if( error != KErrNone )
+       {
+       return error;
+       }
+   CleanupClosePushL( locMonitorSession );
+   RLbsLocInfoConverter locInfoConverter;
+   CleanupClosePushL( locInfoConverter );
+   RLbsLocInfoConverter locInfoConverter1;
+   CleanupClosePushL( locInfoConverter1 );
+   
+   locInfoConverter.OpenL( locMonitorSession );
+   locInfoConverter1.OpenL( locMonitorSession );
+   locInfoConverter.Close();
+   locInfoConverter1.Close();
+   
+   CleanupStack::PopAndDestroy( 3 ); //locInfoConverter1,locInfoConverter and
+                                     //locMonitorSession
+   return KErrNone;
+   }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo1L
+// This test case tests the simple and corner case related 
+// to RLbsLocInfoConverter::ConvertLocationInfoL
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo1L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo1L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: where NULL pointer is passed instead of location info
+     */
+    error = KErrNone;
+    CLbsLocationInfo* locationInfo = CLbsLocationInfo::NewL();
+    CleanupStack::PushL( locationInfo );
+    TRAP( error,locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition,
+                  conversionModuleId,iConversionHandler->iStatus ));
+    if( error!= KErrArgument )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrArgument, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: where we pass location info.This is
+     * just test where this method completes without leaving.
+     */ 
+    
+    // Here we append gsmcell info object to the existing location info object.
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaGsmCellInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    CleanupStack::PopAndDestroy( locationInfo );
+    
+    /**
+     * Case 3. Empty location info array is passed.
+     */  
+    error = KErrNone;
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    TRAP( error,locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus ));
+
+    if( error != KErrArgument )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrArgument, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 4: where we pass location info array.This is 
+     * just test where this method completes without leaving.
+     */
+    
+    // Here we create locationInfo object with gsm cell info object contained in it.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                locationInfoArray,ELbsConversionNotDefined,
+                ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus  );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    CleanupStack::Pop( 2 ); //locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo2L
+// This test case tests ConvertLocationInfo when expected information is
+// of type ECoordinate
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo2L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo2L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     *  case 1: Any information regarding the area is passed and 
+     *  coordinate corresponding to that area info is expected.
+     */
+    
+    // Here GSM cell info is passed as input area.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is KErrNone, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+   
+    /**
+     * case 2: Pass any information related to multiple area and we expect coordinate information
+     * corresponding to each area information.
+     */
+   
+    // Create one more location info object which holds wlan info for which corresponding coordinate
+    // is expected.
+    CLbsLocationInfo* locationInfo2 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo2 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo3L
+// This test case tests ConvertLocationInfo when expected information is
+// of type EGsm
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo3L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo3L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );;
+
+    /**
+     * case 1: Pass any area info and we expect GSM cell info
+     */
+    
+    // Here WLAN info is passed as input area.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionCacheOnly,ELbsConversionOutputGsm,
+                  conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckGsmCellConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+
+    /**
+     * case 2: Pass any information related to multiple area and we expect GSM cell info
+     * corresponding to each area information.
+     */
+    
+    // Create one more location info object which holds coordinate info for which corresponding GSM
+    // cell info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for GSM cell info, hence we need to clear it before
+    // we use it for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsGsmInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionCacheOnly,ELbsConversionOutputGsm,
+            conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckGsmCellConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo4L
+//This test case tests ConvertLocationInfo when expected information is
+// of type EWcdma
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo4L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo4L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+
+    /**
+     *  case 1: Pass any area info pointer and we expect EWcdma type
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionSilent,ELbsConversionOutputWcdma,
+                   conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( error == KErrNone )
+        {
+        CheckWcdmaCellConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+  
+    /**
+     *  case 2: Pass any information related to multiple area and we expect wcdma information
+     * corresponding to each area information.
+     */
+    
+    // Create one more location info object which holds wlan info for which corresponding WCDMA 
+    // cell info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for WCDMA info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWcdmaInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionSilent,ELbsConversionOutputWcdma,
+            conversionModuleId,iConversionHandler->iStatus );
+    
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Iterate through the array and check for converted info.
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckWcdmaCellConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( error == KErrNotSupported || error == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo5L
+// This test case tests ConvertLocationInfo when expected information is
+// of type EWlan
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo5L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo5L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+
+    /**
+     * case 1: Pass any area info pointer and we expect EWlan type
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionCacheOnly,ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // If the conversion status is success, check for the corresponding 
+    // converted info.
+    if( iConversionHandler->iStatus == KErrNone )
+        {
+        CheckWlanConvertedInfoL( locationInfo );
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( iConversionHandler->iStatus == KErrNotSupported || iConversionHandler->iStatus == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), iConversionHandler->iStatus);
+        User::Leave( KErrArgument );
+        }
+    
+   /**
+    * Case 2: Pass any information related to multiple area and we expect Wlan info
+    * corresponding to each area information.
+    */
+   
+    // Create one more location info object which holds coordinate info for which corresponding 
+    // Wlan info is expected.
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaPositionInfoClass );
+    
+    // Before pushing location info object, remove the converted info from it.
+    // We had requested for wlan info, hence we need to clear it before
+    // we use it for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsWlanInfo );
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray.Append( locationInfo1 );
+    
+    TRequestStatus status;
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionCacheOnly,ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus);
+    iConversionHandler->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Iterate through the array and check for converted info.
+    if( iConversionHandler->iStatus == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckWlanConvertedInfoL( locationInfo );
+            }
+        }
+    // KErrNotSupported and KErrNotFound are allowed error codes.
+    else if( !( iConversionHandler->iStatus == KErrNotSupported || iConversionHandler->iStatus == KErrNotFound ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported or KErrNotFound, got %d)"), iConversionHandler->iStatus);
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo6L
+// This test case tests the scenario when user tries to request new single 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo6L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo6L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    // Here in this case input area doesnt matter 
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    error = KErrNone;
+    TRequestStatus status;
+    
+    locInfoConverter.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::PopAndDestroy( 2 ); // locationInfo1,locationInfo
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo7L
+// This test case tests the scenario when user tries to request new batch 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo7L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo7L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KNullUidValue );;
+    
+    // Here in this case input area doesnt matter 
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+      
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    locationInfoArray.Append( locationInfo );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                locationInfoArray,ELbsConversionNotDefined,
+                ELbsConversionOutputPosition,conversionModuleId ,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locationInfoArray1.Append( locationInfo1 );
+    
+    TRequestStatus status;
+
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo8L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying same plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo8L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo8L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to open two subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Here type of area input doesnt matter.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+        
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo);
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo9L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying different plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo9L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo9L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId1 = TUid::Uid( KDummyPluginId );
+    TUid conversionModuleId2 = TUid::Uid( KSuplPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying different conversion uid.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+        
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);    
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotFound or KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotFound or KErrNotSupported, got %d)"), error);    
+        User::Leave( KErrArgument );
+        }
+    
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo10L
+// This test case tests following unsuccessful conversion scenarios:
+// 1. Conversion preference not supported by plugin.
+// 2. Conversion request by specifying input area type same as requested type. 
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_ConvertLocationInfo10L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo10L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+   
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+        
+    /**
+     * Case 2: Users tries to request for coordinate info by specifying
+     *         only coordinate info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaPositionInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 3: Users tries to request for gsm cell info by specifying
+     *         only gsm cell info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaGsmCellInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputGsm,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+    INFO_PRINTF2(_L("Expected return value KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 4: Users tries to request for wcdma cell info by specifying
+     *         only wcdma cell info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaWcmdaCellInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputWcdma,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );    
+        }
+    
+    /**
+     * Case 5: Users tries to request for wlan info by specifying
+     *         only wlan info.
+     */
+    locationInfo->ResetAreaInfo();
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,ELbsAreaWlanInfoClass );
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputWlan,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error != KErrNotSupported )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );    
+        }
+    
+    CleanupStack::PopAndDestroy( 3 ); // locationInfo,locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel1L
+// This test case tests the scenario when user tries to cancel the request before 
+// and after the conversion request complete for both single and batch conversion.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel1L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Cancel1L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    // This can  can be done for any area type here EGsm to ECoordinate conversion has 
+    // been used.
+    
+    /**
+     * Case 1: Here single location information conversion is requested 
+     *         and cancel is called before the conversion completes.
+     */
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrCancel and 
+    // location info should not have converted information.
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     *  case 2: Here single location information conversion is requested
+     *          and cancel is called after the conversion completes.
+     */
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    // case 3: Here mutiple location information conversion is 
+    // requested and cancel is called before the conversion completes.
+
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    // Request should be completed with the error code KErrCancel and 
+    // location info should not have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    
+    /**
+     *  case 4: Here mutiple location information conversion is 
+     * requested and cancel is called after the conversion completes.
+     */
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    CActiveScheduler::Start();
+    locInfoConverter.CancelConvertLocationInfo();
+    iConversionHandler->Cancel();
+    
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 );  // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel2L
+// This test case tests the scenario when user tries to cancel the conversion request
+// from the different subsession for both single and multiple conversion.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel2L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Cancel2L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+        {
+        return error;
+        }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+   
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    // This can  can be done for any area type here EGsm to ECoordinate conversion has 
+    // been used.
+    
+    /** 
+     * Case 1: Here single location information conversion is 
+     *         requested and cancel is called the different subsession.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                  *locationInfo,ELbsConversionNotDefined,ELbsConversionOutputPosition
+                  ,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter1.CancelConvertLocationInfo();
+    CActiveScheduler::Start();
+    
+    error = iConversionHandler->iStatus.Int();
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Here mutiple location information conversion is requested 
+     *         and cancel is called from the different subsession.
+     */
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+
+    // We had requested for coordinate info, hence we need to clear it before
+    // we use it as input for next conversion.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfoArray.Append( locationInfo );
+    
+    locationInfoArray.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    locInfoConverter1.CancelConvertLocationInfo();
+    CActiveScheduler::Start();
+    
+    // Request should be completed with the error code KErrNone and 
+    // location info should have converted information.
+    error = iConversionHandler->iStatus.Int();
+    
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::Pop( 3 ); // locationInfo,locationInfo1,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 );  // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel3L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying same plugin and we cancel one request
+// of two requests.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel3L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Cancel3L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need to open two subsessions.
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         anyone conversion request is cancelled.
+     */
+    
+    // Here type of area input doesnt matter.
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here first request is called.
+    locInfoConverter.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         any one conversion request is cancelled.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here second request is called.
+    locInfoConverter1.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel4L
+// This test case tests the scenario when user tries to request two conversion
+// using two subsessions simultaneously specifying different plugin.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep5::RLbsLocInfoConverter_Cancel4L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_Cancel4L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    
+    // Here we need two subsessions
+    RLbsLocInfoConverter locInfoConverter,locInfoConverter1;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    CleanupClosePushL( locInfoConverter1 );
+    locInfoConverter1.OpenL( locMonitorSession );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+    
+    TUid conversionModuleId1 = TUid::Uid( KDummyPluginId );
+    TUid conversionModuleId2 = TUid::Uid( KSuplPluginId );
+    
+    /**
+     * Case 1: Users tries to request 2 simultaneous single conversion
+     *         using 2 subsession specifying different conversion uid
+     *         any one request is cancelled.
+     */
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here first request is cancelled.
+    locInfoConverter.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+   
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+    // till the 2nd request completes.
+    if( iConversionHandler->iStatus.Int() == KRequestPending || 
+        iConversionHandler1->iStatus.Int() == KRequestPending )
+        {
+        CActiveScheduler::Start();
+        }
+    
+    // Check the converted values in both the conversions.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        CheckPositionConvertedInfoL( locationInfo,ENegative );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, KErrNotFound, KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrNone )
+        {
+        CheckPositionConvertedInfoL( locationInfo1 );
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, KErrNotFound, KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    /**
+     * Case 2: Users tries to request 2 simultaneous bulk conversion
+     *         using 2 subsession specifying same conversion uid and 
+     *         one conversion request is cancelled.
+     */
+    
+    // Before we append the location info object to the info array,
+    // we need to clear the converted info in each object.
+    locationInfo->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    locationInfo1->ResetAreaInfo( CLbsLocationInfo::ELbsPosInfo );
+    
+    locationInfoArray.Append( locationInfo );
+    locationInfoArray1.Append( locationInfo1 );
+    
+    locInfoConverter.ConvertLocationInfoL(  
+                  locationInfoArray,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId1,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locInfoConverter1.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId2,iConversionHandler1->iStatus );
+    iConversionHandler1->Start();
+    
+    // Here we cancel 2nd request 
+    locInfoConverter1.CancelConvertLocationInfo();
+    
+    // This is just to block the control till the call back method is called.
+    // Code after this statement will be resumed when Stop on CActiveScheduler
+    // is called in the HandleLocationConversion method.
+    CActiveScheduler::Start();
+    
+    // Here we need to wait till both the request completes.Hence we need to block it once again
+     // till the 2nd request completes.
+     if( iConversionHandler->iStatus.Int() == KRequestPending || 
+         iConversionHandler1->iStatus.Int() == KRequestPending )
+         {
+         CActiveScheduler::Start();
+         }
+     
+    // Check the converted values in both the conversions.
+    // Iterate through the array and check for converted info.
+    error = iConversionHandler->iStatus.Int();
+    if( error == KErrNone )
+        {
+        for( TInt i=0;i<locationInfoArray.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrNone, KErrNotFound, KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    error = iConversionHandler1->iStatus.Int();
+    if( error == KErrCancel )
+        {
+        for( TInt i=0;i<locationInfoArray1.Count();i++ )
+            {
+            CLbsLocationInfoBase* locationInfobase = locationInfoArray1[i];
+            CLbsLocationInfo* locationInfo = static_cast<CLbsLocationInfo*> ( locationInfobase );
+            CheckPositionConvertedInfoL( locationInfo,ENegative );
+            }
+        }
+    else if( !( error == KErrNotFound || error == KErrNotSupported ) )
+        {
+        INFO_PRINTF2(_L("Expected return value KErrCancel, KErrNotFound, KErrNotSupported, got %d)"), error);
+        User::Leave( KErrArgument );
+        }
+    
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 3 ); // locInfoConverter,locInfoConverter1,locMonitorSession
+    return KErrNone;
+    }   
+
+
+
+//  [End of File] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep6.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorStep6.cpp
+*/
+ 
+#include "te_geolocmonitorStep6.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include "rlbslocinfoconverter.h"
+#include "LocInfoConversionHandler.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+// Plug in 
+const TInt KDummyPluginId = 537007117;
+const TInt KSuplPluginId = 537028467;
+
+
+CTe_LocMonitorStep6::~CTe_LocMonitorStep6()
+	{
+	}
+
+CTe_LocMonitorStep6::CTe_LocMonitorStep6()
+	{
+	SetTestStepName(KLocMonitorStep6);
+	}
+
+TVerdict CTe_LocMonitorStep6::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	iConversionHandler = CLocInfoConversionHandler::NewL();
+	iConversionHandler1 = CLocInfoConversionHandler::NewL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to connect a session and
+// subsession with the Location Monitor and then close both.
+//
+TVerdict CTe_LocMonitorStep6::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+         // Test 6  panics with 0, ELocMonitorDuplicateRequest
+        RLbsLocInfoConverter_ConvertLocationInfo6L();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep6::doTestStepPostambleL()
+	{
+    delete iConversionHandler;
+    delete iConversionHandler1;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep6::RLbsLocInfoConverter_ConvertLocationInfo6L
+// This test case tests the scenario when user tries to request new single 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep6::RLbsLocInfoConverter_ConvertLocationInfo6L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo6L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KDummyPluginId );
+    
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    // Here in this case input area doesnt matter 
+    locInfoConverter.ConvertLocationInfoL(  
+                  *locationInfo,ELbsConversionNotDefined,
+                  ELbsConversionOutputPosition,conversionModuleId,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWcmdaCellInfoClass );
+    
+    error = KErrNone;
+    TRequestStatus status;
+    
+ 
+    locInfoConverter.ConvertLocationInfoL( 
+          *locationInfo1,ELbsConversionNotDefined,
+          ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::PopAndDestroy( 2 ); // locationInfo1,locationInfo
+    return KErrNone;
+    }
+
+
+//  [End of File] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstep7.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorStep7.cpp
+*/
+ 
+#include "te_geolocmonitorStep7.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include "rlbslocinfoconverter.h"
+#include "LocInfoConversionHandler.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+// Plug in 
+const TInt KDummyPluginId = 537007117;
+const TInt KSuplPluginId = 537028467;
+
+
+CTe_LocMonitorStep7::~CTe_LocMonitorStep7()
+	{
+	}
+
+CTe_LocMonitorStep7::CTe_LocMonitorStep7()
+	{
+	SetTestStepName(KLocMonitorStep7);
+	}
+
+TVerdict CTe_LocMonitorStep7::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	iConversionHandler = CLocInfoConversionHandler::NewL();
+	iConversionHandler1 = CLocInfoConversionHandler::NewL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to connect a session and
+// subsession with the Location Monitor and then close both.
+//
+TVerdict CTe_LocMonitorStep7::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+        // Test 7 panics with 0, ELocMonitorDuplicateRequest
+        RLbsLocInfoConverter_ConvertLocationInfo7L();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep7::doTestStepPostambleL()
+	{
+    delete iConversionHandler;
+    delete iConversionHandler1;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
+
+
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStep7::RLbsLocInfoConverter_ConvertLocationInfo7L
+// This test case tests the scenario when user tries to request new batch 
+// conversion without waiting for completion of previous one.
+// -----------------------------------------------------------------------------
+//
+TInt CTe_LocMonitorStep7::RLbsLocInfoConverter_ConvertLocationInfo7L()
+    {
+    INFO_PRINTF1(_L("*** RLbsLocInfoConverter_ConvertLocationInfo7L()"));
+    RLbsLocMonitorSession locMonitorSession;
+    TInt error = locMonitorSession.Connect();
+    if( error != KErrNone )
+       {
+       return error;
+       }
+    CleanupClosePushL( locMonitorSession );
+    RLbsLocInfoConverter locInfoConverter;
+    CleanupClosePushL( locInfoConverter );
+    locInfoConverter.OpenL( locMonitorSession );
+    
+    TUid conversionModuleId = TUid::Uid( KNullUidValue );;
+    
+    // Here in this case input area doesnt matter 
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray;
+    CleanupClosePushL( locationInfoArray );
+    
+    RPointerArray<CLbsLocationInfoBase> locationInfoArray1;
+    CleanupClosePushL( locationInfoArray1 );
+      
+    CLbsLocationInfo* locationInfo = CreateLocationInfoObjectLC( ELbsAreaGsmCellInfoClass );
+    
+    CLbsLocationInfo* locationInfo1 = CreateLocationInfoObjectLC( ELbsAreaWlanInfoClass );
+    
+    locationInfoArray.Append( locationInfo );
+    
+    locInfoConverter.ConvertLocationInfoL( 
+                locationInfoArray,ELbsConversionNotDefined,
+                ELbsConversionOutputPosition,conversionModuleId ,iConversionHandler->iStatus );
+    iConversionHandler->Start();
+    
+    locationInfoArray1.Append( locationInfo1 );
+    
+    TRequestStatus status;
+    
+    #pragma message("GEOTAGGING TEST ISSUE: How to replicate next lines behaviour: TestModuleIf().SetExitReason(CTestModuleIf::EPanic, 0)")
+    // TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);
+    
+    locInfoConverter.ConvertLocationInfoL( 
+            locationInfoArray1,ELbsConversionNotDefined,
+            ELbsConversionOutputPosition,conversionModuleId,status );
+    
+    CleanupStack::Pop(4); // locationInfo1,locationInfoArray1,locationInfo,locationInfoArray
+    locationInfoArray.ResetAndDestroy();
+    locationInfoArray1.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( 2 ); // locInfoConverter,locMonitorSession
+    return KErrNone;
+    }   
+
+
+
+
+//  [End of File] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorstepbase.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,339 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_geolocmonitorstepbase.cpp
+*/
+#include "te_geolocmonitorstepbase.h"
+#include "te_geolocmonitorsuitedefs.h"
+#include "tserverstartparams.h"
+#include "cserverlaunch.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsdevloggermacros.h"
+
+void CleanUpAreaInfoArray(TAny* aArray)
+    {
+	 	static_cast<RLbsAreaInfoBaseArray*>(aArray)->ResetAndDestroy();
+    }
+
+TVerdict CTe_LocMonitorStepBase::doTestStepPreambleL()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPreambleL()\n");
+	// START MEMORY TEST
+	__UHEAP_MARK;
+
+	// Construct a new ActiveScheduler and install it
+	iActiveScheduler = new (ELeave) CActiveScheduler();
+	CActiveScheduler::Install(iActiveScheduler);
+
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStepBase::doTestStepPostambleL()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPostambleL()\n");
+
+	delete iActiveScheduler;
+	
+	// END MEMORY TEST
+	__UHEAP_MARKEND;
+	
+	return TestStepResult();
+	}
+
+CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()\n");
+	}
+
+CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()\n");
+	}
+
+
+// Helper methods
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CreatePositionObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsPositionInfo* CTe_LocMonitorStepBase::CreatePositionInfoObjectLC()
+    {
+    INFO_PRINTF1(_L("CreatePositionInfoObjectLC()"));
+    TLocality locality;
+    locality.SetCoordinate( 62.5285,23.9385 );
+    locality.SetAccuracy( 100,0.0 );
+    CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
+    CleanupStack::PushL( positionInfo );
+    return positionInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CreateGsmCellInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsGsmCellInfo* CTe_LocMonitorStepBase::CreateGsmCellInfoObjectLC()
+    {
+    INFO_PRINTF1(_L("CreateGsmCellInfoObjectLC()"));
+    CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
+    CleanupStack::PushL( gsmCellInfo );
+    return gsmCellInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CreateWcdmaCellInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsWcdmaCellInfo* CTe_LocMonitorStepBase::CreateWcdmaCellInfoObjectLC()
+    {
+    INFO_PRINTF1(_L("CreateWcdmaCellInfoObjectLC()"));
+    CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
+    CleanupStack::PushL( wcdmaCellInfo );
+    return wcdmaCellInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CreateWlanInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsWlanInfo* CTe_LocMonitorStepBase::CreateWlanInfoObjectLC()
+    {
+    INFO_PRINTF1(_L("CreateWlanInfoObjectLC()"));
+    TLbsWlanMacAddress macAddress(_L8("10.0.1"));
+    CLbsWlanInfo* wlanInfo = CLbsWlanInfo::NewL( macAddress,10.1 );
+    CleanupStack::PushL( wlanInfo );
+    return wlanInfo;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CreateLocationInfoObjectLC
+// -----------------------------------------------------------------------------
+//
+CLbsLocationInfo* CTe_LocMonitorStepBase::CreateLocationInfoObjectLC(                    
+                                                    TLbsAreaInfoClassType aAreaType )
+    {
+    INFO_PRINTF1(_L("CreateLocationInfoObjectLC()"));
+    CLbsLocationInfo* locationInfo = CLbsLocationInfo::NewL();
+    CleanupStack::PushL( locationInfo );
+    AppendAreaInfoObjectToLocationInfoL( locationInfo,aAreaType );
+    return locationInfo;
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::AppendAreaInfoObjectToLocationInfoL
+// -----------------------------------------------------------------------------
+//
+void CTe_LocMonitorStepBase::AppendAreaInfoObjectToLocationInfoL(
+                                                    CLbsLocationInfo* aLocationInfo,                    
+                                                    TLbsAreaInfoClassType aAreaType )
+    {
+    INFO_PRINTF1(_L("AppendAreaInfoObjectToLocationInfoL()"));
+
+	CLbsPositionInfo* positionInfo = NULL;
+	CLbsGsmCellInfo* gsmCellInfo = NULL;
+	CLbsWcdmaCellInfo* wcdmaCellInfo = NULL;
+	CLbsWlanInfo* wlanInfo = NULL;
+
+	switch( aAreaType )
+        {
+        case ELbsAreaPositionInfoClass:
+            positionInfo = CreatePositionInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( positionInfo );
+            CleanupStack::Pop( positionInfo );
+            break;
+        
+        case ELbsAreaGsmCellInfoClass:
+            gsmCellInfo = CreateGsmCellInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( gsmCellInfo );
+            CleanupStack::Pop( gsmCellInfo );
+            break;
+            
+        case ELbsAreaWcmdaCellInfoClass:
+            wcdmaCellInfo = CreateWcdmaCellInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( wcdmaCellInfo );
+            CleanupStack::Pop( wcdmaCellInfo );
+            break;
+            
+        case ELbsAreaWlanInfoClass:
+            wlanInfo = CreateWlanInfoObjectLC();
+            aLocationInfo->AddAreaInfoL( wlanInfo );
+            CleanupStack::Pop( wlanInfo );
+            break;
+        
+        default:
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CheckPositionConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CTe_LocMonitorStepBase::CheckPositionConvertedInfoL( CLbsLocationInfo* 
+                                                              aLocationInfo,
+                                                              TTestType 
+                                                              aTestType )
+    {
+    INFO_PRINTF1(_L("CheckPositionConvertedInfoL()"));
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfoL( areaInfoArray,CLbsLocationInfo::ELbsPosInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+ 
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() NOT to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    // and to check out proper ownership of the 
+    // heap items do it again!
+    
+    aLocationInfo->GetAreaInfoL( areaInfoArray,CLbsLocationInfo::ELbsPosInfo );
+    count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+  
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() NOT to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CheckGsmCellConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CTe_LocMonitorStepBase::CheckGsmCellConvertedInfoL( CLbsLocationInfo* 
+                                                             aLocationInfo,
+                                                             TTestType 
+                                                             aTestType )
+    {
+    INFO_PRINTF1(_L("CheckGsmCellConvertedInfoL()"));
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfoL( areaInfoArray,CLbsLocationInfo::ELbsGsmInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() NOT to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CheckWcdmaCellConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CTe_LocMonitorStepBase::CheckWcdmaCellConvertedInfoL( CLbsLocationInfo* 
+                                                               aLocationInfo,
+                                                               TTestType 
+                                                               aTestType )
+    {
+    INFO_PRINTF1(_L("CheckWcdmaCellConvertedInfoL()"));
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfoL( areaInfoArray,CLbsLocationInfo::ELbsWcdmaInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() NOT to return a value, got %d)"), count);   
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CTe_LocMonitorStepBase::CheckWlanConvertedInfoL
+// -----------------------------------------------------------------------------
+//
+void CTe_LocMonitorStepBase::CheckWlanConvertedInfoL( CLbsLocationInfo* 
+                                                          aLocationInfo,
+                                                          TTestType 
+                                                          aTestType )
+    {
+    INFO_PRINTF1(_L("CheckWlanConvertedInfoL()"));
+    RLbsAreaInfoBaseArray areaInfoArray;
+    aLocationInfo->GetAreaInfoL( areaInfoArray,CLbsLocationInfo::ELbsWlanInfo );
+    TInt count = areaInfoArray.Count();
+    areaInfoArray.ResetAndDestroy();
+    if( aTestType == EPositive )
+        {
+        if( !count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    else 
+        {
+        if( count )
+            {
+            INFO_PRINTF2(_L("Expected areaInfoArray.Count() NOT to return a value, got %d)"), count);
+            User::Leave( KErrArgument );
+            }
+        }
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/src/te_geolocmonitorsuiteserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "lbsdevloggermacros.h"
+
+#include "te_geolocmonitorsuiteserver.h"
+#include "te_geolocmonitorstep1.h"
+#include "te_geolocmonitorstep2.h"
+#include "te_geolocmonitorstep3.h"
+#include "te_geolocmonitorstep4.h"
+#include "te_geolocmonitorstep5.h"
+#include "te_geolocmonitorstep6.h"
+#include "te_geolocmonitorstep7.h"
+
+
+_LIT(KServerName,"te_geolocmonitorsuite");
+
+CTe_GeoLocMonitorSuite* CTe_GeoLocMonitorSuite::NewL()
+	{
+	CTe_GeoLocMonitorSuite * server = new (ELeave) CTe_GeoLocMonitorSuite();
+	CleanupStack::PushL(server);
+
+	server->ConstructL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+void CTe_GeoLocMonitorSuite::ConstructL(const TDesC& aName)
+	{
+	CTestServer::ConstructL(aName);
+	}
+
+CTe_GeoLocMonitorSuite::~CTe_GeoLocMonitorSuite()
+	{
+	}
+
+LOCAL_C void MainL()
+	{
+	// Leave the hooks in for platform security
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().DataCaging(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CTe_GeoLocMonitorSuite* server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CTe_GeoLocMonitorSuite::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	LBSLOG_BEGIN();
+	LBSLOG(ELogP3, "te_geolocmonitorsuite Start()\n");
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return err;
+    }
+
+CTestStep* CTe_GeoLocMonitorSuite::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Secure and non-secure variants
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep* testStep = NULL;
+	if(aStepName == KLocMonitorStep1)
+	            testStep = new CTe_LocMonitorStep1();
+	else if(aStepName == KLocMonitorStep2)
+	            testStep = new CTe_LocMonitorStep2();
+	else if(aStepName == KLocMonitorStep3)
+	            testStep = new CTe_LocMonitorStep3();
+	else if(aStepName == KLocMonitorStep4)
+	            testStep = new CTe_LocMonitorStep4();
+	else if(aStepName == KLocMonitorStep5)
+	            testStep = new CTe_LocMonitorStep5();
+	else if(aStepName == KLocMonitorStep6)
+	            testStep = new CTe_LocMonitorStep6();
+	else if(aStepName == KLocMonitorStep7)
+	            testStep = new CTe_LocMonitorStep7();
+
+
+	return testStep;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/lbsgeolocmonunitconfig.txt	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,51 @@
+// lbslocmonunitconfig.txt
+//
+// Copyright (c) 2009 Symbian Software Ltd.  All rights reserved.
+//
+// sim.tsy config used for simulating only the network registration
+// status
+//
+//! This config is used for all last known pos area tests that require only one cellid
+// Original file name: lbsgeolocmonunitconfig.txt
+
+[TEST0]
+#single
+# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
+PhoneId =    Generic,       123,    1.1,        1234567890
+
+#single
+#SubscriberId = <Id>, <err>
+SubscriberId = 56789012345678
+
+# multiple
+# Current Network Name
+# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName> , <NetworkAccess> "
+NetworkInfo = 0,              0,          Unknown,      UnKn,               Unknown_Network,    0
+NetworkInfo = 234,            15,         Vodafone,     Voda,               Vodafone_UK,        0
+
+# multiple
+# <NetworkIndex> is one of above
+# RegStatus = <Duration>, <RegStatus>, <NetworkIndex>
+RegStatus =    5000,       5,           0
+RegStatus =    5000,       5,           1
+
+# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true and 0 for false?! 
+LocationArea =    0,           0,                 0
+LocationArea =    -1,          1911,              36464
+
+
+# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
+ONStore=    5,                       50,                             60
+# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>,<name>
+ONStoreEntry =   1,       447511699393,       2,                           0,                            8,       OwnNumber1
+
+
+# <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
+# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
+# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
+# for getting CellId by our code. We use LocationArea records and GetCurrentNetwork/NotifyCurrentNetworkChange instead.
+# <CellInfoStatus> - The status of cell info. Look at TCellInfoStatus for the list of values.
+# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance>, <CellInfoStatus> .
+CellInfo =    0,         2,             0,        0,               2
+CellInfo =    0,         2,             0,        0,               2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/lbsgeolocmonunitconfigbad.txt	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,47 @@
+// config.txt
+//
+// Copyright (c) 2006 Symbian Software Ltd.  All rights reserved.
+//
+// sim.tsy config used for simulating unavailability of LAC
+// for negative unit test of Location Monitor
+//
+
+[TEST0]
+# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
+PhoneId = Generic, 123, 1.1, 1234567890
+
+#SubscriberId=  = <Id>, <err>
+SubscriberId= 56789012345678
+
+# Current Network Name
+# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName>, <NetworkAccess>, <NetworkMode>
+# <NetworkMode> is a network mode. GSM - 2, Unregistered - 1, WCDMA - 6
+NetworkInfo= 123, 456, Vodafone, Voda, Vodafone_UK, 0, 2
+
+# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true #and 0 for false. 
+#LocationArea= 1, 1, 1
+
+# RegStatus = <Timeout>, <RegStatus>, <RecordIndex> . 
+# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown. 
+# <RegStatus> - A registration status. Look at TMobilePhoneRegistrationStatus for the list of values.
+# <RecordIndex> is an index of (NetworkInfo+LocationArea) array. It starts from 0.
+
+# Initial status. Wait for 15 sec here to allow the test to startup. 
+RegStatus= 15,5,0
+
+
+
+# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance> .
+# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
+# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
+# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
+# for getting CellId by our code. We use LocationArea records an GetCurrentNetwork/NotifyCurrentNetworkChange instead.
+# Test 0
+CellInfo= 23,2,0,0
+
+
+# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
+ONStore= 5, 50, 60
+# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>, <name>
+ONStoreEntry= 1, 07747012341, 2, 0, 8, OwnNumber1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_geolocmonitorsuite/testdata/te_geolocmonitorsuite.ini	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,260 @@
+
+[VALIDATEGSMCELLINFO1]
+// comment here please!		
+MCC = 0
+MNC = 0 
+LAC = 0 
+CID = 0 
+TA  = 0
+EXPECTEDERROR = 0
+
+[VALIDATEGSMCELLINFO2]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 1 
+TA  = 1
+EXPECTEDERROR = 0
+
+[VALIDATEGSMCELLINFO3]
+MCC = 1 
+MNC = -1 
+LAC = -1 
+CID = -1 
+TA  = -1
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO4]
+MCC = 1 
+MNC = 1 
+LAC = -1 
+CID = -1 
+TA  = -1
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO5]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = -1 
+TA  = -1
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO6]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 1 
+TA  = -1
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO7]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 1 
+TA  = 1
+
+[VALIDATEGSMCELLINFO8]
+MCC = 0 
+MNC = 0 
+LAC = 0 
+CID = 0 
+TA  = 1
+
+[VALIDATEGSMCELLINFO9]
+MCC = 0 
+MNC = 0 
+LAC = 0 
+CID = 1 
+TA  = 1
+
+[VALIDATEGSMCELLINFO10]
+MCC = 0 
+MNC = 0 
+LAC = 1 
+CID = 1 
+TA  = 1
+
+[VALIDATEGSMCELLINFO11]
+MCC = 0 
+MNC = 1 
+LAC = 1 
+CID = 1 
+TA  = 1
+
+
+[VALIDATEGSMCELLINFO12]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 1 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO13]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 65538 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO13]
+MCC = 1 
+MNC = 1 
+LAC = 1 
+CID = 65538 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO14]
+MCC = 1 
+MNC = 1 
+LAC = 65539
+CID = 65538 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO15]
+MCC = 1 
+MNC = 1000
+LAC = 65539
+CID = 65538 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEGSMCELLINFO16]
+MCC = 1000 
+MNC = 1000 
+LAC = 65539 
+CID = 65538 
+TA  = 2000
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO1]
+MCC		= 0
+MNC		= 0
+UCID	= 0
+SC		= 0
+
+[VALIDATEWCDMACELLINFO2]
+MCC		= 1
+MNC		= 1
+UCID	= 1
+SC		= 1
+
+[VALIDATEWCDMACELLINFO3]
+MCC		= 1
+MNC		= -1
+UCID	= -1
+SC		= -1
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO4]
+MCC		= 1
+MNC		= 1
+UCID	= -1
+SC		= -1
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO5]
+MCC		= 1
+MNC		= 1
+UCID	= 1
+SC		= -1
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO6]
+MCC		= 1
+MNC		= 1
+UCID	= 1
+SC		= 1
+
+[VALIDATEWCDMACELLINFO7]
+MCC		= 0
+MNC		= 0
+UCID	= 0
+SC		= 1
+
+[VALIDATEWCDMACELLINFO8]
+MCC		= 0
+MNC		= 0
+UCID	= 1
+SC		= 1
+
+
+[VALIDATEWCDMACELLINFO9]
+MCC		= 0
+MNC		= 1
+UCID	= 1
+SC		= 1
+
+[VALIDATEWCDMACELLINFO10]
+MCC		= 1
+MNC		= 1
+UCID	= 1
+SC		= 2000
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO11]
+MCC		= 1
+MNC		= 1
+UCID	= 268435457
+SC		= 2000
+EXPECTEDERROR = -6
+
+[VALIDATEWCDMACELLINFO12]
+MCC		= 1000
+MNC		= 1000
+UCID	= 268435457
+SC		= 2000
+EXPECTEDERROR = -6
+
+[CREATEGSMCELL]
+PROCEDURE =  1
+
+[SETTATOGSMCELL]
+PROCEDURE =  2
+
+[SETNCELLTOGSMCELL]
+PROCEDURE =  3
+
+[VALIDATEGSMCELLHIERARCHY]
+PROCEDURE =  4
+
+[CREATEWCDMACELL]
+PROCEDURE =  5
+
+[SETSCTOWCDMACELL]
+PROCEDURE =  6
+
+[SETNCELLTOWCDMACELL]
+PROCEDURE =  7
+
+[VALIDATEWCDMACELLHIERARCHY]
+PROCEDURE =  8
+
+[CREATECOORDINFO]
+PROCEDURE =  9
+
+[VALIDATECOORDINFO]
+PROCEDURE =  10
+
+[CREATEWLANINFO]
+PROCEDURE = 11
+
+[VALIDATEWLANINFO]
+PROCEDURE =  12
+
+[ADDCOORDINFOTOLOCINFO]
+PROCEDURE =  13
+
+[ADDGSMINFOTOLOCINFO]
+PROCEDURE =  14
+
+[ADDWCDMAINFOTOLOCINFO]
+PROCEDURE =  15
+
+[ADDWLANINFOTOLOCINFO]
+PROCEDURE =  16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+
+PRJ_TESTEXPORTS
+../scripts/te_LbsLocationInfoConverterSuite.script /epoc32/winscw/c/testdata/scripts/te_lbslocationinfoconvertersuite.script
+../scripts/LbsLocationInfoConverter.ini /epoc32/winscw/c/testdata/configs/lbslocationinfoconverter.ini
+
+//./te_lbslocationmonitordb.iby   /epoc32/rom/include/te_lbslocationmonitordb.iby
+
+PRJ_TESTMMPFILES
+te_lbslocationinfoconverter.mmp
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/te_lbslocationinfoconverter.iby	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_TELOCATIONMONITOR_IBY__
+#define __LBS_TELOCATIONMONITOR_IBY__
+
+#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+#include <testexecute.iby>
+
+file=ABI_DIR\DEBUG_DIR\te_lbslocationmonitordb.exe		sys\bin\te_lbslocationmonitordb.exe
+
+data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\te_LbsLocationMonitorDbSuite.script TestData\scripts\te_LbsLocationMonitorDbSuite.script
+
+#endif // SYMBIAN_EXCLUDE_LOCATION
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/group/te_lbslocationinfoconverter.mmp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+TARGET			te_lbslocationinfoconvertersuite.exe
+TARGETTYPE		exe
+
+CAPABILITY ALL -TCB
+
+UID				0x1000007A 0x102869E2
+
+VENDORID 0x70000001
+
+//MACRO ENABLE_LBS_DEV_LOGGER
+MACRO LBS_LOCMONITORDB_TEST
+
+SOURCEPATH		../src
+SOURCE			te_lbslocationinfoconvertersuiteserver.cpp
+SOURCE			te_lbslocationinfoconvertersuitestepbase.cpp
+SOURCE			step.cpp
+SOURCE			Te_locationinfoconversionobserver.cpp
+SOURCE			Te_locationresolverobserver.cpp
+
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../lbslocmonitorserver/inc
+USERINCLUDE   	../../../../locationcore/LbsPartnerCommon/inc
+
+LIBRARY			euser.lib
+LIBRARY			testexecuteutils.lib 
+LIBRARY			testexecutelogclient.lib 
+LIBRARY			efsrv.lib
+LIBRARY			lbs.lib
+
+LIBRARY			lbslocationinfodatatypes.lib 
+LIBRARY			lbslocationinfoconverter.lib 
+
+
+LIBRARY			lbspartnercommon.lib
+LIBRARY			lbsinternalapi.lib
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/Te_locationinfoconversionobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+#ifndef TE_LOCATIONINFOCONVERSIONOBSERVER_H
+#define TE_LOCATIONINFOCONVERSIONOBSERVER_H
+#include <lbs/lbslocationinfoconverter.h>
+  
+  
+  class CTelocationinfoconversionobserver: public CTimer, public MLbsLocationInfoConverterObserver
+    
+    {
+    
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CTelocationinfoconversionobserver* NewL( );
+
+        /**
+        * Destructor.
+        */
+        ~CTelocationinfoconversionobserver();
+        
+        
+        void OnConversionComplete( TInt aStatusCode );
+                       
+        void RunL( );
+        
+	    void DoCancel( );
+	    
+	    TInt ConversionResult();
+
+	//	  RTimer iTimer;
+        TRequestStatus iWaitStatus;
+        
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CTelocationinfoconversionobserver( );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+    private:
+        
+        TInt iStatusCode;
+        
+    };
+
+#endif      // TE_LOCATIONINFOCONVERSIONOBSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/Te_locationresolverobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+#ifndef TE_BASICLOCATIONINFOCONVERSIONOBSERVER_H
+#define TE_BASICLOCATIONINFOCONVERSIONOBSERVER_H
+#include <lbs/lbslocationresolver.h>
+  
+  
+  class CTeLocationResolverObserver: public CTimer, public MLbsLocationResolverObserver
+    
+    {
+    
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CTeLocationResolverObserver* NewL( );
+
+        /**
+        * Destructor.
+        */
+        ~CTeLocationResolverObserver();
+        
+        void OnResolveLocationComplete(TInt aStatus, const TLocality& aLocality);
+                       
+        void RunL( );
+        
+	    void DoCancel( );
+	    
+	    TInt ConversionResult();
+	    
+	    TInt ConversionLocality(TLocality& aLocality);
+
+
+	//	  RTimer iTimer;
+        TRequestStatus iWaitStatus;
+        
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CTeLocationResolverObserver( );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+    private:
+        
+        TInt iStatusCode;
+        TLocality iLocality;
+        TBool iFromCache;
+        
+    };
+
+#endif      // TE_LOCATIONINFOCONVERSIONOBSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/ctasyncwaiter.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 header file for CT_LbsAsyncWaiter 
+*
+*/
+
+/** 
+ @file
+ @internalTechnology
+ @test
+*/
+
+#ifndef __CT_ASYNC_WAITER_H__
+#define __CT_ASYNC_WAITER_H__
+
+//epoc includes
+#include <e32base.h>
+
+// Implements functions related to active objects
+class CT_AsyncWaiter : public CTimer
+	{
+public:
+	IMPORT_C static CT_AsyncWaiter* NewL();
+	~CT_AsyncWaiter();
+
+	IMPORT_C void StartAndWait();
+	IMPORT_C void StartAndWaitTimer(const TTimeIntervalMicroSeconds32& aTime);
+	IMPORT_C TInt Result() const;
+
+private:
+	CT_AsyncWaiter();
+	void ConstructL();
+	// from CActive
+	virtual void RunL();
+	virtual void DoCancel();
+
+private:
+	TInt iError;
+	};
+
+#endif // __CT_ASYNC_WAITER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/step.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __STEP_H__
+#define __STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationinfoconvertersuitestepbase.h"
+
+#include <lbs/lbslocationinfoconverter.h>
+#include <lbs/lbslocationresolver.h>
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <lbs/lbslocationclasstypes.h>
+#include <lbs/lbslocationcommon.h>
+#include <lbs/lbslocationposinfo.h>
+#include <lbs/lbslocationgsminfo.h>
+#include <lbs/lbslocationgsmneighbourinfo.h>
+#include <lbs/lbslocationinfo.h>
+#include <lbs/lbslocationwcdmainfo.h>
+#include <lbs/lbslocationwcdmaneighbourinfo.h>
+#include <lbs/lbslocationwlaninfo.h>
+#include <LbsPosition.h> 
+
+#include "Te_locationinfoconversionobserver.h"
+#include "Te_locationresolverobserver.h"
+
+class CStep : public CTe_LbsLocationInfoConverterSuiteStepBase
+	{
+public:
+	CStep();
+	~CStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+	
+    virtual void ConvertLocationInfoL(TInt conversionprefs=0, TInt requestedinfo=0, TInt fntype=0);
+    virtual void ConvertLocationInfo2L(TInt conversionprefs=0, TInt requestedinfo=0, TInt fntype=0);
+
+    virtual TInt CreateLocationInfoConverterL();
+//    virtual TInt SetCoordinateInfoL( CStifItemParser& aItem );
+    
+    virtual void SetGSMCellInfoL( TInt fntype=1, TInt countrycode=-2, TInt networkcode=-2, 
+            TInt locationcode=-2, TInt cellid=-2, TInt timingadvance=-2, TInt Rxlev=-2, TInt nNeignbourcells=0, 
+            TInt arfcn=-2, TInt bsic=-2, TInt NRxlev=-2);
+    virtual TInt SetGSMCellInfo2L( TInt fntype=1, TInt countrycode=-2, TInt networkcode=-2, 
+            TInt locationcode=-2, TInt cellid=-2, TInt timingadvance=-2, TInt Rxlev=-2, TInt nNeignbourcells=0, 
+            TInt arfcn=-2, TInt bsic=-2, TInt NRxlev=-2);
+    virtual TInt SetWCDMACellInfoL(TInt fntype, TInt countrycode=-2,
+            TInt networkcode=-2, TInt cellid=-2, TInt nNeignbourcells=0, TInt scramblingcode=-2, 
+            TInt neighbourucid=-2, TInt neighbourscode=-2, TInt neighbourpathloss=-2, 
+            TInt neighboursignalstrength=-2);
+    virtual TInt SetWLanInfoL(TInt fntype=1, TInt macidint=-2,  TInt signalstrength=-2);
+    virtual void AddLocationInfoL();
+    virtual void AddLocationInfo2L();
+    
+    virtual TInt ValidateLocationInfo(TInt requestedinfo=1);
+    virtual TInt ValidateLocationInfo2(TInt requestedinfo=1);
+    virtual TInt MiscL(TInt testcase);
+    virtual TInt SetConversionPrefs(TLbsConversionPrefs aSetConversionPrefs=0);
+    virtual TInt GetAndCheckConversionPrefs(TLbsConversionPrefs aSetConversionPrefs=0);
+    virtual TInt Cleanup();
+    
+private:
+    TInt iApiId;
+    TInt iPluginUid;
+    CLbsLocationResolver* iLbsLocationResolver;
+    CLbsLocationResolver* iLbsLocationResolver2;
+    CLbsLocationInfoConverter* iLbsLocationInfoConverter;
+    CLbsLocationInfo* iLbsLocationInfo;
+    CTeLocationResolverObserver* iResolverObserver;
+    CTeLocationResolverObserver* iResolverObserver2;
+    CTelocationinfoconversionobserver* iObserver;
+    RLbsLocationInfoBaseArray iLbsLocationInfoArray;
+    RLbsLocationInfoBaseArray iLbsLocationInfoArrayTemp;
+    
+    // for testing multipls conversions
+    CTelocationinfoconversionobserver* iObserver2;
+    CLbsLocationInfoConverter* iLbsLocationInfoConverter2;
+    CLbsLocationInfo* iLbsLocationInfo2;
+    
+    RLbsLocationInfoBaseArray iLbsLocationInfoArray2;
+    RLbsLocationInfoBaseArray iLbsLocationInfoArrayTemp2;
+	
+private:
+	void CallL(TInt aId);
+    void test_2698_4_1_1_1L();
+    void test_2698_4_1_1_3L();
+    void test_2698_4_1_1_4L();
+    void test_2698_4_1_1_5L();
+    void test_2698_4_1_1_6L();
+    void test_2698_4_1_1_7L();
+    void test_2698_4_1_1_8L();
+    void test_2698_4_1_1_9L();
+    void test_2698_4_1_1_10L();
+    void test_2698_4_1_1_11L();
+    void test_2698_4_1_1_12L();
+    void test_2698_4_1_1_13L();
+    void test_2698_4_1_2L();
+    void test_2698_4_1_3L();
+    void test_2698_4_1_4L();
+    void test_2698_4_1_5L();
+    void test_2698_4_1_6L();
+    void test_2698_4_1_7L();
+    void test_2698_4_1_8L();
+    void test_2698_4_1_9L();
+    void test_2698_4_1_10L();
+    void test_2698_4_1_11L();
+    void test_2698_4_1_12L();
+    void test_2698_4_1_13L();
+    void test_2698_4_1_14L();
+    void test_2698_4_1_15L();
+    void test_2698_4_1_16L();
+    void test_2698_4_1_17L();
+    void test_2698_4_1_18L();
+    void test_2698_4_1_19L();
+    void test_2698_4_1_20L();
+    void test_2698_4_1_21L();
+    void test_2698_4_1_22L();
+    void test_2698_4_1_23L();
+    void test_2698_4_1_24L();
+    void test_2698_4_1_25L();
+    void test_2698_4_1_26L();
+    void test_2698_4_1_27L();
+    void test_2698_4_1_28_1L();
+    void test_2698_4_1_28_1_3L();
+    void test_2698_4_1_28_1_4L();
+    void test_2698_4_1_28_1_5L();
+    void test_2698_4_1_28_1_6L();
+    void test_2698_4_1_28_1_7L();
+    void test_2698_4_1_28_1_8L();
+    void test_2698_4_1_28_1_9L();
+    void test_2698_4_1_28_1_10L();
+    void test_2698_4_1_28_2L();
+    void test_2698_4_1_29L();
+    void test_2698_4_1_30L();
+    void test_2698_4_1_31L();
+    void test_2698_4_1_32L();
+    void test_2698_4_1_33L();
+    void test_2698_4_1_34L();
+    void test_2698_4_1_35L();
+    void test_2698_4_1_36L();
+    void test_2698_4_1_37L();
+    void test_2698_4_1_38L();
+    void test_2698_4_1_39L();
+    void test_2698_4_1_40L();
+    void test_2698_4_1_41L();
+    void test_2698_4_1_42L();
+    void test_2698_4_1_43L();
+    void test_2698_4_1_44L();
+    void test_2698_4_1_45L();
+    void test_2698_4_1_46L();
+    void test_2698_4_1_47_1L();
+    void test_2698_4_1_47_2L();
+    void test_2698_4_1_47_3L();
+    void test_2698_4_1_49_1L();
+    void test_2698_4_1_49_2L();
+    void test_2698_4_1_51L();
+    void test_2698_4_1_52L();
+    void test_2698_4_1_53L();
+    void test_2698_4_2_1L();
+    void test_2698_4_2_2L();
+    void test_2698_4_2_3L();
+    void test_2698_4_2_4L();
+    void test_2698_4_2_5L();
+    void test_2698_4_2_6L();
+    void test_2698_4_2_7L();
+    void test_2698_4_2_8L();
+    void test_2698_4_2_9L();
+    void test_2698_4_2_10L();
+    void test_2698_4_2_11L();
+    void test_2698_4_2_12L();
+    void test_2698_4_2_13L();
+    void test_2698_4_2_14L();
+    void test_2698_4_2_15L();
+    void test_2698_4_2_16L();
+    void test_2698_4_2_17L();
+    void test_2698_4_2_18L();
+    void test_2698_4_2_19L();
+    void test_2698_4_2_20L();
+    void test_2698_4_2_21L();
+    void test_2698_4_2_22L();
+    void test_2698_4_3_1_1L();
+    void test_2698_4_3_2_1L();
+    void test_2698_4_3_2_2L();
+    void test_2698_4_3_4L();
+    void test_2698_4_3_5L();
+    void test_2698_4_3_6L();
+    void test_2698_4_3_7L();
+    void test_2698_4_3_8L();
+    void test_2698_4_3_9L();
+    void test_2698_4_3_10L();
+    void test_2698_4_4_1L();
+    void test_2698_4_4_2L();
+    void test_2698_4_4_3L();
+    void test_2698_4_4_4L();
+    void test_2698_4_5_1L();
+    void test_2698_4_5_2L();
+    void test_2698_5_1_1L();
+    void test_2698_5_1_2L();
+    void test_2698_5_1_3L();
+    void test_2698_5_1_4L();
+    void test_2698_5_1_5L();
+    void test_2698_5_1_6L();
+    void test_2698_5_1_7L();
+    void test_2698_5_1_8L();
+    void test_2698_5_1_9L();
+    void test_2698_5_1_10L();
+    void test_2698_5_1_11L();
+    void test_2698_5_1_12L();
+    void test_2698_5_1_13L();
+    void test_2698_5_1_14L();
+    void test_2698_5_1_15L();
+    void test_2698_5_1_16L();
+    void test_2698_5_1_17L();
+    void test_2698_5_1_18L();
+    void test_2698_5_1_19L();
+    void test_2698_5_1_20L();
+    void test_2698_5_1_21L();
+    void test_2698_5_1_22L();
+    void test_2698_5_1_23L();
+    void test_2698_5_1_24L();
+    void test_2698_5_1_25L();
+    void test_2698_5_1_26L();
+    void test_2698_5_1_27L();
+    void test_2698_5_2_1L();
+    void test_2698_5_2_2L();
+    void test_2698_5_2_3L();
+    void test_2698_5_2_4L();
+    void test_2698_5_2_5L();
+    void test_2698_5_2_6L();
+    void test_2698_5_3_1L();
+    void test_2698_5_3_2L();
+    void test_2698_5_3_3L();
+    void test_2698_5_3_4L();
+    void test_2698_5_4_1L();
+    void test_MultipleSessionsOneAfterAnotherL();
+    void test_MultipleCoversionsAtSameTimeL();
+    void test_MultipleResolversAtSameTimeL();
+    void test_SetAndGetConversionPrefs();
+    void test_2698_5_4_2L();
+    void test_cacheL();
+    void test_cache2L();
+    void test_cache3L();
+	};
+
+_LIT(KStep,"Step");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuitedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,36 @@
+/*
+* 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:
+*
+*/
+ 
+#ifndef __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
+#define __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
+
+#include <test/TestExecuteStepBase.h>
+
+// For Backward Compatibility test
+_LIT(KTe_BoolNeedResetFromDefault, "resetall");
+// For test step panics
+_LIT(KTe_LbsLocationMonitorSuitePanic, "Te_LbsLocationMonitorSuite");
+
+_LIT(KErrorCreateTELBSLocationMonitorTestStep, "The test step can not be created: %d");
+_LIT(ErrorUnexpected, "<b>Unexpected error returned:</b>%d");
+
+_LIT(KErrorCheckRunBeforeLeaving, "ErrorCheck run before leaving");
+_LIT(KErrorBackwardCompatibilityNotRespected, "<font color=FF0000><b>The backward compatibility is not respected anymore</b></font>");
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuiteserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef __TE_LBSLOCATIONMONITOR_SERVER_H__
+#define __TE_LBSLOCATIONMONITOR_SERVER_H__
+#include <test/testexecuteserverbase.h>
+
+
+class CTe_LbsLocationMonitorSuite : public CTestServer
+	{
+public:
+	static CTe_LbsLocationMonitorSuite* NewL();
+	// Base class pure virtual override
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+	IMPORT_C virtual void ConstructL(const TDesC& aName);
+	~CTe_LbsLocationMonitorSuite();
+	
+private:
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/inc/te_lbslocationinfoconvertersuitestepbase.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* 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:
+*
+*/
+
+
+#ifndef __TE_LBSLOCATIONMONITOR_STEP_BASE__
+#define __TE_LBSLOCATIONMONITOR_STEP_BASE__
+#include <test/TestExecuteStepBase.h>
+#include <lbs.h>
+#include "ctasyncwaiter.h"
+
+
+
+// Please add your include here if you have 
+
+/****************************************************************************
+* The reason to have a new step base is that it is very much possible
+* that the all individual test steps have project related common variables 
+* and members 
+* and this is the place to define these common variable and members.
+* 
+****************************************************************************/
+class CTe_LbsLocationInfoConverterSuiteStepBase : public CTestStep
+	{
+
+public:
+	virtual ~CTe_LbsLocationInfoConverterSuiteStepBase();
+	CTe_LbsLocationInfoConverterSuiteStepBase();
+	virtual TVerdict doTestStepPreambleL(); 
+	virtual TVerdict doTestStepPostambleL();
+	TInt GetTestCaseId();
+	TInt GetTestCaseApi();
+	TInt GetPluginUid();
+protected:
+	void InitWaitersL();
+	void DeleteWaiters();
+
+protected:
+	CActiveScheduler* iScheduler;
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/scripts/LbsLocationInfoConverter.ini	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,1388 @@
+[MultipleSessions-1]
+tc_id=151
+plugin_uid = 537007117
+
+[MultipleSessions-2]
+tc_id=152
+plugin_uid = 537007117
+
+[MultipleSessions-3]
+tc_id=153
+plugin_uid = 537007117
+
+[Cache-Test-1]
+tc_id=156
+plugin_uid = 537007117
+
+[Cache-Test-2]
+tc_id=157
+plugin_uid = 537007117
+
+[Cache-Test-3]
+tc_id=158
+plugin_uid = 537007117
+
+[GetAllLocationInfo]
+tc_id=0
+
+[2698-4-1-1-1]
+tc_id=1
+plugin_uid = 537007117
+
+[2698-4-2-1-1]
+tc_id=1
+plugin_uid = 0
+
+[2698-4-1-1-3]
+tc_id=2
+plugin_uid = 537007117
+
+[2698-4-2-1-3]
+tc_id=2
+plugin_uid = 0
+
+[2698-4-1-1-4]
+tc_id=3
+plugin_uid = 537007117
+
+[2698-4-1-1-5]
+tc_id=4
+plugin_uid = 537007117
+
+[2698-4-1-1-6]
+tc_id=5
+plugin_uid = 537007117
+
+[2698-4-1-1-7]
+tc_id=6
+plugin_uid = 537007117
+
+[2698-4-1-1-8]
+tc_id=7
+plugin_uid = 537007117
+
+[2698-4-2-1-8]
+tc_id=7
+plugin_uid = 0
+
+[2698-4-1-1-9]
+tc_id=8
+plugin_uid = 537007117
+
+
+[2698-4-2-1-9]
+tc_id=8
+plugin_uid = 0
+
+[2698-4-1-1-10]
+tc_id=9
+plugin_uid = 537007117
+
+[2698-4-1-1-11]
+tc_id=10
+plugin_uid = 537007117
+
+[2698-4-1-1-12]
+tc_id=11
+plugin_uid = 537007117
+
+[2698-4-1-1-13]
+tc_id=12
+plugin_uid = 537007117
+
+[2698-4-1-2]
+tc_id=13
+plugin_uid = 537007117
+
+[2698-4-11-2]
+tc_id=13
+plugin_uid = 0
+
+[2698-4-1-3]
+tc_id=14
+plugin_uid = 537007117
+
+[2698-4-1-4]
+tc_id=15
+plugin_uid = 537007117
+
+[2698-4-1-5]
+tc_id=16
+plugin_uid = 537007117
+
+[2698-4-1-6]
+tc_id=17
+plugin_uid = 537007117
+
+[2698-4-1-7]
+tc_id=18
+plugin_uid = 537007117
+
+[2698-4-1-8]
+tc_id=19
+plugin_uid = 537007117
+
+[2698-4-1-9]
+tc_id=20
+plugin_uid = 537007117
+
+[2698-4-1-10]
+tc_id=21
+plugin_uid = 537007117
+
+[2698-4-1-11]
+tc_id=22
+plugin_uid = 537007117
+
+[2698-4-1-12]
+tc_id=23
+plugin_uid = 537007117
+
+[2698-4-1-13]
+tc_id=24
+plugin_uid = 537007117
+
+[2698-4-1-14]
+tc_id=25
+plugin_uid = 537007117
+
+[2698-4-1-15]
+tc_id=26
+plugin_uid = 537007117
+
+[2698-4-1-16]
+tc_id=27
+plugin_uid = 537007117
+
+[2698-4-1-17]
+tc_id=28
+plugin_uid = 537007117
+
+[2698-4-1-18]
+tc_id=29
+plugin_uid = 537007117
+
+[2698-4-1-19]
+tc_id=30
+plugin_uid = 537007117
+
+[2698-4-1-20]
+tc_id=31
+plugin_uid = 537007117
+
+[2698-4-1-21]
+tc_id=32
+plugin_uid = 537007117
+
+[2698-4-1-22]
+tc_id=33
+plugin_uid = 537007117
+
+[2698-4-1-23]
+tc_id=34
+plugin_uid = 537007117
+
+[2698-4-1-24]
+tc_id=35
+plugin_uid = 537007117
+
+[2698-4-1-25]
+tc_id=36
+plugin_uid = 537007117
+
+[2698-4-1-26]
+tc_id=37
+plugin_uid = 537007117
+
+[2698-4-1-27]
+tc_id=38
+plugin_uid = 537007117
+
+[2698-4-1-28-1]
+tc_id=39
+plugin_uid = 537007117
+
+[2698-4-1-28-1-3]
+tc_id=40
+plugin_uid = 537007117
+
+[2698-4-1-28-1-4]
+tc_id=41
+plugin_uid = 537007117
+
+[2698-4-1-28-1-5]
+tc_id=42
+plugin_uid = 537007117
+
+[2698-4-1-28-1-6]
+tc_id=43
+plugin_uid = 537007117
+
+[2698-4-1-28-1-7]
+tc_id=44
+plugin_uid = 537007117
+
+[2698-4-1-28-1-8]
+tc_id=45
+plugin_uid = 537007117
+
+[2698-4-1-28-1-9]
+tc_id=46
+plugin_uid = 537007117
+
+[2698-4-1-28-1-10]
+tc_id=47
+plugin_uid = 537007117
+
+[2698-4-1-28-2]
+tc_id=48
+plugin_uid = 537007117
+
+[2698-4-11-28-2]
+tc_id=48
+plugin_uid = 0
+
+[2698-4-1-29]
+tc_id=49
+plugin_uid = 537007117
+
+[2698-4-1-30]
+tc_id=50
+plugin_uid = 537007117
+
+[2698-4-1-31]
+tc_id=51
+plugin_uid = 537007117
+
+[2698-4-1-32]
+tc_id=52
+plugin_uid = 537007117
+
+[2698-4-1-33]
+tc_id=53
+plugin_uid = 537007117
+
+[2698-4-1-34]
+tc_id=54
+plugin_uid = 537007117
+
+[2698-4-1-35]
+tc_id=55
+plugin_uid = 537007117
+
+[2698-4-1-36]
+tc_id=56
+plugin_uid = 537007117
+
+[2698-4-1-37]
+tc_id=57
+plugin_uid = 537007117
+
+[2698-4-1-38]
+tc_id=58
+plugin_uid = 537007117
+
+[2698-4-1-39]
+tc_id=59
+plugin_uid = 537007117
+
+[2698-4-1-40]
+tc_id=60
+plugin_uid = 537007117
+
+[2698-4-1-41]
+tc_id=61
+plugin_uid = 537007117
+
+[2698-4-1-42]
+tc_id=62
+plugin_uid = 537007117
+
+[2698-4-1-43]
+tc_id=63
+plugin_uid = 537007117
+
+[2698-4-1-44]
+tc_id=64
+plugin_uid = 537007117
+
+[2698-4-1-45]
+tc_id=65
+plugin_uid = 537007117
+
+[2698-4-1-46]
+tc_id=66
+plugin_uid = 537007117
+
+[2698-4-1-47-1]
+tc_id=67
+plugin_uid = 537007117
+
+[2698-4-1-47-2]
+tc_id=68
+plugin_uid = 537007117
+
+[2698-4-1-47-3]
+tc_id=69
+plugin_uid = 537007117
+
+[2698-4-1-49-1]
+tc_id=70
+plugin_uid = 537007117
+
+[2698-4-1-49-2]
+tc_id=71
+plugin_uid = 537007117
+
+[2698-4-1-51]
+tc_id=72
+plugin_uid = 537007117
+
+[2698-4-1-52]
+tc_id=73
+plugin_uid = 537007117
+
+[2698-4-1-53]
+tc_id=74
+plugin_uid = 537007117
+
+[2698-4-2-1]
+tc_id=75
+plugin_uid = 537007117
+
+[2698-4-2-2]
+tc_id=76
+plugin_uid = 537007117
+
+[2698-4-2-3]
+tc_id=77
+plugin_uid = 537007117
+
+[2698-4-2-4]
+tc_id=78
+plugin_uid = 537007117
+
+[2698-4-2-5]
+tc_id=79
+plugin_uid = 537007117
+
+[2698-4-2-6]
+tc_id=80
+plugin_uid = 537007117
+
+[2698-4-2-7]
+tc_id=81
+plugin_uid = 537007117
+
+[2698-4-2-8]
+tc_id=82
+plugin_uid = 537007117
+
+[2698-4-2-9]
+tc_id=83
+plugin_uid = 537007117
+
+[2698-4-2-10]
+tc_id=84
+plugin_uid = 537007117
+
+[2698-4-2-11]
+tc_id=85
+plugin_uid = 537007117
+
+[2698-4-2-12]
+tc_id=86
+plugin_uid = 537007117
+
+[2698-4-2-13]
+tc_id=87
+plugin_uid = 537007117
+
+[2698-4-2-14]
+tc_id=88
+plugin_uid = 537007117
+
+[2698-4-2-15]
+tc_id=89
+plugin_uid = 537007117
+
+[2698-4-2-16]
+tc_id=90
+plugin_uid = 537007117
+
+[2698-4-2-17]
+tc_id=91
+plugin_uid = 537007117
+
+[2698-4-2-18]
+tc_id=92
+plugin_uid = 537007117
+
+[2698-4-2-19]
+tc_id=93
+plugin_uid = 537007117
+
+[2698-4-2-20]
+tc_id=94
+plugin_uid = 537007117
+
+[2698-4-2-21]
+tc_id=95
+plugin_uid = 537007117
+
+[2698-4-2-22]
+tc_id=96
+plugin_uid = 537007117
+
+[2698-4-3-1-1]
+tc_id=97
+plugin_uid = 537007117
+
+
+[2698-4-3-2-1]
+tc_id=98
+plugin_uid = 537007117
+
+
+[2698-4-3-2-2]
+tc_id=99
+plugin_uid = 537007117
+
+[2698-4-3-4]
+tc_id=100
+plugin_uid = 537007117
+
+[2698-4-3-5]
+tc_id=101
+plugin_uid = 537007117
+
+
+[2698-4-3-6]
+tc_id=102
+plugin_uid = 537007117
+
+
+[2698-4-3-7]
+tc_id=103
+plugin_uid = 537007117
+
+[2698-4-3-8]
+tc_id=104
+plugin_uid = 537007117
+
+[2698-4-3-9]
+tc_id=105
+plugin_uid = 537007117
+
+[2698-4-3-10]
+tc_id=106
+plugin_uid = 537007117
+
+[2698-4-4-1]
+tc_id=107
+plugin_uid = 537007117
+
+[2698-4-4-2]
+tc_id=108
+plugin_uid = 537007117
+
+[2698-4-4-3]
+tc_id=109
+plugin_uid = 537007117
+
+[2698-4-4-4]
+tc_id=110
+plugin_uid = 537007117
+
+[2698-4-5-1]
+tc_id=111
+plugin_uid = 537007117
+
+[2698-4-5-2]
+tc_id=112
+plugin_uid = 537007117
+
+[2698-5-1-1]
+tc_id=113
+plugin_uid = 537007117
+
+[2698-5-1-2]
+tc_id=114
+plugin_uid = 537007117
+
+[2698-5-1-3]
+tc_id=115
+plugin_uid = 537007117
+
+[2698-5-1-4]
+tc_id=116
+plugin_uid = 537007117
+
+[2698-5-1-5]
+tc_id=117
+plugin_uid = 537007117
+
+[2698-5-1-6]
+tc_id=118
+plugin_uid = 537007117
+
+[2698-5-1-7]
+tc_id=119
+plugin_uid = 537007117
+
+[2698-5-1-8]
+tc_id=120
+plugin_uid = 537007117
+
+[2698-5-1-9]
+tc_id=121
+plugin_uid = 537007117
+
+[2698-5-1-10]
+tc_id=122
+plugin_uid = 537007117
+
+[2698-5-1-11]
+tc_id=123
+plugin_uid = 537007117
+
+
+[2698-5-1-12]
+tc_id=124
+plugin_uid = 537007117
+
+[2698-5-1-13]
+tc_id=125
+plugin_uid = 537007117
+
+[2698-5-1-14]
+tc_id=126
+plugin_uid = 537007117
+
+[2698-5-1-15]
+tc_id=127
+plugin_uid = 537007117
+
+[2698-5-1-16]
+tc_id=128
+plugin_uid = 537007117
+
+[2698-5-1-17]
+tc_id=129
+plugin_uid = 537007117
+
+[2698-5-1-18]
+tc_id=130
+plugin_uid = 537007117
+
+[2698-5-1-19]
+tc_id=131
+plugin_uid = 537007117
+
+[2698-5-1-20]
+tc_id=132
+plugin_uid = 537007117
+
+[2698-5-1-21]
+tc_id=133
+plugin_uid = 537007117
+
+[2698-5-1-22]
+tc_id=134
+plugin_uid = 537007117
+
+[2698-5-1-23]
+tc_id=135
+plugin_uid = 537007117
+
+[2698-5-1-24]
+tc_id=136
+plugin_uid = 537007117
+
+[2698-5-1-25]
+tc_id=137
+plugin_uid = 537007117
+
+[2698-5-1-26]
+tc_id=138
+plugin_uid = 537007117
+
+[2698-5-1-27]
+tc_id=139
+plugin_uid = 537007117
+
+[2698-5-2-1]
+tc_id=140
+plugin_uid = 537007117
+
+[2698-5-2-2]
+tc_id=141
+plugin_uid = 537007117
+
+[2698-5-2-3]
+tc_id=142
+plugin_uid = 537007117
+
+[2698-5-2-4]
+tc_id=143
+plugin_uid = 537007117
+
+[2698-5-2-5]
+tc_id=144
+plugin_uid = 537007117
+
+[2698-5-2-6]
+tc_id=145
+plugin_uid = 537007117
+
+[2698-5-3-1]
+tc_id=146
+plugin_uid = 537007117
+
+[2698-5-3-2]
+tc_id=147
+plugin_uid = 537007117
+
+[2698-5-3-3]
+tc_id=148
+plugin_uid = 537007117
+
+[2698-5-3-4]
+tc_id=149
+plugin_uid = 537007117
+
+[2698-5-4-1]
+tc_id=150
+plugin_uid = 537007117
+
+[2698-5-4-2]
+tc_id=154
+plugin_uid = 10
+
+[2698-5-4-3]
+tc_id=1
+plugin_uid = 0
+
+[2698-4-1-1-1-R]
+tc_id=1
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-1-1-R]
+tc_id=1
+tc_api=1
+plugin_uid = 0
+
+[2698-4-1-1-3-R]
+tc_id=2
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-1-3-R]
+tc_id=2
+tc_api=1
+plugin_uid = 0
+
+
+[2698-4-1-1-4-R]
+tc_id=3
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-5-R]
+tc_id=4
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-6-R]
+tc_id=5
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-7-R]
+tc_id=6
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-8-R]
+tc_id=7
+tc_api=1
+plugin_uid = 537007117
+
+
+[2698-4-2-1-8-R]
+tc_id=7
+tc_api=1
+plugin_uid = 0
+
+[2698-4-1-1-9-R]
+tc_id=8
+tc_api=1
+plugin_uid = 537007117
+
+
+[2698-4-2-1-9-R]
+tc_id=8
+tc_api=1
+plugin_uid = 0
+
+
+[2698-4-1-1-10-R]
+tc_id=9
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-11-R]
+tc_id=10
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-12-R]
+tc_id=11
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-1-13-R]
+tc_id=12
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-2-R]
+tc_id=13
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-11-2-R]
+tc_id=13
+tc_api=1
+plugin_uid = 0
+
+[2698-4-1-3-R]
+tc_id=14
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-4-R]
+tc_id=15
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-5-R]
+tc_id=16
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-6-R]
+tc_id=17
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-7-R]
+tc_id=18
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-8-R]
+tc_id=19
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-9-R]
+tc_id=20
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-10-R]
+tc_id=21
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-11-R]
+tc_id=22
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-12-R]
+tc_id=23
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-13-R]
+tc_id=24
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-14-R]
+tc_id=25
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-15-R]
+tc_id=26
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-16-R]
+tc_id=27
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-17-R]
+tc_id=28
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-18-R]
+tc_id=29
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-19-R]
+tc_id=30
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-20-R]
+tc_id=31
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-21-R]
+tc_id=32
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-22-R]
+tc_id=33
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-23-R]
+tc_id=34
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-24-R]
+tc_id=35
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-25-R]
+tc_id=36
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-R]
+tc_id=39
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-3-R]
+tc_id=40
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-4-R]
+tc_id=41
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-5-R]
+tc_id=42
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-6-R]
+tc_id=43
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-7-R]
+tc_id=44
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-8-R]
+tc_id=45
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-9-R]
+tc_id=46
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-1-10-R]
+tc_id=47
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-28-2-R]
+tc_id=48
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-11-28-2-R]
+tc_id=48
+tc_api=1
+plugin_uid = 0
+
+
+[2698-4-1-29-R]
+tc_id=49
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-30-R]
+tc_id=50
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-31-R]
+tc_id=51
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-32-R]
+tc_id=52
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-33-R]
+tc_id=53
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-34-R]
+tc_id=54
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-35-R]
+tc_id=55
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-36-R]
+tc_id=56
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-37-R]
+tc_id=57
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-38-R]
+tc_id=58
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-39-R]
+tc_id=59
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-40-R]
+tc_id=60
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-41-R]
+tc_id=61
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-42-R]
+tc_id=62
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-43-R]
+tc_id=63
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-44-R]
+tc_id=64
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-45-R]
+tc_id=65
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-46-R]
+tc_id=66
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-47-1-R]
+tc_id=67
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-47-2-R]
+tc_id=68
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-47-3-R]
+tc_id=69
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-49-1-R]
+tc_id=70
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-49-2-R]
+tc_id=71
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-1-51-R]
+tc_id=72
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-1-R]
+tc_id=75
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-2-R]
+tc_id=76
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-3-R]
+tc_id=77
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-4-R]
+tc_id=78
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-5-R]
+tc_id=79
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-6-R]
+tc_id=80
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-7-R]
+tc_id=81
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-8-R]
+tc_id=82
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-9-R]
+tc_id=83
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-10-R]
+tc_id=84
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-11-R]
+tc_id=85
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-12-R]
+tc_id=86
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-13-R]
+tc_id=87
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-14-R]
+tc_id=88
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-15-R]
+tc_id=89
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-16-R]
+tc_id=90
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-17-R]
+tc_id=91
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-18-R]
+tc_id=92
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-19-R]
+tc_id=93
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-20-R]
+tc_id=94
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-21-R]
+tc_id=95
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-2-22-R]
+tc_id=96
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-1-1-R]
+tc_id=97
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-2-1-R]
+tc_id=98
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-2-2-R]
+tc_id=99
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-7-R]
+tc_id=103
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-8-R]
+tc_id=104
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-9-R]
+tc_id=105
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-3-10-R]
+tc_id=106
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-4-1-R]
+tc_id=107
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-4-2-R]
+tc_id=108
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-4-3-R]
+tc_id=109
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-4-4-R]
+tc_id=110
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-5-1-R]
+tc_id=111
+tc_api=1
+plugin_uid = 537007117
+
+[2698-4-5-2-R]
+tc_id=112
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-1-R]
+tc_id=113
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-2-R]
+tc_id=114
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-3-R]
+tc_id=115
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-4-R]
+tc_id=116
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-5-R]
+tc_id=117
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-6-R]
+tc_id=118
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-7-R]
+tc_id=119
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-8-R]
+tc_id=120
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-9-R]
+tc_id=121
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-10-R]
+tc_id=122
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-11-R]
+tc_id=123
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-12-R]
+tc_id=124
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-13-R]
+tc_id=125
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-14-R]
+tc_id=126
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-15-R]
+tc_id=127
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-16-R]
+tc_id=128
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-17-R]
+tc_id=129
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-18-R]
+tc_id=130
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-21-R]
+tc_id=133
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-1-24-R]
+tc_id=136
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-1-R]
+tc_id=140
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-2-R]
+tc_id=141
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-3-R]
+tc_id=142
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-4-R]
+tc_id=143
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-5-R]
+tc_id=144
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-2-6-R]
+tc_id=145
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-3-1-R]
+tc_id=146
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-3-2-R]
+tc_id=147
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-3-3-R]
+tc_id=148
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-3-4-R]
+tc_id=149
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-4-1-R]
+tc_id=150
+tc_api=1
+plugin_uid = 537007117
+
+[2698-5-4-2-R]
+tc_id=154
+plugin_uid = 10
+
+[SetAndGetConversionPrefs-1]
+tc_id=155
+tc_api=1
+plugin_uid = 537007117
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/scripts/te_LbsLocationInfoConverterSuite.script	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,1516 @@
+LOAD_SUITE te_lbslocationinfoconvertersuite
+RUN_UTILS DeleteFile c:\config.txt
+RUN_UTILS CopyFile c:\testdata\configs\lbsgeolocmonunitconfig.txt c:\config.txt
+
+RUN_UTILS DeleteFile c:\private\10281e17\[102869DF]lastknownlocarea.db-journal
+RUN_UTILS DeleteFile c:\private\10281e17\[102869DF]lastknownlocarea.db
+
+
+START_TESTCASE                LBS-Cache-Test-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini Cache-Test-2
+END_TESTCASE		      LBS-Cache-Test-2
+
+
+START_TESTCASE                LBS-Cache-Test-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini Cache-Test-1 
+END_TESTCASE		      LBS-Cache-Test-1
+
+PRINT now wait for loc monitor to teminate (which it will do after  10 seconds 
+PRINT this ensures when we try and delete the caches files they are not still in an opened state 
+
+DELAY 12000
+
+RUN_UTILS DeleteFile c:\private\10281e17\[102869DF]lastknownlocarea.db-journal
+RUN_UTILS DeleteFile c:\private\10281e17\[102869DF]lastknownlocarea.db
+
+START_TESTCASE                LBS-Cache-Test-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini Cache-Test-3
+END_TESTCASE		      LBS-Cache-Test-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-MultipleSessions-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini MultipleSessions-1 
+END_TESTCASE		      LBS-LocationInfoConverter-MultipleSessions-1
+
+START_TESTCASE                LBS-LocationInfoConverter-MultipleSessions-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini MultipleSessions-2 
+END_TESTCASE		      LBS-LocationInfoConverter-MultipleSessions-2
+
+START_TESTCASE                LBS-LocationInfoConverter-MultipleSessions-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini MultipleSessions-3 
+END_TESTCASE		      LBS-LocationInfoConverter-MultipleSessions-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-1
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-1
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-3
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-3
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-8
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-9
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-11
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-12
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-13
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-2
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-11-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-11-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-11
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-12
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-13
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-14
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-15
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-16
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-17
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-18
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-19
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-20
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-21
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-22
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-23
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-23 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-23
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-24
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-24 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-24
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-25
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-25 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-25
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-26
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-26 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-26
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-27
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-27 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-27
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-2
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-11-28-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-11-28-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-11-28-2
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-29
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-29 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-29
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-30
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-30 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-30
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-31
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-31 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-31
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-32
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-32 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-32
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-33
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-33 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-33
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-34
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-34 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-34
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-35
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-35 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-35
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-36
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-36 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-36
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-37
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-37 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-37
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-38
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-38 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-38
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-39
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-39 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-39
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-40
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-40 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-40
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-41
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-41 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-41
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-42
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-42 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-42
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-43
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-43 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-43
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-44
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-44 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-44
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-45
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-45 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-45
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-46
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-46 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-46
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-49-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-49-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-49-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-49-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-49-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-49-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-51
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-51 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-51
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-52
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-52 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-52
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-53
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-53 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-53
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-11
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-12
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-13
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-14
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-15
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-16
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-17
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-18
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-19
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-20
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-21
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-22
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-1-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-1-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-1-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-2-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-2-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-2-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-2-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-2-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-2-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-4-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-4-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-4-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-4-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-4-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-4-2
+
+
+// Not currently run, possible incorrect automated conversion (-1)
+//START_TESTCASE                LBS-LocationInfoConverter-2698-4-4-3
+//RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-4-3 
+//END_TESTCASE		      LBS-LocationInfoConverter-2698-4-4-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-4-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-4-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-4-4
+
+// Not currently run, possible incorrect automated conversion (panic 0)
+//START_TESTCASE                LBS-LocationInfoConverter-2698-4-5-1
+//RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-5-1 
+//END_TESTCASE		      LBS-LocationInfoConverter-2698-4-5-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-5-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-5-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-5-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-7
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-7 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-7
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-8
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-8 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-8
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-9
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-9 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-9
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-10
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-10 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-10
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-11
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-11 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-11
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-12
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-12 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-12
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-13
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-13 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-13
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-14
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-14 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-14
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-15
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-15 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-15
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-16
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-16 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-16
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-17
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-17 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-17
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-18
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-18 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-18
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-19
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-19 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-19
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-20
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-20 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-20
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-21
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-21 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-21
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-22
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-22 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-22
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-23
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-23 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-23
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-24
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-24 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-24
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-25
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-25 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-25
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-26
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-26 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-26
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-27
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-27 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-27
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-4
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-5
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-5 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-5
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-6
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-6 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-6
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-1
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-1 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-1
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-2
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-3
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-4
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-4 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-4
+
+
+Negative test needs rewrite
+//START_TESTCASE                LBS-LocationInfoConverter-2698-5-4-1
+//RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-4-1 
+//END_TESTCASE		      LBS-LocationInfoConverter-2698-5-4-1
+
+
+//Test with plugin id 10
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-4-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-4-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-4-2
+
+//////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-1-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-1-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-3-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-4-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-4-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-4-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-7-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-7-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-7-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-8-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-8-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-9-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-11-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-11-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-11-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-12-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-12-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-12-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-1-13-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-1-13-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-1-13-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-2-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-11-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-11-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-11-2-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-4-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-4-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-4-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-7-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-7-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-7-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-8-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-11-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-11-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-11-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-12-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-12-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-12-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-13-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-13-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-13-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-14-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-14-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-14-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-15-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-15-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-15-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-16-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-16-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-16-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-17-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-17-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-17-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-18-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-18-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-18-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-19-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-19-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-19-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-20-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-20-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-20-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-21-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-21-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-21-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-22-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-22-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-22-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-23-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-23-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-23-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-24-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-24-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-24-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-25-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-25-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-25-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-4-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-4-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-4-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-7-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-7-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-7-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-8-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-1-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-1-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-1-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-28-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-28-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-28-2-R
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-11-28-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-11-28-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-11-28-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-29-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-29-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-29-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-30-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-30-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-30-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-31-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-31-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-31-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-32-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-32-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-32-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-33-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-33-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-33-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-34-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-34-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-34-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-35-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-35-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-35-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-36-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-36-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-36-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-37-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-37-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-37-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-38-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-38-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-38-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-39-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-39-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-39-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-40-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-40-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-40-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-41-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-41-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-41-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-42-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-42-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-42-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-43-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-43-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-43-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-44-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-44-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-44-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-45-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-45-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-45-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-46-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-46-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-46-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-47-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-47-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-47-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-49-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-49-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-49-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-49-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-49-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-49-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-1-51-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-1-51-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-1-51-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-4-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-4-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-4-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-7-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-7-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-7-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-8-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-11-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-11-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-11-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-12-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-12-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-12-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-13-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-13-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-13-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-14-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-14-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-14-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-15-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-15-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-15-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-16-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-16-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-16-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-17-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-17-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-17-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-18-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-18-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-18-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-19-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-19-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-19-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-20-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-20-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-20-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-21-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-21-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-21-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-2-22-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-2-22-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-2-22-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-1-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-1-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-1-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-2-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-2-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-2-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-2-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-2-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-2-2-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-7-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-7-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-7-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-8-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-8-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-8-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-3-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-3-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-3-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-5-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-5-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-5-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-4-5-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-4-5-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-4-5-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-4-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-4-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-4-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-9-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-9-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-9-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-10-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-10-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-10-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-11-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-11-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-11-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-12-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-12-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-12-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-13-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-13-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-13-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-14-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-14-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-14-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-15-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-15-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-15-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-16-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-16-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-16-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-17-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-17-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-17-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-18-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-18-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-18-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-21-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-21-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-21-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-1-24-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-1-24-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-1-24-R
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-1-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-2-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-2-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-2-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-3-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-3-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-3-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-5-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-5-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-5-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-2-6-R
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-2-6-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-2-6-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-1-R
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-1-R
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-1-R
+
+
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-3-2
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-3-2 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-3-2
+
+//Test with plugin id 10
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-4-2-R
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-4-2-R 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-4-2-R
+
+START_TESTCASE                LBS-LocationInfoConverter-SetAndGetConversionPrefs-1
+RUN_TEST_STEP 10 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini SetAndGetConversionPrefs-1 
+END_TESTCASE		      LBS-LocationInfoConverter-SetAndGetConversionPrefs-1
+
+//Delete the cenrep file out of the way to test behaviour when it's not found
+RUN_UTILS DeleteFile c:\private\10202be9\20026814.txt
+
+//Test with plugin id 0
+START_TESTCASE                LBS-LocationInfoConverter-2698-5-4-3
+RUN_TEST_STEP 100 te_lbslocationinfoconvertersuite Step c:\testdata\configs\LbsLocationInfoConverter.ini 2698-5-4-3 
+END_TESTCASE		      LBS-LocationInfoConverter-2698-5-4-3
+
+// now wait for loc monitor to teminate (which it will do after  10 seconds - 
+// this ensures that we  pick up any memory leaks detected when the heap is checked in 
+// the loc monitor's destructor. If we don't have this delay then you will not see
+// any heap check panics!
+
+PRINT now wait for loc monitor to teminate (which it will do after  10 seconds 
+PRINT this ensures that we  pick up any memory leaks detected when the heap is checked in 
+PRINT the loc monitor's destructor. If we don't have this delay then you will not see any heap check panics!
+
+
+DELAY 12000
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/Te_locationinfoconversionobserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include "Te_locationinfoconversionobserver.h"
+
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::CTriggerFireObserver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CTelocationinfoconversionobserver::CTelocationinfoconversionobserver(  ):CTimer( CTimer::EPriorityStandard )
+    {
+    
+        CActiveScheduler::Add(this);
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTelocationinfoconversionobserver::ConstructL()
+    {
+        iStatusCode=KErrGeneral;
+     	CTimer::ConstructL();
+     	
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTelocationinfoconversionobserver* CTelocationinfoconversionobserver::NewL( )
+    {
+    
+    CTelocationinfoconversionobserver* self = new (ELeave) CTelocationinfoconversionobserver(  );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop();
+    return self;
+
+    }
+
+// Destructor
+CTelocationinfoconversionobserver::~CTelocationinfoconversionobserver()
+    { 
+	    Cancel(); 
+	}
+
+void CTelocationinfoconversionobserver::OnConversionComplete( TInt aStatusCode )
+	{
+	iStatusCode = aStatusCode;
+	CActiveScheduler::Stop();
+	}
+
+TInt CTelocationinfoconversionobserver::ConversionResult()
+    {
+    return iStatusCode;
+    }
+    
+
+
+void CTelocationinfoconversionobserver::RunL( )
+    {
+    iStatusCode = KErrCancel;
+    CActiveScheduler::Stop();
+      
+    }
+
+void CTelocationinfoconversionobserver::DoCancel( )
+    {
+     
+     
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/Te_locationresolverobserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Test module to implement Advanced trigger supervision cases
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include "Te_locationresolverobserver.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::CTriggerFireObserver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CTeLocationResolverObserver::CTeLocationResolverObserver(  ):CTimer( CTimer::EPriorityStandard )
+    {
+    
+        CActiveScheduler::Add(this);
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CTeLocationResolverObserver::ConstructL()
+    {
+        iStatusCode=KErrGeneral;
+     	CTimer::ConstructL();
+    }
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CTeLocationResolverObserver* CTeLocationResolverObserver::NewL( )
+    {
+    
+    CTeLocationResolverObserver* self = new (ELeave) CTeLocationResolverObserver(  );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop();
+    return self;
+
+    }
+
+// Destructor
+CTeLocationResolverObserver::~CTeLocationResolverObserver()
+    { 
+	    Cancel(); 
+	}
+
+
+void CTeLocationResolverObserver::OnResolveLocationComplete(TInt aStatus, const TLocality& aLocality)
+    {
+    iStatusCode = aStatus;
+ 
+    if (iStatusCode == KErrNone)
+    	{
+    	TReal64 lat = aLocality.Latitude();
+    	TReal64 lng = aLocality.Longitude();
+    	TReal32 alt =aLocality.Altitude();
+    	TPositionDatumId datum = aLocality.Datum();
+    	TReal32 horAcc = aLocality.HorizontalAccuracy();
+    	TReal32 vertAcc = aLocality.VerticalAccuracy();
+
+    	iLocality = aLocality;
+             	
+    	// the horAcc is interesting ...
+    	// when the locality is not delivered from the cache then the hor acc is that returned by the test plugin
+    	// when it comes out of the cahche then it's the loc monitor that sets it according to 
+    	// the country code e.t.c
+    	// similarly for the vertical accuracy ... its set to Nan when brought out of the cache
+    	// but its whatever came from the converter otherwise.
+ 
+    	
+		// this test ensures that when a locality comes out of the cash that 
+    	// vertical accuracy is a Nan. So we can use this to check that 
+    	// values come out of the cache when they should.
+    	if	(Math::IsNaN(vertAcc))
+			{
+			iFromCache = ETrue;
+			}
+    	else
+    		{
+			iFromCache = EFalse;
+    		}
+    	}
+    CActiveScheduler::Stop();
+    }
+
+
+
+TInt CTeLocationResolverObserver::ConversionResult()
+    {
+    return iStatusCode;
+    }
+   
+TInt CTeLocationResolverObserver::ConversionLocality(TLocality& aLocality)
+    {
+	aLocality = iLocality;
+    return iFromCache;
+    }
+
+
+void CTeLocationResolverObserver::RunL( )
+    {
+    iStatusCode = KErrCancel;
+    CActiveScheduler::Stop();
+      
+    }
+
+void CTeLocationResolverObserver::DoCancel( )
+    {
+     
+     
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/step.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,5112 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "step.h"
+#include "te_lbslocationinfoconvertersuitedefs.h"
+
+#include "Te_locationinfoconversionobserver.h"
+
+#include <Lbs.h> 
+
+// the test code sets the timing advance in the GSM vell info to this value
+// which instructs the test converter to constuct TLocalitys with
+// latitude ser to country code, longitude set to 
+// network code and altitiude set to local area code
+const TInt KTimingAdvanceSpecialValue= 254;
+
+const TInt KTimingAdvanceSaveToCacheTrue= 253;
+
+const TInt KTimingAdvanceSaveToCacheFalse= 252;
+
+CStep::~CStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CStep::CStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KStep);
+	}
+
+TVerdict CStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationInfoConverterSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+    TInt id = GetTestCaseId();
+    iApiId = GetTestCaseApi();
+    iPluginUid = GetPluginUid();
+   
+    __UHEAP_MARK;
+    CallL(id);
+	__UHEAP_MARKEND;
+	return TestStepResult();
+	}
+
+
+
+TVerdict CStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
+
+
+
+
+
+
+
+// -----------------------------------------------------------------------------
+// CStep::CreateLocationInfoConverterL
+// Creates and initializes Location info converter object
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::CreateLocationInfoConverterL()
+    {
+    TUid uid = TUid::Uid(iPluginUid);
+    iLbsLocationInfo = CLbsLocationInfo::NewL();
+    
+    if(iApiId == 0)
+        {
+        iObserver = CTelocationinfoconversionobserver::NewL();
+        iObserver->Version();
+        if(iPluginUid!=0)
+            {
+            iLbsLocationInfoConverter = CLbsLocationInfoConverter::NewL(*iObserver,uid);
+            }
+        else
+            {
+            iLbsLocationInfoConverter = CLbsLocationInfoConverter::NewL(*iObserver);
+            }
+        }
+    else
+        {
+        iResolverObserver = CTeLocationResolverObserver::NewL();
+        iResolverObserver->Version();
+        if(iPluginUid!=0)
+            {
+            iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid);
+            }
+        else
+            {
+            iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver);
+            }
+        }
+
+    return KErrNone;
+    
+    }
+
+//// -----------------------------------------------------------------------------
+//// CStep::SetCoordinateInfoL
+//// Converts one location info to its corresponding position info.
+//// (other items were commented in a header).
+//// -----------------------------------------------------------------------------
+////
+//TInt CStep::SetCoordinateInfoL(CStifItemParser& aItem )
+//    {
+//    TInt fntype;
+//    aItem.GetNextInt(fntype);
+//    TPtrC Llatidude,Llongitude,Laltidude,Lhoracc,LVerAcc;
+//    aItem.GetNextString( KLatitude, Llatidude);    
+//    aItem.GetNextString( KLongitude, Llongitude);
+//    aItem.GetNextString( KAltitude, Laltidude);
+//    aItem.GetNextString( KHorizontalAccuracy, Lhoracc);
+//    aItem.GetNextString( KVerticalAccuracy, LVerAcc);
+//    
+//    TReal64 latitude =0 ;
+//    TLex16 lat(Llatidude);
+//    lat.Val(latitude);
+//    
+//    TReal64 longitude =0;
+//    TLex16 longi(Llongitude);
+//    longi.Val(longitude);
+//    
+//    TReal32 Altitude =0;
+//    TLex16 Alt(Laltidude);
+//    Alt.Val(Altitude);
+//    
+//    TReal32 HorizontalAccuracy =0;
+//    TLex16 HA(Lhoracc);
+//    HA.Val(HorizontalAccuracy);
+//    
+//    TReal32 VerticalAccuracy =0;
+//    TLex16 VA(LVerAcc);
+//    VA.Val(VerticalAccuracy);
+//    TLocality Locality;
+//    if(latitude!=0 && longitude!=0 && Altitude==0)
+//        {
+//        Locality.SetCoordinate(latitude,longitude);
+//        }
+//    else if (latitude!=0 && longitude!=0 && Altitude!=0)
+//        {
+//        Locality.SetCoordinate(latitude,longitude,Altitude);
+//        }
+//    
+//           
+//    if(HorizontalAccuracy!=0 ) 
+//        {
+//        Locality.SetHorizontalAccuracy(HorizontalAccuracy);
+//        }
+//    if(VerticalAccuracy!=0 ) 
+//            {
+//            Locality.SetVerticalAccuracy(VerticalAccuracy);
+//            }
+//    
+//    CLbsPositionInfo* Posinfo; 
+//    if(fntype==1)
+//        {
+//        Posinfo=CLbsPositionInfo::NewL( Locality); 
+//        }
+//    else if(fntype==2)
+//        {
+//        Posinfo=CLbsPositionInfo::NewL();
+//        Posinfo->SetLocality(Locality);
+//        }
+//    
+//    ilbslocationinfo->AddAreaInfoL(Posinfo);
+//    return KErrNone;   
+//    }
+
+
+// -----------------------------------------------------------------------------
+// CStep::SetGSMCellInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CStep::SetGSMCellInfoL( TInt fntype, TInt countrycode, TInt networkcode, 
+        TInt locationcode, TInt cellid, TInt timingadvance, TInt Rxlev, TInt nNeignbourcells, 
+        TInt arfcn, TInt bsic, TInt NRxlev)
+    {
+	INFO_PRINTF5(_L("SetGSMCellInfoL(CC=%d, NC=%d, LC=%d CID=%d)"),countrycode,networkcode,locationcode,cellid);
+    CLbsGsmCellInfo* gsmcellinfo;    
+    if(fntype==1)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL( countrycode,networkcode,locationcode,cellid); 
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            TLbsGsmNeighbourCellInfo neighbourcell;
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                    {
+                    //aItem.GetNextInt(KColourcode,bsic);
+                    if(bsic!=-2)
+                        {
+                        neighbourcell.SetBsic(bsic);
+                        }
+                    //aItem.GetNextInt(KNeighbourRxlev,NRxlev);
+                    if(NRxlev!=-2)
+                        {
+                        neighbourcell.SetRxLevel(NRxlev);
+                        }
+                    //aItem.GetNextInt(KArfcn,arfcn);
+                    if(arfcn!=-2)
+                        {
+                        neighbourcell.SetArfcn(arfcn);
+                        }
+                    gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                  
+                    }
+            }
+        }
+    else if(fntype==2)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL();
+        if(countrycode!=-2)
+            {
+            gsmcellinfo->SetMobileCountryCode(countrycode);
+            }
+        if(networkcode!=-2)
+            {
+            gsmcellinfo->SetMobileNetworkCode(networkcode);
+            }
+        if(locationcode!=-2)
+            {
+            gsmcellinfo->SetLocationAreaCode(locationcode);
+            }
+        if(cellid!=-2)
+            {
+            gsmcellinfo->SetCellId(cellid);
+            }
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            
+            
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+               {
+               //aItem.GetNextInt(KColourcode,bsic);
+               if(bsic!=-2)
+                   {
+                   bsic = 0;
+                   }
+               //aItem.GetNextInt(KNeighbourRxlev,Rxlev);
+               if(Rxlev!=-2)
+                   {
+                   Rxlev = 0;
+                   }
+               //aItem.GetNextInt(KArfcn,arfcn);
+               if(arfcn!=-2)
+                   {
+                   arfcn = 0;
+                   }
+               TLbsGsmNeighbourCellInfo neighbourcell(bsic,Rxlev,arfcn);
+               gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+             
+               }   
+            }
+        }
+    
+    iLbsLocationInfo->AddAreaInfoL(gsmcellinfo);
+   
+    }
+
+TInt CStep::SetGSMCellInfo2L( TInt fntype, TInt countrycode, TInt networkcode, 
+        TInt locationcode, TInt cellid, TInt timingadvance, TInt Rxlev, TInt nNeignbourcells, 
+        TInt arfcn, TInt bsic, TInt NRxlev)
+    {
+	INFO_PRINTF5(_L("SetGSMCellInfo2L(CC=%d, NC=%d, LC=%d CID=%d)"),countrycode,networkcode,locationcode,cellid);
+ 
+    CLbsGsmCellInfo* gsmcellinfo;    
+    if(fntype==1)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL( countrycode,networkcode,locationcode,cellid); 
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            TLbsGsmNeighbourCellInfo neighbourcell;
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                    {
+                    //aItem.GetNextInt(KColourcode,bsic);
+                    if(bsic!=-2)
+                        {
+                        neighbourcell.SetBsic(bsic);
+                        }
+                    //aItem.GetNextInt(KNeighbourRxlev,NRxlev);
+                    if(NRxlev!=-2)
+                        {
+                        neighbourcell.SetRxLevel(NRxlev);
+                        }
+                    //aItem.GetNextInt(KArfcn,arfcn);
+                    if(arfcn!=-2)
+                        {
+                        neighbourcell.SetArfcn(arfcn);
+                        }
+                    gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                  
+                    }
+            }
+        }
+    else if(fntype==2)
+        {
+        gsmcellinfo=CLbsGsmCellInfo::NewL();
+        if(countrycode!=-2)
+            {
+            gsmcellinfo->SetMobileCountryCode(countrycode);
+            }
+        if(networkcode!=-2)
+            {
+            gsmcellinfo->SetMobileNetworkCode(networkcode);
+            }
+        if(locationcode!=-2)
+            {
+            gsmcellinfo->SetLocationAreaCode(locationcode);
+            }
+        if(cellid!=-2)
+            {
+            gsmcellinfo->SetCellId(cellid);
+            }
+        if(timingadvance!=-2)
+            {
+            gsmcellinfo->SetTimingAdvance(timingadvance);
+            }
+        if(Rxlev!=-2)
+            {
+            gsmcellinfo->SetRxLevel(Rxlev);
+            }
+        if(nNeignbourcells!=0)
+            {
+            
+            
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+               {
+               //aItem.GetNextInt(KColourcode,bsic);
+               if(bsic!=-2)
+                   {
+                   bsic = 0;
+                   }
+               //aItem.GetNextInt(KNeighbourRxlev,Rxlev);
+               if(Rxlev!=-2)
+                   {
+                   Rxlev = 0;
+                   }
+               //aItem.GetNextInt(KArfcn,arfcn);
+               if(arfcn!=-2)
+                   {
+                   arfcn = 0;
+                   }
+               TLbsGsmNeighbourCellInfo neighbourcell(bsic,Rxlev,arfcn);
+               gsmcellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+             
+               }   
+            }
+        }
+    
+    iLbsLocationInfo2->AddAreaInfoL(gsmcellinfo);
+    return KErrNone;    
+    }
+// -----------------------------------------------------------------------------
+// CStep::SetWCDMACellInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::SetWCDMACellInfoL(TInt fntype, TInt countrycode,
+        TInt networkcode, TInt cellid, TInt nNeignbourcells, TInt scramblingcode,  
+        TInt neighbourucid, TInt neighbourscode, TInt neighbourpathloss, 
+        TInt neighboursignalstrength)
+    {
+    CLbsWcdmaCellInfo* wcdmacellinfo;    
+    if(fntype==1)
+        {
+        wcdmacellinfo=CLbsWcdmaCellInfo::NewL( countrycode,networkcode,cellid); 
+        if(scramblingcode!=-2)
+            {
+            wcdmacellinfo->SetScramblingCode(scramblingcode);
+            }
+        if(nNeignbourcells!=0)
+            {
+            TLbsWcdmaNeighbourCellInfo neighbourcell;
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                {
+                //aItem.GetNextInt(KNeighbourCellid,neighbourucid);
+                if(neighbourucid!=-2)
+                    {
+                    neighbourcell.SetUniqueCellId(neighbourucid);
+                    }
+                //aItem.GetNextInt(KNeighbourScramblingcode,neighbourscode);
+                if(neighbourscode!=-2)
+                    {
+                    neighbourcell.SetScramblingCode(neighbourscode);
+                    }
+                //aItem.GetNextInt(KNeighbourPathloss,neighbourpathloss);
+                if(neighbourpathloss!=-2)
+                    {
+                    neighbourcell.SetPathloss(neighbourpathloss);
+                    }
+                //aItem.GetNextInt(KNeighbourSignalstrength,neighboursignalstrength);
+                if(neighboursignalstrength!=-2)
+                    {
+                    neighbourcell.SetSignalStrength(neighboursignalstrength);
+                    }
+                wcdmacellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                }
+            }
+        }
+    else if(fntype==2)
+        {
+        wcdmacellinfo=CLbsWcdmaCellInfo::NewL();
+        if(countrycode!=-2)
+            {
+            wcdmacellinfo->SetMobileCountryCode(countrycode);
+            }
+        if(networkcode!=-2)
+            {
+            wcdmacellinfo->SetMobileNetworkCode(networkcode);
+            }
+        if(cellid!=-2)
+            {
+            wcdmacellinfo->SetUniqueCellId(cellid);
+            }
+        if(scramblingcode!=-2)
+            {
+            wcdmacellinfo->SetScramblingCode(scramblingcode);
+            }
+        if(nNeignbourcells!=0)
+            {
+            for(TInt i =0 ; i<nNeignbourcells ; i++)
+                {
+                //aItem.GetNextInt(KNeighbourCellid,neighbourucid);
+                if(neighbourucid==-2)
+                    {
+                    neighbourucid = 0;
+                    }
+                //aItem.GetNextInt(KNeighbourScramblingcode,neighbourscode);
+                if(neighbourscode==-2)
+                    {
+                    neighbourscode = 0;
+                    }
+                //aItem.GetNextInt(KNeighbourPathloss,neighbourpathloss);
+                if(neighbourpathloss==-2)
+                    {
+                    neighbourpathloss = 0;
+                    }
+                //aItem.GetNextInt(KNeighbourSignalstrength,neighboursignalstrength);
+                if(neighboursignalstrength==-2)
+                    {
+                    neighboursignalstrength = 0;
+                    }
+                
+                TLbsWcdmaNeighbourCellInfo neighbourcell(neighbourucid,neighbourscode,neighbourpathloss,neighboursignalstrength);
+                wcdmacellinfo->AddNeighbouringCellInfoL(&neighbourcell);
+                }
+            }
+        }
+   
+    iLbsLocationInfo->AddAreaInfoL(wcdmacellinfo);
+    return KErrNone;   
+    }
+
+// -----------------------------------------------------------------------------
+// CStep::SetWLanInfoL
+// .
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::SetWLanInfoL(TInt fntype, TInt macidint,  TInt signalstrength)
+    {
+    TBuf8<6> macidbuf;
+    macidbuf.AppendNum(macidint);
+    CLbsWlanInfo* wlaninfo;    
+    if(fntype==1)
+        {
+        wlaninfo=CLbsWlanInfo::NewL( macidbuf,signalstrength); 
+        }
+    else if(fntype==2)
+        {
+        wlaninfo=CLbsWlanInfo::NewL();
+        if (macidbuf.Length()!=0)
+            {
+            wlaninfo->SetMacAddress(macidbuf);
+            }
+        if(signalstrength!=-2)
+            {
+            wlaninfo->SetSignalStrength(signalstrength);
+            }
+        }
+    iLbsLocationInfo->AddAreaInfoL(wlaninfo);
+    return KErrNone;    
+    }
+// -----------------------------------------------------------------------------
+// CStep::AddLocationInfoL
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CStep::AddLocationInfoL()
+    {
+    TInt nTimes =1;
+    iLbsLocationInfoArrayTemp.Append(iLbsLocationInfo);
+    for (TInt i=0 ; i<nTimes;i++ )
+        {
+        iLbsLocationInfoArray.Append(iLbsLocationInfo);
+        }
+    iLbsLocationInfo = CLbsLocationInfo::NewL();
+    }
+
+void CStep::AddLocationInfo2L()
+    {
+    TInt nTimes =1;
+    iLbsLocationInfoArrayTemp2.Append(iLbsLocationInfo2);
+    for (TInt i=0 ; i<nTimes;i++ )
+        {
+        iLbsLocationInfoArray2.Append(iLbsLocationInfo2);
+        }
+    iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+    }
+
+// -----------------------------------------------------------------------------
+// CStep::ConvertLocationInfoL
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CStep::ConvertLocationInfoL(TInt conversionprefs, TInt requestedinfo, TInt fntype)
+    {
+    if(iApiId == 0)
+        {
+        if(fntype==0)
+            {
+            iLbsLocationInfoConverter->ConvertLocationInfoL(*iLbsLocationInfoArray[0],conversionprefs,requestedinfo);
+            }
+        else if (fntype==2)
+            {
+            iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,conversionprefs,requestedinfo);
+            }
+        }
+    else
+        {
+        CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+        iLbsLocationResolver->ResolveLocationL(*input);
+        }
+
+    CActiveScheduler::Start();
+
+    }
+
+void CStep::ConvertLocationInfo2L(TInt conversionprefs, TInt requestedinfo, TInt fntype)
+    {
+
+    if(iApiId == 0)
+        {
+        if(fntype==0)
+            {
+            iLbsLocationInfoConverter2->ConvertLocationInfoL(*iLbsLocationInfoArray2[0],conversionprefs,requestedinfo);
+            }
+        else if (fntype==2)
+            {
+            iLbsLocationInfoConverter2->ConvertLocationInfoL(iLbsLocationInfoArray2,conversionprefs,requestedinfo);
+            }
+        }
+    else
+        {
+        CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray2[0]);
+        iLbsLocationResolver2->ResolveLocationL(*input);
+        }
+
+    CActiveScheduler::Start();
+
+    }
+// -----------------------------------------------------------------------------
+// CStep::CancelConvertLocationInfo
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::MiscL(TInt testcase)
+    {
+    switch(testcase)
+        {
+        case 1:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(*iLbsLocationInfo,0,1);
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                iObserver->After(1500000);
+                CActiveScheduler::Start();
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                iLbsLocationResolver->CancelResolveLocation();
+                iResolverObserver->After(1500000);
+                CActiveScheduler::Start();
+                }
+            break;
+        case 2:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(*iLbsLocationInfo,0,1);
+                CActiveScheduler::Start();
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                CActiveScheduler::Start();
+                iLbsLocationResolver->CancelResolveLocation();
+                }  
+            break;
+        case 3:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                return KErrNone;
+                }
+            else
+                {
+                iLbsLocationResolver->CancelResolveLocation();
+                return KErrNone;
+                }  
+            break;
+        case 4:
+//            TODO
+//            TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 0);      
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(*iLbsLocationInfo,0,1);
+                iLbsLocationInfoConverter->ConvertLocationInfoL(*iLbsLocationInfo,0,1);
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                }                 
+            break;
+        case 5:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,0,1);
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                iObserver->After(1500000);
+                CActiveScheduler::Start();
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                iLbsLocationResolver->CancelResolveLocation();
+                iResolverObserver->After(1500000);
+                CActiveScheduler::Start();
+                }
+            break;
+        case 6:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,0,1);
+                CActiveScheduler::Start();
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                CActiveScheduler::Start();
+                iLbsLocationResolver->CancelResolveLocation();
+                }  
+            break;
+        case 7:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->CancelConvertLocationInfo();
+                return KErrNone;
+                }
+            else
+                {
+                iLbsLocationResolver->CancelResolveLocation();
+                return KErrNone;
+                }       
+            break;
+        case 8:
+            if(iApiId == 0)
+                {
+                iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,0,1);
+                iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,0,1);
+                }
+            else
+                {
+                CLbsLocationInfo* input = static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0]);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                iLbsLocationResolver->ResolveLocationL(*input);
+                }              
+            break;
+        }
+    
+    if(iApiId == 0)
+        {
+        return iObserver->ConversionResult();
+        }
+    else
+        {
+        return iResolverObserver->ConversionResult();
+        }
+    }
+
+
+
+TInt CStep::ValidateLocationInfo(TInt requestedinfo)
+    {
+    if(iApiId == 0)
+        {
+        if( iObserver->ConversionResult() == KErrNone )
+            {
+            if(requestedinfo ==1)
+                {
+                TInt count = iLbsLocationInfoArray.Count();
+                for(TInt i=0; i<count ; i++)
+                    {
+                    RPointerArray<CLbsAreaInfoBase> PosInfoList;
+                    TRAPD(error, static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[i])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo));
+                    if (KErrNone != error)
+                    	{
+						PosInfoList.ResetAndDestroy();
+                        PosInfoList.Close();
+						return error;
+                    	}
+                    TInt count2 = PosInfoList.Count();
+                    PosInfoList.ResetAndDestroy();
+                    PosInfoList.Close();
+                    if(count2>=1)
+                        {
+                        return KErrNone;
+                        }
+                    }
+                }
+            }
+        
+        return iObserver->ConversionResult();
+        }
+    else
+        {
+        if( iResolverObserver->ConversionResult() == KErrNone )
+            {
+            if(requestedinfo ==1)
+                {
+                TInt count = iLbsLocationInfoArray.Count();
+                for(TInt i=0; i<count ; i++)
+                    {
+                    RPointerArray<CLbsAreaInfoBase> PosInfoList;
+                    TRAPD(error, static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[i])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo));
+                    if (KErrNone != error)
+                    	{
+                    	PosInfoList.ResetAndDestroy();
+                        PosInfoList.Close();
+                        return error;
+                    	}
+                    TInt count2 = PosInfoList.Count();
+                    PosInfoList.ResetAndDestroy();
+                    PosInfoList.Close();
+                    if(count2>=1)
+                        {
+                        return KErrNone;
+                        }
+                    }
+                }
+            }
+        return iResolverObserver->ConversionResult();        
+        }
+    }
+
+
+TInt CStep::ValidateLocationInfo2(TInt requestedinfo)
+    {
+    if(iApiId == 0)
+        {
+        if( iObserver2->ConversionResult() == KErrNotSupported ||
+             iObserver2->ConversionResult() == KErrNotFound )
+            return KErrNone;
+    
+        if( iObserver2->ConversionResult() == KErrNone )
+            {
+            if(requestedinfo ==1)
+                {
+                TInt count = iLbsLocationInfoArray2.Count();
+                for(TInt i=0; i<count ; i++)
+                    {
+                    RPointerArray<CLbsAreaInfoBase> PosInfoList;
+                    static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray2[i])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+                    TInt count2 = PosInfoList.Count();
+                    PosInfoList.ResetAndDestroy();
+                    PosInfoList.Close();
+                    if(count2>=1)
+                        {
+                        return KErrNone;
+                        }
+                    }
+                return KErrGeneral;
+                }
+            }
+        
+        return iObserver2->ConversionResult();
+        }
+    else
+        {
+        if( iResolverObserver2->ConversionResult() == KErrNotSupported ||
+                iResolverObserver2->ConversionResult() == KErrNotFound )
+            return KErrNone;
+    
+        if( iResolverObserver2->ConversionResult() == KErrNone )
+            {
+            if(requestedinfo ==1)
+                {
+                TInt count = iLbsLocationInfoArray2.Count();
+                for(TInt i=0; i<count ; i++)
+                    {
+                    RPointerArray<CLbsAreaInfoBase> PosInfoList;
+                    static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray2[i])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+                    TInt count2 = PosInfoList.Count();
+                    PosInfoList.ResetAndDestroy();
+                    PosInfoList.Close();
+                    if(count2>=1)
+                        {
+                        return KErrNone;
+                        }
+                    }
+                }
+            }
+        return iResolverObserver->ConversionResult();        
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CStep::SetConversionPrefs
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::SetConversionPrefs(TLbsConversionPrefs aSetConversionPrefs)
+    {
+    TRAPD( err,
+            if(iApiId != 0)
+                {
+                err = iLbsLocationResolver->SetConversionPreferences(aSetConversionPrefs);
+                }
+    )
+
+    if (err)
+        return err;
+    else
+        return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CStep::GetAndCheckConversionPrefs
+// Converts one location info to its corresponding position info.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CStep::GetAndCheckConversionPrefs(TLbsConversionPrefs aSetConversionPrefs)
+    {
+    TRAPD( err,
+            if(iApiId != 0)
+                {
+                TLbsConversionPrefs readConversionPrefs = iLbsLocationResolver->ConversionPreferences();
+                if (readConversionPrefs != aSetConversionPrefs)
+                    {
+                    err = KErrGeneral;
+                    }
+                }
+    )
+    if (err)
+        return err;
+    else
+        return KErrNone;
+    }
+
+
+
+TInt CStep::Cleanup()
+    {
+    if(iLbsLocationInfo)
+        {
+        delete iLbsLocationInfo;
+        iLbsLocationInfo = NULL;
+        }
+    if(iLbsLocationInfoConverter)
+        {
+        delete iLbsLocationInfoConverter;
+        iLbsLocationInfoConverter = NULL;
+        }
+    if(iLbsLocationResolver)
+        {
+        delete iLbsLocationResolver;
+        iLbsLocationResolver = NULL;
+        }
+    if(iObserver)
+        {
+        delete iObserver;
+        iObserver = NULL;
+        }
+    if(iResolverObserver)
+        {
+        delete iResolverObserver;
+        iResolverObserver = NULL;
+        }
+    iLbsLocationInfoArrayTemp.ResetAndDestroy();
+    iLbsLocationInfoArray.Reset();
+      
+    return KErrNone;
+    }
+
+void CStep::test_2698_4_1_1_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 404, 49, 16, 7141);
+    
+    AddLocationInfoL();
+
+    TRAP(err,ConvertLocationInfoL(1, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 0, 0, 0, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+  
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 999, 999, 65535, 65535);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, -1, 0, 0, 0);
+
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, -1, 0, 0);
+
+    AddLocationInfoL();
+  
+    TRAP (err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, -1, 0);
+    
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP (err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, -1);
+    
+    AddLocationInfoL();
+    
+    TRAP (err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 1000, 0, 0, 0);
+   
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 1000, 0, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP (err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_11L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 65536, 0);
+    
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_12L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 65536);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_1_13L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 30);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 999);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 1000);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, -1);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200);
+    
+    AddLocationInfoL();
+   
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 999);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 1000);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_11L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, -1);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_12L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_13L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 65535);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_14L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_15L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 65536);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_16L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, -1);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_17L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 65535);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_18L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_19L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 65536);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_20L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, -1);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_21L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 30, 255);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_22L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 30, 0);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_23L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 30, -1);
+
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_24L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 200, 300, 30, 256);
+    
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_25L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    
+    AddLocationInfoL();
+    
+    ConvertLocationInfoL(1, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_26L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    ConvertLocationInfoL(2, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_27L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    ConvertLocationInfoL(4, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 0, 0, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 999, 999, 65535);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, -1, 200, 300);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, -1, 300);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 1000, 200, 300);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 1000, 300);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_1_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 268435456);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_28_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+ 
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_29L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+   
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_30L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 999);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+   
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_31L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+   
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_32L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 1000);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_33L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_34L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_35L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 999);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_36L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_37L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 1000);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_38L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_39L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 65535);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_40L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_41L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 268435456);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_42L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_43L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30, 0, 511);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_44L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_45L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30, 512);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_46L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_47_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 200);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_47_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_47_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(2, 100, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_49_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_49_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_51L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(1, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_52L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(2, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_1_53L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(2, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(4, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, 1, 0, 1, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 3, 63, 1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 2, 3, 10, 1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, -1, 1, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 64, 1, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 0, 63, 1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 63, 1, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 63, 1, 1024);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 63, 0, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_11L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_12L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 63, -1, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_13L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 1, 63, 64, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_14L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 0, 15, 46, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_15L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 0, 268435455, 15, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_16L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 2, 15, 44, 15, 46, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_17L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -1, 15);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_18L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 268435456, 15);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_19L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 0, 0, 0, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_20L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_21L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 0, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_2_22L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 268435455, 512);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_1_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_2_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_2_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(1, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(2, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(2, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 255);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, -1);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_3_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 256);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_4_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(1);
+    if(err != KErrCancel) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_4_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 255);
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(1);
+    if(err != KErrCancel) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_4_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(2);
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_4_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(3);
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_5_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    if(iApiId == 0)
+    	{
+		err = MiscL(4);
+        if(err != KErrNone) User::Leave(err);
+    	}
+    else
+    	{
+		TRAPD(leaveErr, MiscL(4));
+		if(leaveErr != KErrInUse) User::Leave(leaveErr);
+		CActiveScheduler::Start();
+    	}
+    
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_4_5_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, 60, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 60, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_7L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_8L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_9L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 1000, -1, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_10L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 1, 64, 64, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_11L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -1, 1, 63, 63, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_12L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 1, 63, 63, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_13L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 1000, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_14L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 268435456, 511);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_15L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 512, 1, 268435455, 511);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_16L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_17L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_18L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(1, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_19L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(2, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_20L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, -2, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(4, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_21L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(1, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_22L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(2, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_23L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, 511, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(4, 1, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_24L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(0, 0, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_25L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(0, 2, 2);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNotSupported) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_26L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, -2, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 4, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(iApiId == 0)
+        {
+        if(err != KErrNotSupported) User::Leave(err);
+        }
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_1_27L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30, 1, -2, 268435455, 511, 47, 0);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWCDMACellInfoL(1, 100, 200, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 40, 63, 1, 1023, 63, 63);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 8, 2));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 200000, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 200000, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_5L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 256);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 2));
+    if(err != KErrArgument) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_2_6L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(1, 100000, 3);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30, 63, 1, 63, 1023);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    TRAP(err,ConvertLocationInfoL(0, 1, 0));
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_3_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(5);
+    if(err != KErrCancel) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_3_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = SetWLanInfoL(2, 100000, 255);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(5);
+    if(err != KErrCancel) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_3_3L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(6);
+    // Unsure of the correct result here, should be an error after cancellation?
+    if(err != KErrNotFound) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_3_4L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(7);
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+void CStep::test_2698_5_4_1L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 100, 200, 300, 30);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    err = MiscL(8);
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+ 
+};
+
+
+
+void CStep::test_MultipleSessionsOneAfterAnotherL()
+{
+	TInt err = KErrNone;
+	TUint Uidinteger = 537007117;      // Example
+	TUid uid = TUid::Uid( Uidinteger );
+	iLbsLocationInfo = CLbsLocationInfo::NewLC();
+	CleanupStack::Pop(iLbsLocationInfo);
+     
+	iObserver = CTelocationinfoconversionobserver::NewL();
+	iLbsLocationInfoConverter = CLbsLocationInfoConverter::NewL(*iObserver,uid);
+	TBuf8<6> macidbuf;
+	TInt macidint = 1;
+	macidbuf.AppendNum(macidint);
+	CLbsWlanInfo* wlaninfo;    
+	TInt signalstrength = 20;
+	wlaninfo=CLbsWlanInfo::NewL( macidbuf,signalstrength); 
+	iLbsLocationInfo->AddAreaInfoL(wlaninfo);
+    
+	iLbsLocationInfoArrayTemp.Append(iLbsLocationInfo);
+
+	iLbsLocationInfoArray.Append(iLbsLocationInfo);
+
+	iLbsLocationInfo = CLbsLocationInfo::NewL();
+
+	iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,ELbsConversionSilent,ELbsConversionOutputPosition);
+ 
+      
+	CActiveScheduler::Start();
+
+	if( iObserver->ConversionResult() == KErrNone )
+		{
+		RPointerArray<CLbsAreaInfoBase> PosInfoList;
+		static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+		TInt count2 = PosInfoList.Count();
+		PosInfoList.ResetAndDestroy();
+		}
+
+	// Cleanup();
+    
+	err = KErrNone;
+	TUint Uidinteger2 = 537007117;      // Example
+	TUid uid2 = TUid::Uid( Uidinteger2 );
+	iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+      
+	iObserver2 = CTelocationinfoconversionobserver::NewL();
+	iLbsLocationInfoConverter2 = CLbsLocationInfoConverter::NewL(*iObserver2,uid2);
+	TBuf8<6> macidbuf2;
+	TInt macidint2 = 1;
+	macidbuf2.AppendNum(macidint2);
+	CLbsWlanInfo* wlaninfo2;    
+	TInt signalstrength2 = 20;
+	wlaninfo2=CLbsWlanInfo::NewL( macidbuf2,signalstrength2); 
+	iLbsLocationInfo2->AddAreaInfoL(wlaninfo2);
+     
+	iLbsLocationInfoArrayTemp.Append(iLbsLocationInfo2);
+
+	iLbsLocationInfoArray.Append(iLbsLocationInfo2);
+
+	iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+
+	iLbsLocationInfoConverter2->ConvertLocationInfoL(iLbsLocationInfoArray,ELbsConversionSilent,ELbsConversionOutputPosition);
+  
+	CActiveScheduler::Start();
+
+	if( iObserver2->ConversionResult() == KErrNone )
+		{
+		RPointerArray<CLbsAreaInfoBase> PosInfoList;
+		static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+		TInt count2 = PosInfoList.Count();
+		PosInfoList.ResetAndDestroy();
+		}
+
+	Cleanup();
+   
+	if(iLbsLocationInfo2)
+		{
+		delete iLbsLocationInfo2;
+		iLbsLocationInfo2 = NULL;
+		}
+	if(iLbsLocationInfoConverter2)
+		{
+		delete iLbsLocationInfoConverter2;
+		iLbsLocationInfoConverter2 = NULL;
+		}
+     
+	if(iObserver2)
+		{
+		delete iObserver2;
+		iObserver2 = NULL;
+		}
+
+};
+
+void CStep::test_MultipleCoversionsAtSameTimeL()
+{	// two conversion at same time!
+	TInt err = KErrNone;
+	TUint Uidinteger = 537007117;      // Example
+	TUid uid = TUid::Uid( Uidinteger );
+	iLbsLocationInfo = CLbsLocationInfo::NewL();
+     
+	iObserver = CTelocationinfoconversionobserver::NewL();
+	iLbsLocationInfoConverter = CLbsLocationInfoConverter::NewL(*iObserver,uid);
+	TBuf8<6> macidbuf;
+	TInt macidint = 1;
+	macidbuf.AppendNum(macidint);
+	CLbsWlanInfo* wlaninfo;    
+	TInt signalstrength = 20;
+	wlaninfo=CLbsWlanInfo::NewL( macidbuf,signalstrength); 
+	iLbsLocationInfo->AddAreaInfoL(wlaninfo);
+    
+	iLbsLocationInfoArrayTemp.Append(iLbsLocationInfo);
+
+	iLbsLocationInfoArray.Append(iLbsLocationInfo);
+
+	iLbsLocationInfo = CLbsLocationInfo::NewL();
+
+    err = KErrNone;
+	TUint Uidinteger2 = 537007117;      // Example
+	TUid uid2 = TUid::Uid( Uidinteger2 );
+	iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+      
+	iObserver2 = CTelocationinfoconversionobserver::NewL();
+	iLbsLocationInfoConverter2 = CLbsLocationInfoConverter::NewL(*iObserver2,uid2);
+	TBuf8<6> macidbuf2;
+	TInt macidint2 = 1;
+	macidbuf2.AppendNum(macidint2);
+	CLbsWlanInfo* wlaninfo2;    
+	TInt signalstrength2 = 20;
+	wlaninfo2=CLbsWlanInfo::NewL( macidbuf2,signalstrength2); 
+	iLbsLocationInfo2->AddAreaInfoL(wlaninfo2);
+     
+	iLbsLocationInfoArrayTemp2.Append(iLbsLocationInfo2);
+
+	iLbsLocationInfoArray2.Append(iLbsLocationInfo2);
+
+	iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+
+	iLbsLocationInfoConverter->ConvertLocationInfoL(iLbsLocationInfoArray,ELbsConversionSilent,ELbsConversionOutputPosition);
+	iLbsLocationInfoConverter2->ConvertLocationInfoL(iLbsLocationInfoArray2,ELbsConversionSilent,ELbsConversionOutputPosition);
+  
+	CActiveScheduler::Start();
+
+	TInt error = iObserver->ConversionResult(); 
+	if( error == KErrNone )
+		{
+		RPointerArray<CLbsAreaInfoBase> PosInfoList;
+		static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray[0])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+		TInt count2 = PosInfoList.Count();
+		PosInfoList.ResetAndDestroy();
+		}
+	else
+		{
+		INFO_PRINTF2(_L("iObserver->ConversionResulterror = %d"), error);
+			
+		}
+	
+	CActiveScheduler::Start();
+
+	error = iObserver2->ConversionResult();
+	if( error == KErrNone )
+		{
+		RPointerArray<CLbsAreaInfoBase> PosInfoList;
+		static_cast<CLbsLocationInfo*>(iLbsLocationInfoArray2[0])->GetAreaInfoL(PosInfoList,CLbsLocationInfo::ELbsPosInfo);
+		TInt count2 = PosInfoList.Count();
+		PosInfoList.ResetAndDestroy();
+		}
+	else
+		{
+		INFO_PRINTF2(_L("iObserver->ConversionResult error = %d"), error);
+		User::Leave(error);
+		}
+
+	Cleanup();
+   
+	if(iLbsLocationInfo2)
+		{
+		delete iLbsLocationInfo2;
+		iLbsLocationInfo2 = NULL;
+		}
+	if(iLbsLocationInfoConverter2)
+		{
+		delete iLbsLocationInfoConverter2;
+		iLbsLocationInfoConverter2 = NULL;
+		}
+     
+	if(iObserver2)
+		{
+		delete iObserver2;
+		iObserver2 = NULL;
+		}
+    iLbsLocationInfoArrayTemp2.ResetAndDestroy();
+    iLbsLocationInfoArray2.Reset();
+};
+
+void CStep::test_MultipleResolversAtSameTimeL()
+{
+    TInt err = KErrNone;
+ 
+    iApiId =1; // use resolver
+    	
+
+    TUint Uidinteger = 537007117;      // Example
+    TUid uid = TUid::Uid( Uidinteger );
+    iLbsLocationInfo = CLbsLocationInfo::NewL();
+      
+    iResolverObserver = CTeLocationResolverObserver::NewL();
+    iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid);
+
+
+    iLbsLocationInfo2 = CLbsLocationInfo::NewL();
+      
+    iResolverObserver2 = CTeLocationResolverObserver::NewL();
+    iLbsLocationResolver2 = CLbsLocationResolver::NewL(*iResolverObserver2,uid);
+
+    SetGSMCellInfoL(1, 404, 49, 16, 7141);
+    if(err != KErrNone) User::Leave(err);
+    
+    err = SetGSMCellInfo2L(1, 404, 49, 16, 7141);
+    if(err != KErrNone) User::Leave(err);
+    
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    
+    AddLocationInfo2L();
+    if(err != KErrNone) User::Leave(err);
+    
+    ConvertLocationInfoL(1, 1, 0);
+    
+    ConvertLocationInfo2L(1, 1, 0);
+    
+    err = ValidateLocationInfo();
+    if(err != KErrNone) User::Leave(err);
+    
+    err = ValidateLocationInfo2();
+    if(err != KErrNone) User::Leave(err);
+    Cleanup();
+
+//
+    
+    if(iLbsLocationInfo2)
+        {
+        delete iLbsLocationInfo2;
+        iLbsLocationInfo2 = NULL;
+        }
+    if(iLbsLocationInfoConverter2)
+        {
+        delete iLbsLocationInfoConverter2;
+        iLbsLocationInfoConverter2 = NULL;
+        }
+    if(iLbsLocationResolver2)
+        {
+        delete iLbsLocationResolver2;
+        iLbsLocationResolver2 = NULL;
+        }
+    if(iObserver2)
+        {
+        delete iObserver2;
+        iObserver2 = NULL;
+        }
+    if(iResolverObserver2)
+        {
+        delete iResolverObserver2;
+        iResolverObserver2 = NULL;
+        }
+    iLbsLocationInfoArrayTemp2.ResetAndDestroy();
+    iLbsLocationInfoArray2.Reset();
+ 
+    //
+};
+
+
+
+void CStep::test_2698_5_4_2L()
+{
+    TInt err = KErrNone;
+ 
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    SetGSMCellInfoL(1, 404, 49, 16, 7141);
+    if(err != KErrNone) User::Leave(err);
+    AddLocationInfoL();
+    if(err != KErrNone) User::Leave(err);
+    ConvertLocationInfoL(1, 1, 0);
+    if(err != KErrNone) User::Leave(err);
+    err = ValidateLocationInfo();
+    if(err != KErrNotFound) User::Leave(err);
+    Cleanup();
+};
+
+
+void CStep::test_SetAndGetConversionPrefs()
+{
+    TInt err = KErrNone;
+    
+    err = CreateLocationInfoConverterL();
+    if(err != KErrNone) User::Leave(err);
+    err = GetAndCheckConversionPrefs(0);//default value ELbsConversionNotDefined (0x0000)
+    if(err != KErrNone) User::Leave(err);
+    err = SetConversionPrefs(4);    //ELbsConversionPrompt(0x0004)
+    if(err != KErrNone) User::Leave(err);
+    err = GetAndCheckConversionPrefs(4);
+    if(err != KErrNone) User::Leave(err);
+    err = SetConversionPrefs(15);
+    if(err != KErrArgument) User::Leave(err);
+    err = SetConversionPrefs(999999999);
+    if(err != KErrArgument) User::Leave(err);
+    err = GetAndCheckConversionPrefs(4);    //Check if previously set value has been retained
+    if(err != KErrNone) User::Leave(err);
+    err = SetConversionPrefs(64);    //Is a valid value though the current max in the enum list is only 4
+    if(err != KErrNone) User::Leave(err);
+    err = GetAndCheckConversionPrefs(64);    //Check if previously set value has been retained
+    if(err != KErrNone) User::Leave(err);
+    
+    Cleanup();
+};
+
+typedef struct 
+	{
+	TInt 	countryCode;
+	TInt 	networkCode;
+	TInt 	locationCode;
+	TInt 	cellId;
+	TBool 	fromPlugin;
+	} 
+sGsmInfo;
+
+/*
+ * Here, we test the mode where localities coming from the converter are cache.
+ * Thus the third and forth localities  should come from the cache and NOT the
+ * plugin 
+ */
+const TInt KTestCacheArraySize= 4;
+sGsmInfo testArray[KTestCacheArraySize] = {
+		{44, 49, 16, 714, 	ETrue },
+		{45, 50, 17, 714, 	ETrue},
+		{45, 50, 17, 714, 	EFalse},
+		{45, 50, 17, 714, 	EFalse}
+};
+
+
+void CStep::test_cacheL()
+{
+	   TInt err = KErrNone;
+	   iApiId =1; // use resolver
+   
+	   TUint Uidinteger = 537007117;
+	   TUid uid = TUid::Uid( Uidinteger );
+	   
+	   for (TUint i = 0; i < KTestCacheArraySize; i++)
+		   {
+			TRAPD(leaveErr, iLbsLocationInfo = CLbsLocationInfo::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationInfo = CLbsLocationInfo::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iResolverObserver = CTeLocationResolverObserver::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("CTeLocationResolverObserver::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid));
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,SetGSMCellInfoL(1, 
+					testArray[i].countryCode, 
+					testArray[i].networkCode,
+					testArray[i].locationCode, 
+					testArray[i].cellId , KTimingAdvanceSpecialValue)); // timing advance 254 is special!
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("SetGSMCellInfoL LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	
+			TRAP(leaveErr, AddLocationInfoL());
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("AddLocationInfoL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	      
+			TRAP(leaveErr, ConvertLocationInfoL(1, 1, 0));
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("ConvertLocationInfoL(1, 1, 0)) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	       
+			TInt err = ValidateLocationInfo();
+			if( KErrNone !=err)
+				{
+				INFO_PRINTF2(_L("ValidateLocationInfo() returns error =%d"), err);
+				User::Leave(err);
+				}
+	    
+			TLocality locality;
+			TBool fromCache = iResolverObserver->ConversionLocality(locality);
+	    
+			TReal64 lat = locality.Latitude();
+			TReal64 lng = locality.Longitude();
+			TReal32 alt = locality.Altitude();
+	
+			TInt cCode = testArray[i].countryCode; 
+			if (cCode != (TInt)lat)
+				{
+				INFO_PRINTF2(_L("VcCode != (TInt)lat error =%d"), KErrGeneral);
+			
+				User::Leave(KErrGeneral);
+				}
+	
+			TInt nCode = testArray[i].networkCode; 
+			if (nCode != (TInt)lng)
+				{
+				INFO_PRINTF2(_L("nCode != (TInt)lng error =%d"), KErrGeneral);
+			
+				User::Leave(KErrGeneral);
+				}
+					
+			TInt lCode = testArray[i].locationCode; 
+			if (lCode != (TInt)alt)
+				{
+				INFO_PRINTF2(_L("lCode != (TInt)alt error =%d"), KErrGeneral);
+
+				User::Leave(KErrGeneral);
+				}
+	    
+
+			if (fromCache)
+				{
+				INFO_PRINTF4(_L("From Cache(lat=%Lf, lng=%Lf, alt=%f"),lat,lng,alt);
+				if (testArray[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from Cache bit should have come from plugin"));
+					User::Leave(KErrGeneral);
+					}
+				}
+			else
+				{ // from plugin!
+				INFO_PRINTF4(_L("From plugin(lat=%Lf, lng=%Lf, alt=%f"),lat,lng,alt);
+				if (!testArray[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from plugin but should have come from Cache"));
+					User::Leave(KErrGeneral);
+					}
+				}
+			Cleanup();
+		   } // end of for loop
+};
+
+const TInt KTest2ArraySize= 4;
+
+/*
+ * Here all four converts should from the cache as the
+ * loc monitor has been instructed NOT to put things into the cache.
+ * The timing advance is used by the test (in an adhoc way!)
+ * to instruct the test plugin to tell the loc monitor NOT to put stuff
+ * in the cache
+ */
+sGsmInfo testArray2[KTest2ArraySize] = {
+		{44, 49, 16, 7141, 	ETrue },
+		{45, 50, 17, 714, 	ETrue},
+		{45, 50, 17, 714, 	ETrue},
+		{45, 50, 17, 714, 	ETrue}
+	
+};
+void CStep::test_cache2L()
+{
+		TInt err = KErrNone;
+	 
+		iApiId =1; // use resolver
+   
+		TUint Uidinteger = 537007117;      // Example
+		TUid uid = TUid::Uid( Uidinteger );
+		
+		for (TUint i = 0; i < KTest2ArraySize; i++)
+		   {
+			TRAPD(leaveErr, iLbsLocationInfo = CLbsLocationInfo::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationInfo = CLbsLocationInfo::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iResolverObserver = CTeLocationResolverObserver::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("CTeLocationResolverObserver::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid));
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,SetGSMCellInfoL(1, 
+					testArray2[i].countryCode, 
+					testArray2[i].networkCode,
+					testArray2[i].locationCode, 
+					testArray2[i].cellId , KTimingAdvanceSaveToCacheFalse)); // timing advance is special!
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("SetGSMCellInfoL LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	
+			TRAP(leaveErr, AddLocationInfoL());
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("AddLocationInfoL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	      
+			TRAP(leaveErr, ConvertLocationInfoL(1, 1, 0));
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("ConvertLocationInfoL(1, 1, 0)) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	       
+			TInt err = ValidateLocationInfo();
+			if( KErrNone !=err)
+				{
+				INFO_PRINTF2(_L("ValidateLocationInfo() returns error =%d"), err);
+				User::Leave(err);
+				}
+	    
+			TLocality locality;
+			TBool fromCache = iResolverObserver->ConversionLocality(locality);
+	    
+			TReal64 lat = locality.Latitude();
+			TReal64 lng = locality.Longitude();
+			TReal32 alt = locality.Altitude();
+	
+			TInt cCode = testArray2[i].countryCode; 
+			if (cCode != (TInt)lat)
+				{
+				INFO_PRINTF2(_L("VcCode != (TInt)lat error =%d"), KErrGeneral);
+			
+				User::Leave(KErrGeneral);
+				}
+	
+			TInt nCode = testArray2[i].networkCode; 
+			if (nCode != (TInt)lng)
+				{
+				INFO_PRINTF2(_L("nCode != (TInt)lng error =%d"), KErrGeneral);
+			
+				User::Leave(KErrGeneral);
+				}
+					
+			TInt lCode = testArray2[i].locationCode; 
+			if (lCode != (TInt)alt)
+				{
+				INFO_PRINTF2(_L("lCode != (TInt)alt error =%d"), KErrGeneral);
+
+				User::Leave(KErrGeneral);
+				}
+	    
+
+			if (fromCache)
+				{
+				INFO_PRINTF4(_L("From Cache(lat=%Lf, lng=%Lf, alt=%f"),lat,lng,alt);
+				if (testArray2[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from Cache bit should have come from plugin"));
+					User::Leave(KErrGeneral);
+					}
+				}
+			else
+				{ // from plugin!
+				INFO_PRINTF4(_L("From plugin(lat=%Lf, lng=%Lf, alt=%f"),lat,lng,alt);
+				if (!testArray2[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from plugin but should have come from Cache"));
+					User::Leave(KErrGeneral);
+					}
+				}
+			Cleanup();
+		   } // end of for loop
+};
+
+
+
+/* this tests the cache behaviour when a non-exact match occurs.
+ * For example, when cache contains
+ * CC=A, NC=B, LC=C, CID=D Lat=20.0, Long=30.0 Acc=5.0m
+ * and we look up 
+ * CC=A, NC=B, LC=X, CID=Y
+ * then  CC=A, NC=B results in a partial match occurs and the accuracy
+ * of Lat=20.0, Long=30.0 is the accuracy associated with a
+ * partial CC=A, NC=B match (1000000.0)
+ * Notes:
+ * CC=A, NC=B, LC=C, CID=D Lat=20.0, Long=30.0 Acc=5.0m
+ * followed by 
+ * CC=A, NC=B, LC=C, CID=D Lat=20.0, Long=30.1 Acc=5.1m
+ * results inn a single entry of 
+ * CC=A, NC=B, LC=C, CID=D Lat=20.0, Long=30.1 Acc=5.1m in cache
+ * KWlanAccuracy 			= 100.0; - not used currently
+ * KCellFullAccuracy 		= 3000.0; CC and NC and LC and CID
+ * KCellLocationAccuracy 	= 30000.0; CC and NC and LC match
+ * KCellCountryAccuracy 	= 1000000.0; CC only or CC + NC
+ * 
+ * If in cache we have:
+ * CC=A, NC=B, LC=C, CID=D Lat=20.0, Long=30.0 Acc=5.0m
+ * CC=A, NC=B, LC=C, CID=E Lat=20.1, Long=30.0 Acc=6.0m
+ * 
+ * and we try to match
+ * CC=A, NC=B, LC=C
+ * then we get from the cache the most recent and not the most accurate
+ * Lat=20.1, Long=30.0 Acc=3000.0
+ * 
+ */
+
+
+typedef struct 
+	{
+	TInt 	countryCode; 	// -> lat of position composed by plugin
+	TInt 	networkCode; 	// -> long of position composed by plugin
+	TInt 	locationCode; 	// -> alt of position composed by plugin
+	TInt 	cellId;			// -> horizontal accuracy of position composed by plugin
+	TBool 	fromPlugin; 	// when false then it is expected that locality comes out of cache 
+	TInt	expectedHorAccuracyWhenFromCache; // and these values below are the expected values 
+	TInt	expectedLatitudeWhenFromCache;
+	TInt	expectedLongitudeWhenFromCache; // note absence of Vertical accuracy
+											// here - as it is set to Nan by the lc monitor
+	} 
+sGsmInfoExtended;
+
+const TInt KTestArraySize= 18;
+
+sGsmInfoExtended testArray3[KTestArraySize] = {
+// test the case where there a non-exact match
+// and the position returned by the plugin is less accurate
+// than the one deduced from the cache
+//   cc	nc	 lc  cid
+
+	{44, 49, 16, 714, 		ETrue, 		-1, 	-1,	-1}, //stored in cash
+	{45, 50, 17, 714, 		ETrue, 		-1, 	-1,	-1},
+	{45, 50, 17, 30001, 	EFalse,		30000,	45,	50},// not saved in cache - cc and nc and lc match with plugins less accurate than cached
+	{45, 50, 18, 1000001, 	EFalse,		1000000,45,	50},// not saved in cache - cc and nc  match with plugins less accurate than cached 
+	{45, 51, 18, 1000001,	EFalse,		1000000,45,	50},// not saved in cache -cc only match with plugins less accurate than cached
+	{45, 50, 17, 714, 		EFalse,		3000,	45,	50},// exact match - to cellid level 
+														// regardless, should use cache
+	// test the case where there a non-exact match
+	// and the position returned by the plugin is more accurate
+	// than the one deduced from the cache
+	{54, 49, 16, 714, 		ETrue,		-1, 	-1,	-1},
+	{55, 50, 17, 714, 		ETrue,		-1, 	-1,	-1},
+	{55, 50, 17, 2999, 		ETrue,		-1, 	-1,	-1},		// cc and nc and lc match with plugins less accurate than cached
+	{55, 50, 18, 29999, 	ETrue,		-1, 	-1,	-1},		// cc and nc  match with plugins less accurate than cached 
+	{55, 51, 18, 999999,	ETrue,		-1, 	-1,	-1},		// cc only match with plugins less accurate than cached
+	{55, 50, 17, 714, 		EFalse,		3000, 	55,	50},		// exact match - to cellid level 
+																// regardless, should use cache
+	// now check that cache contains all the exact matches it should
+	// note that several of the entries above were NOT saved in cache
+	// because the value returned by the plugin was not accurate enough
+	{44, 49, 16, 714,		EFalse,		3000, 	44,	49},
+	{45, 50, 17, 714, 		EFalse,		3000, 	45,	50},
+	{45, 50, 17, 714, 		EFalse,		3000, 	45,	50},
+	{54, 49, 16, 714, 		EFalse,		3000, 	54,	49},
+	{45, 50, 17, 714, 		EFalse,		3000, 	45,	50},
+	{45, 50, 17, 714,		EFalse,		3000, 	45,	50}
+};
+
+void CStep::test_cache3L()
+{
+	   TInt err = KErrNone;
+	 
+		iApiId =1; // use resolver
+   
+		TUint Uidinteger = 537007117;      // Example
+		TUid uid = TUid::Uid( Uidinteger );
+		
+		for (TUint i = 0; i < KTestArraySize; i++)
+		   {
+		
+			TRAPD(leaveErr, iLbsLocationInfo = CLbsLocationInfo::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationInfo = CLbsLocationInfo::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iResolverObserver = CTeLocationResolverObserver::NewL());
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("CTeLocationResolverObserver::NewL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid));
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("iLbsLocationResolver = CLbsLocationResolver::NewL(*iResolverObserver,uid) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+			
+			TRAP(leaveErr,SetGSMCellInfoL(1, 
+					testArray3[i].countryCode, 
+					testArray3[i].networkCode,
+					testArray3[i].locationCode, 
+					testArray3[i].cellId , KTimingAdvanceSaveToCacheTrue)); // timing advance is special!
+			if (KErrNone != leaveErr )
+				{
+				INFO_PRINTF2(_L("SetGSMCellInfoL LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	
+			TRAP(leaveErr, AddLocationInfoL());
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("AddLocationInfoL() LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	      
+			TRAP(leaveErr, ConvertLocationInfoL(1, 1, 0));
+			if( KErrNone !=leaveErr) 
+				{
+				INFO_PRINTF2(_L("ConvertLocationInfoL(1, 1, 0)) LEAVES, error =%d"), leaveErr);
+				User::Leave(leaveErr);
+				}
+	       
+			TInt err = ValidateLocationInfo();
+			if( KErrNone !=err)
+				{
+				INFO_PRINTF2(_L("ValidateLocationInfo() returns error =%d"), err);
+				User::Leave(err);
+				}
+	    
+			TLocality locality;
+			TBool fromCache = iResolverObserver->ConversionLocality(locality);
+	    
+			TReal64 lat = locality.Latitude();
+			TReal64 lng = locality.Longitude();
+			TReal32 alt = locality.Altitude();
+	
+			TReal32 horAcc = locality.HorizontalAccuracy();
+			
+
+
+			if (fromCache)
+				{
+				INFO_PRINTF5(_L("From Cache(lat=%Lf, lng=%Lf, alt=%f horacc=%f"),lat,lng,alt,horAcc);
+				if (testArray3[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from Cache bit should have come from plugin"));
+					User::Leave(KErrGeneral);
+					}
+				// now check horizontal accuracy
+				TInt expectedAccuracy = testArray3[i].expectedHorAccuracyWhenFromCache;
+				if ( expectedAccuracy != (TInt)horAcc)
+					{
+					INFO_PRINTF1(_L("Test failed - incorrect horizontal accuracy read from plugin"));
+					INFO_PRINTF3(_L("Expected %d and got %d"),expectedAccuracy,(TInt)horAcc);
+								
+					User::Leave(KErrGeneral);
+					}
+				// now check latitude
+				TInt expectedLatitude = testArray3[i].expectedLatitudeWhenFromCache;
+				if ( expectedLatitude != (TInt)lat)
+					{
+					INFO_PRINTF1(_L("Test failed - incorrect latitude read from plugin"));
+					INFO_PRINTF3(_L("Expected %d and got %d"),expectedLatitude,(TInt)lat);
+								
+					User::Leave(KErrGeneral);
+					}
+
+				// now check longitude
+				TInt expectedLongitude = testArray3[i].expectedLongitudeWhenFromCache;
+				if ( expectedLongitude != (TInt)lng)
+					{
+					INFO_PRINTF1(_L("Test failed - incorrect Longitude read from plugin"));
+					INFO_PRINTF3(_L("Expected %d and got %d"),expectedLongitude,(TInt)lng);
+									
+					User::Leave(KErrGeneral);
+					}
+
+				}
+			else
+				{ // from plugin!
+				INFO_PRINTF5(_L("From plugin(lat=%Lf, lng=%Lf, alt=%f horacc=%f"),lat,lng,alt,horAcc);
+				if (!testArray3[i].fromPlugin)
+					{
+					INFO_PRINTF1(_L("Test failed - Position got from plugin but should have come from Cache"));
+					User::Leave(KErrGeneral);
+					}
+				// now check horizontal accuracy
+				TInt cellId = testArray3[i].cellId; 
+				if ( cellId != (TInt)horAcc)
+					{
+					INFO_PRINTF1(_L("Test failed - incorrect horizontal accuracy read from plugin"));
+					INFO_PRINTF3(_L("Expected %d and got %d"),cellId,(TInt)horAcc);
+
+					User::Leave(KErrGeneral);
+					}
+				TInt cCode = testArray3[i].countryCode; 
+				if (cCode != (TInt)lat)
+					{
+					INFO_PRINTF2(_L("VcCode != (TInt)lat error =%d"), KErrGeneral);
+				
+					User::Leave(KErrGeneral);
+					}
+		
+				TInt nCode = testArray3[i].networkCode; 
+				if (nCode != (TInt)lng)
+					{
+					INFO_PRINTF2(_L("nCode != (TInt)lng error =%d"), KErrGeneral);
+				
+					User::Leave(KErrGeneral);
+					}
+						
+				TInt lCode = testArray3[i].locationCode; 
+				if (lCode != (TInt)alt)
+					{
+					INFO_PRINTF2(_L("lCode != (TInt)alt error =%d"), KErrGeneral);
+
+					User::Leave(KErrGeneral);
+					}
+		    
+				}
+			Cleanup();
+		   } // end of for loop
+};
+void CStep::CallL(TInt aId)
+{
+    switch(aId)
+    {
+//        case 0: GetAllLocationInfoL(); break;
+    	case KErrNotFound:
+    		INFO_PRINTF1(_L("Test case not found"));
+    		User::Leave(KErrNotFound);
+    		break;
+    		
+        case 1: test_2698_4_1_1_1L(); break;
+        case 2: test_2698_4_1_1_3L(); break;
+        case 3: test_2698_4_1_1_4L(); break;
+        case 4: test_2698_4_1_1_5L(); break;
+        case 5: test_2698_4_1_1_6L(); break;
+        case 6: test_2698_4_1_1_7L(); break;
+        case 7: test_2698_4_1_1_8L(); break;
+        case 8: test_2698_4_1_1_9L(); break;
+        case 9: test_2698_4_1_1_10L(); break;
+        case 10: test_2698_4_1_1_11L(); break;
+        case 11: test_2698_4_1_1_12L(); break;
+        case 12: test_2698_4_1_1_13L(); break;
+        case 13: test_2698_4_1_2L(); break;
+        case 14: test_2698_4_1_3L(); break;
+        case 15: test_2698_4_1_4L(); break;
+        case 16: test_2698_4_1_5L(); break;
+        case 17: test_2698_4_1_6L(); break;
+        case 18: test_2698_4_1_7L(); break;
+        case 19: test_2698_4_1_8L(); break;
+        case 20: test_2698_4_1_9L(); break;
+        case 21: test_2698_4_1_10L(); break;
+        case 22: test_2698_4_1_11L(); break;
+        case 23: test_2698_4_1_12L(); break;
+        case 24: test_2698_4_1_13L(); break;
+        case 25: test_2698_4_1_14L(); break;
+        case 26: test_2698_4_1_15L(); break;
+        case 27: test_2698_4_1_16L(); break;
+        case 28: test_2698_4_1_17L(); break;
+        case 29: test_2698_4_1_18L(); break;
+        case 30: test_2698_4_1_19L(); break;
+        case 31: test_2698_4_1_20L(); break;
+        case 32: test_2698_4_1_21L(); break;
+        case 33: test_2698_4_1_22L(); break;
+        case 34: test_2698_4_1_23L(); break;
+        case 35: test_2698_4_1_24L(); break;
+        case 36: test_2698_4_1_25L(); break;
+        case 37: test_2698_4_1_26L(); break;
+        case 38: test_2698_4_1_27L(); break;
+        case 39: test_2698_4_1_28_1L(); break;
+        case 40: test_2698_4_1_28_1_3L(); break;
+        case 41: test_2698_4_1_28_1_4L(); break;
+        case 42: test_2698_4_1_28_1_5L(); break;
+        case 43: test_2698_4_1_28_1_6L(); break;
+        case 44: test_2698_4_1_28_1_7L(); break;
+        case 45: test_2698_4_1_28_1_8L(); break;
+        case 46: test_2698_4_1_28_1_9L(); break;
+        case 47: test_2698_4_1_28_1_10L(); break;
+        case 48: test_2698_4_1_28_2L(); break;
+        case 49: test_2698_4_1_29L(); break;
+        case 50: test_2698_4_1_30L(); break;
+        case 51: test_2698_4_1_31L(); break;
+        case 52: test_2698_4_1_32L(); break;
+        case 53: test_2698_4_1_33L(); break;
+        case 54: test_2698_4_1_34L(); break;
+        case 55: test_2698_4_1_35L(); break;
+        case 56: test_2698_4_1_36L(); break;
+        case 57: test_2698_4_1_37L(); break;
+        case 58: test_2698_4_1_38L(); break;
+        case 59: test_2698_4_1_39L(); break;
+        case 60: test_2698_4_1_40L(); break;
+        case 61: test_2698_4_1_41L(); break;
+        case 62: test_2698_4_1_42L(); break;
+        case 63: test_2698_4_1_43L(); break;
+        case 64: test_2698_4_1_44L(); break;
+        case 65: test_2698_4_1_45L(); break;
+        case 66: test_2698_4_1_46L(); break;
+        case 67: test_2698_4_1_47_1L(); break;
+        case 68: test_2698_4_1_47_2L(); break;
+        case 69: test_2698_4_1_47_3L(); break;
+        case 70: test_2698_4_1_49_1L(); break;
+        case 71: test_2698_4_1_49_2L(); break;
+        case 72: test_2698_4_1_51L(); break;
+        case 73: test_2698_4_1_52L(); break;
+        case 74: test_2698_4_1_53L(); break;
+        case 75: test_2698_4_2_1L(); break;
+        case 76: test_2698_4_2_2L(); break;
+        case 77: test_2698_4_2_3L(); break;
+        case 78: test_2698_4_2_4L(); break;
+        case 79: test_2698_4_2_5L(); break;
+        case 80: test_2698_4_2_6L(); break;
+        case 81: test_2698_4_2_7L(); break;
+        case 82: test_2698_4_2_8L(); break;
+        case 83: test_2698_4_2_9L(); break;
+        case 84: test_2698_4_2_10L(); break;
+        case 85: test_2698_4_2_11L(); break;
+        case 86: test_2698_4_2_12L(); break;
+        case 87: test_2698_4_2_13L(); break;
+        case 88: test_2698_4_2_14L(); break;
+        case 89: test_2698_4_2_15L(); break;
+        case 90: test_2698_4_2_16L(); break;
+        case 91: test_2698_4_2_17L(); break;
+        case 92: test_2698_4_2_18L(); break;
+        case 93: test_2698_4_2_19L(); break;
+        case 94: test_2698_4_2_20L(); break;
+        case 95: test_2698_4_2_21L(); break;
+        case 96: test_2698_4_2_22L(); break;
+        case 97: test_2698_4_3_1_1L(); break;
+        case 98: test_2698_4_3_2_1L(); break;
+        case 99: test_2698_4_3_2_2L(); break;
+        case 100: test_2698_4_3_4L(); break;
+        case 101: test_2698_4_3_5L(); break;
+        case 102: test_2698_4_3_6L(); break;
+        case 103: test_2698_4_3_7L(); break;
+        case 104: test_2698_4_3_8L(); break;
+        case 105: test_2698_4_3_9L(); break;
+        case 106: test_2698_4_3_10L(); break;
+        case 107: test_2698_4_4_1L(); break;
+        case 108: test_2698_4_4_2L(); break;
+        case 109: test_2698_4_4_3L(); break;
+        case 110: test_2698_4_4_4L(); break;
+        case 111: test_2698_4_5_1L(); break;
+        case 112: test_2698_4_5_2L(); break;
+        case 113: test_2698_5_1_1L(); break;
+        case 114: test_2698_5_1_2L(); break;
+        case 115: test_2698_5_1_3L(); break;
+        case 116: test_2698_5_1_4L(); break;
+        case 117: test_2698_5_1_5L(); break;
+        case 118: test_2698_5_1_6L(); break;
+        case 119: test_2698_5_1_7L(); break;
+        case 120: test_2698_5_1_8L(); break;
+        case 121: test_2698_5_1_9L(); break;
+        case 122: test_2698_5_1_10L(); break;
+        case 123: test_2698_5_1_11L(); break;
+        case 124: test_2698_5_1_12L(); break;
+        case 125: test_2698_5_1_13L(); break;
+        case 126: test_2698_5_1_14L(); break;
+        case 127: test_2698_5_1_15L(); break;
+        case 128: test_2698_5_1_16L(); break;
+        case 129: test_2698_5_1_17L(); break;
+        case 130: test_2698_5_1_18L(); break;
+        case 131: test_2698_5_1_19L(); break;
+        case 132: test_2698_5_1_20L(); break;
+        case 133: test_2698_5_1_21L(); break;
+        case 134: test_2698_5_1_22L(); break;
+        case 135: test_2698_5_1_23L(); break;
+        case 136: test_2698_5_1_24L(); break;
+        case 137: test_2698_5_1_25L(); break;
+        case 138: test_2698_5_1_26L(); break;
+        case 139: test_2698_5_1_27L(); break;
+        case 140: test_2698_5_2_1L(); break;
+        case 141: test_2698_5_2_2L(); break;
+        case 142: test_2698_5_2_3L(); break;
+        case 143: test_2698_5_2_4L(); break;
+        case 144: test_2698_5_2_5L(); break;
+        case 145: test_2698_5_2_6L(); break;
+        case 146: test_2698_5_3_1L(); break;
+        case 147: test_2698_5_3_2L(); break;
+        case 148: test_2698_5_3_3L(); break;
+        case 149: test_2698_5_3_4L(); break;
+        case 150: test_2698_5_4_1L(); break;
+        case 151: test_MultipleCoversionsAtSameTimeL(); break;
+        case 152: test_MultipleSessionsOneAfterAnotherL(); break;
+        case 153: test_MultipleResolversAtSameTimeL(); break;
+        case 154: test_2698_5_4_2L(); break;
+        case 155: test_SetAndGetConversionPrefs(); break;
+        case 156: test_cacheL(); break;
+        case 157: test_cache2L(); break;
+        case 158: test_cache3L(); break;
+    };
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/te_lbslocationinfoconvertersuiteserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -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:
+*
+*/
+
+
+#include "te_lbslocationinfoconvertersuiteserver.h"
+#include "step.h"
+
+#include "te_lbslocationinfoconvertersuitedefs.h"
+_LIT(KServerName,"te_lbslocationinfoconvertersuite");
+CTe_LbsLocationMonitorSuite* CTe_LbsLocationMonitorSuite::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CTe_LbsLocationMonitorSuite * server = new (ELeave) CTe_LbsLocationMonitorSuite();
+	CleanupStack::PushL(server);
+
+	server->ConstructL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+void CTe_LbsLocationMonitorSuite::ConstructL(const TDesC& aName)
+	{
+	CTestServer::ConstructL(aName);
+
+	}
+
+CTe_LbsLocationMonitorSuite::~CTe_LbsLocationMonitorSuite()
+	{
+
+	}
+
+
+
+// Secure variants much simpler
+// For EKA2, just an E32Main and a MainL()
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+	// Leave the hooks in for platform security
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().DataCaging(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CTe_LbsLocationMonitorSuite* server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CTe_LbsLocationMonitorSuite::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return err;
+    }
+
+
+CTestStep* CTe_LbsLocationMonitorSuite::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Secure and non-secure variants
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep* testStep = NULL;
+
+	TRAPD(err,
+	if(aStepName == KStep)
+		testStep = new(ELeave) CStep();
+	);
+	if(KErrNone != err)
+		{
+		INFO_PRINTF2(KErrorCreateTELBSLocationMonitorTestStep, err);
+		}
+	
+	return testStep;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/te_lbslocationinforconvertertef/src/te_lbslocationinfoconvertersuitestepbase.cpp	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+ 
+#include "te_lbslocationinfoconvertersuitestepbase.h"
+
+
+TVerdict CTe_LbsLocationInfoConverterSuiteStepBase::doTestStepPreambleL()
+/**
+ * @return - TVerdict
+ * Implementation of CTestStep base class virtual
+ * It is used for doing all initialisation common to derived classes in here.
+ * Make it being able to leave if there are any errors here as there's no point in
+ * trying to run a test step if anything fails.
+ * The leave will be picked up by the framework.
+ */
+	{
+    iScheduler = new(ELeave) CActiveScheduler();
+    CActiveScheduler::Install(iScheduler);
+
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTe_LbsLocationInfoConverterSuiteStepBase::doTestStepPostambleL()
+/**
+ * @return - TVerdict
+ * Implementation of CTestStep base class virtual
+ * It is used for doing all after test treatment common to derived classes in here.
+ * Make it being able to leave
+ * The leave will be picked up by the framework.
+ */
+	{
+	return TestStepResult();
+	}
+
+CTe_LbsLocationInfoConverterSuiteStepBase::~CTe_LbsLocationInfoConverterSuiteStepBase()
+	{
+
+	}
+
+CTe_LbsLocationInfoConverterSuiteStepBase::CTe_LbsLocationInfoConverterSuiteStepBase()
+	{
+
+	}
+
+
+TInt CTe_LbsLocationInfoConverterSuiteStepBase::GetTestCaseId()
+    {
+    TInt testCaseId(KErrNotFound);
+    // Ini file key names for test cases
+    _LIT(KTestCaseId, "tc_id");
+    TInt err = GetIntFromConfig(ConfigSection(), KTestCaseId, testCaseId);
+    return testCaseId;
+    }
+
+TInt CTe_LbsLocationInfoConverterSuiteStepBase::GetTestCaseApi()
+    {
+    TInt testCaseApi(0);
+    // Ini file key names for test cases
+    _LIT(KTestCaseApi, "tc_api");
+    TInt err = GetIntFromConfig(ConfigSection(), KTestCaseApi, testCaseApi);
+    return testCaseApi;
+    }
+
+TInt CTe_LbsLocationInfoConverterSuiteStepBase::GetPluginUid()
+    {
+    TInt pluginUid(KErrNotFound);
+    // Ini file key names for test cases
+    _LIT(KPluginUid, "plugin_uid");
+    TInt err = GetIntFromConfig(ConfigSection(), KPluginUid, pluginUid);
+    return pluginUid;
+    }
+void CTe_LbsLocationInfoConverterSuiteStepBase::InitWaitersL()
+	{
+
+	}
+
+
+void CTe_LbsLocationInfoConverterSuiteStepBase::DeleteWaiters()
+	{
+
+	}
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -1,31 +1,31 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-PRJ_TESTEXPORTS
-../scripts/te_LbsLocationMonitorDbSuite.script /epoc32/winscw/c/testdata/scripts/te_lbslocationmonitordbsuite.script
-../scripts/te_LbsLocationMonitorDbSuite2.script /epoc32/winscw/c/testdata/scripts/te_lbslocationmonitordbsuite2.script
-./te_lbslocationmonitordb.iby   /epoc32/rom/include/te_lbslocationmonitordb.iby
-
-PRJ_TESTMMPFILES
-te_lbslocationmonitordb.mmp
-
-
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_TESTEXPORTS
+../scripts/te_LbsLocationMonitorDbSuite.script /epoc32/winscw/c/testdata/scripts/te_lbslocationmonitordbsuite.script
+../scripts/te_LbsLocationMonitorDbSuite2.script /epoc32/winscw/c/testdata/scripts/te_lbslocationmonitordbsuite2.script
+./te_lbslocationmonitordb.iby   /epoc32/rom/include/te_lbslocationmonitordb.iby
+
+PRJ_TESTMMPFILES
+te_lbslocationmonitordb.mmp
+
+
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.iby	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.iby	Fri May 28 18:01:03 2010 +0100
@@ -1,30 +1,30 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef __LBS_TELOCATIONMONITOR_IBY__
-#define __LBS_TELOCATIONMONITOR_IBY__
-
-#if !defined(SYMBIAN_EXCLUDE_LOCATION)
-
-#include <testexecute.iby>
-
-file=ABI_DIR\DEBUG_DIR\te_lbslocationmonitordb.exe		sys\bin\te_lbslocationmonitordb.exe
-
-data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\te_LbsLocationMonitorDbSuite.script TestData\scripts\te_LbsLocationMonitorDbSuite.script
-
-#endif // SYMBIAN_EXCLUDE_LOCATION
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __LBS_TELOCATIONMONITOR_IBY__
+#define __LBS_TELOCATIONMONITOR_IBY__
+
+#if !defined(SYMBIAN_EXCLUDE_LOCATION)
+
+#include <testexecute.iby>
+
+file=ABI_DIR\DEBUG_DIR\te_lbslocationmonitordb.exe		sys\bin\te_lbslocationmonitordb.exe
+
+data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\te_LbsLocationMonitorDbSuite.script TestData\scripts\te_LbsLocationMonitorDbSuite.script
+
+#endif // SYMBIAN_EXCLUDE_LOCATION
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/group/te_lbslocationmonitordb.mmp	Fri May 28 18:01:03 2010 +0100
@@ -1,64 +1,65 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-TARGET			te_lbslocationmonitordbsuite.exe
-TARGETTYPE		exe
-
-CAPABILITY ALL -TCB
-
-UID				0x1000007A 0x102869E2
-
-VENDORID 0x70000001
-
-//MACRO ENABLE_LBS_DEV_LOGGER
-MACRO LBS_LOCMONITORDB_TEST
-
-SOURCEPATH		../src
-SOURCE			te_lbslocationmonitorsuiteserver.cpp
-SOURCE			te_lbslocationmonitorsuitestepbase.cpp
-SOURCE			clearstep.cpp
-SOURCE			dbstep.cpp
-SOURCE			negativestep.cpp
-SOURCE			replacestep.cpp
-SOURCE			timestampstep.cpp
-SOURCE			ctasyncwaiter.cpp
-SOURCE			persistencestep.cpp
-
-SOURCEPATH		../../../lbslocmonitorserver/src
-SOURCE	rlbslocmonitordb.cpp
-SOURCE	clbslocmonitordbengine.cpp
-SOURCE	lbslocmonitorareainfodefs.cpp
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-USERINCLUDE		../inc
-USERINCLUDE		../../../lbslocmonitorserver/inc
-USERINCLUDE   	../../../../locationcore/LbsPartnerCommon/inc
-
-LIBRARY			euser.lib
-LIBRARY			testexecuteutils.lib 
-LIBRARY			testexecutelogclient.lib 
-LIBRARY			efsrv.lib
-LIBRARY			lbs.lib
-
-LIBRARY			lbspartnercommon.lib
-LIBRARY			lbsinternalapi.lib
-LIBRARY			sqldb.lib 
-
-SMPSAFE
-
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+TARGET			te_lbslocationmonitordbsuite.exe
+TARGETTYPE		exe
+
+CAPABILITY ALL -TCB
+
+UID				0x1000007A 0x102869E2
+
+VENDORID 0x70000001
+
+//MACRO ENABLE_LBS_DEV_LOGGER
+MACRO LBS_LOCMONITORDB_TEST
+
+SOURCEPATH		../src
+SOURCE			te_lbslocationmonitorsuiteserver.cpp
+SOURCE			te_lbslocationmonitorsuitestepbase.cpp
+SOURCE			clearstep.cpp
+SOURCE			dbstep.cpp
+SOURCE			negativestep.cpp
+SOURCE			replacestep.cpp
+SOURCE			timestampstep.cpp
+SOURCE			ctasyncwaiter.cpp
+SOURCE			persistencestep.cpp
+
+SOURCEPATH		../../../lbslocmonitorserver/src
+SOURCE	rlbslocmonitordb.cpp
+SOURCE	clbslocmonitordbengine.cpp
+SOURCE	clbslocmonitordbtimer.cpp
+SOURCE	lbslocmonitorareainfodefs.cpp
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../lbslocmonitorserver/inc
+USERINCLUDE   	../../../../locationcore/LbsPartnerCommon/inc
+
+LIBRARY			euser.lib
+LIBRARY			testexecuteutils.lib 
+LIBRARY			testexecutelogclient.lib 
+LIBRARY			efsrv.lib
+LIBRARY			lbs.lib
+
+LIBRARY			lbspartnercommon.lib
+LIBRARY			lbsinternalapi.lib
+LIBRARY			sqldb.lib 
+
+SMPSAFE
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/clearstep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/clearstep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __CLEAR_STEP_H__
-#define __CLEAR_STEP_H__
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-class CClearStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CClearStep();
-	~CClearStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KClearStep,"ClearStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __CLEAR_STEP_H__
+#define __CLEAR_STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+class CClearStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CClearStep();
+	~CClearStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KClearStep,"ClearStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/ctasyncwaiter.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/ctasyncwaiter.h	Fri May 28 18:01:03 2010 +0100
@@ -1,52 +1,52 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 header file for CT_LbsAsyncWaiter 
-*
-*/
-
-/** 
- @file
- @internalTechnology
- @test
-*/
-
-#ifndef __CT_ASYNC_WAITER_H__
-#define __CT_ASYNC_WAITER_H__
-
-//epoc includes
-#include <e32base.h>
-
-// Implements functions related to active objects
-class CT_AsyncWaiter : public CTimer
-	{
-public:
-	IMPORT_C static CT_AsyncWaiter* NewL();
-	~CT_AsyncWaiter();
-
-	IMPORT_C void StartAndWait();
-	IMPORT_C void StartAndWaitTimer(const TTimeIntervalMicroSeconds32& aTime);
-	IMPORT_C TInt Result() const;
-
-private:
-	CT_AsyncWaiter();
-	void ConstructL();
-	// from CActive
-	virtual void RunL();
-	virtual void DoCancel();
-
-private:
-	TInt iError;
-	};
-
-#endif // __CT_ASYNC_WAITER_H__
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 header file for CT_LbsAsyncWaiter 
+*
+*/
+
+/** 
+ @file
+ @internalTechnology
+ @test
+*/
+
+#ifndef __CT_ASYNC_WAITER_H__
+#define __CT_ASYNC_WAITER_H__
+
+//epoc includes
+#include <e32base.h>
+
+// Implements functions related to active objects
+class CT_AsyncWaiter : public CTimer
+	{
+public:
+	IMPORT_C static CT_AsyncWaiter* NewL();
+	~CT_AsyncWaiter();
+
+	IMPORT_C void StartAndWait();
+	IMPORT_C void StartAndWaitTimer(const TTimeIntervalMicroSeconds32& aTime);
+	IMPORT_C TInt Result() const;
+
+private:
+	CT_AsyncWaiter();
+	void ConstructL();
+	// from CActive
+	virtual void RunL();
+	virtual void DoCancel();
+
+private:
+	TInt iError;
+	};
+
+#endif // __CT_ASYNC_WAITER_H__
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/dbstep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/dbstep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,39 +1,39 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __DB_STEP_H__
-#define __DB_STEP_H__
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-#include <Lbs.h>
-
-class CDBStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CDBStep();
-	~CDBStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	TPosition iDummyPosition;
-	};
-
-_LIT(KDBStep,"DBStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __DB_STEP_H__
+#define __DB_STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+#include <Lbs.h>
+
+class CDBStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CDBStep();
+	~CDBStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	TPosition iDummyPosition;
+	};
+
+_LIT(KDBStep,"DBStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/negativestep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/negativestep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __NEGATIVE_STEP_H__
-#define __NEGATIVE_STEP_H__
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-class CNegativeStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CNegativeStep();
-	~CNegativeStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KNegativeStep,"NegativeStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __NEGATIVE_STEP_H__
+#define __NEGATIVE_STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+class CNegativeStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CNegativeStep();
+	~CNegativeStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KNegativeStep,"NegativeStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/persistencestep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/persistencestep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef PERSISTENCESTEP_H
-#define PERSISTENCESTEP_H
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-class CPersistenceStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CPersistenceStep();
-	~CPersistenceStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KPersistenceStep,"PersistenceStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef PERSISTENCESTEP_H
+#define PERSISTENCESTEP_H
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+class CPersistenceStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CPersistenceStep();
+	~CPersistenceStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KPersistenceStep,"PersistenceStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/replacestep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/replacestep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __REPLACE_STEP_H__
-#define __REPLACE_STEP_H__
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-class CReplaceStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CReplaceStep();
-	~CReplaceStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KReplaceStep,"ReplaceStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __REPLACE_STEP_H__
+#define __REPLACE_STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+class CReplaceStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CReplaceStep();
+	~CReplaceStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KReplaceStep,"ReplaceStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitedefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,60 +1,60 @@
-/*
-* 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:
-*
-*/
- 
-#ifndef __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
-#define __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
-
-#include <test/TestExecuteStepBase.h>
-
-// For Backward Compatibility test
-_LIT(KTe_BoolNeedResetFromDefault, "resetall");
-// For test step panics
-_LIT(KTe_LbsLocationMonitorSuitePanic, "Te_LbsLocationMonitorSuite");
-
-_LIT(KErrorCreateTELBSLocationMonitorTestStep, "The test step can not be created: %d");
-_LIT(ErrorUnexpected, "<b>Unexpected error returned:</b>%d");
-
-_LIT(KErrorCheckRunBeforeLeaving, "ErrorCheck run before leaving");
-_LIT(KErrorBackwardCompatibilityNotRespected, "<font color=FF0000><b>The backward compatibility is not respected anymore</b></font>");
-
-_LIT(KBackwardCompatibilityPreambleL, "CBackwardCompatibilityTestStep::doTestStepPreambleL()");
-_LIT(KBackwardCompatibilitydoTestStepL, "CBackwardCompatibilityTestStep::doTestStepL()");
-_LIT(KBackwardCompatibilitydoTestStepLDescription, "This test check that the default value is given when using the Get function, after a calls to NewL() and ResetToDefault().");
-_LIT(KBackwardCompatibilityKLbsSettingLogger, "Currently testing: KLbsSettingLogger");
-_LIT(KBackwardCompatibilityWrongLoggerSettings, "<b>The wrong logger settings has been returned</b>%d ");
-_LIT(KBackwardCompatibilityKLbsSpecialFeatureMaxRequDelay, "Currently testing: KLbsSpecialFeatureMaximumRequestDelay");
-_LIT(KBackwardCompatibilityWrongSettings, "<b>The wrong setting value has been returned, the maximum delay for a request currently is: </b>%d");
-_LIT(KBackwardCompatibilityKLbsSpecialFeatureAllowTBFinalNetPos, "Currently testing: KLbsSpecialFeatureAllowTBFinalNetPos");
-_LIT(KBackwardCompatibilitySpecialFeatureOff, "<b>The special feature should be switched off and it's currently: </b>%d");
-_LIT(KBackwardCompatibilityDefaultMechanism, "Currently testing the default mechanism");
-_LIT(KBackwardCompatibilityPostambleL, "CBackwardCompatibilityTestStep::doTestStepPostambleL()");
-
-_LIT(KOutOfRangePreambleL, "COutOfRangeStep::doTestStepPreambleL()");
-_LIT(KOutOfRangeTestStepL, "COutOfRangeStep::doTestStepL()");
-_LIT(KOutOfRangeDescription1, "If the maximum time defined for a request delay is too big, the Get function");
-_LIT(KOutOfRangeDescription2, "for the KLbsSpecialFeatureMaximumRequestDelay settings should return KErrArgument");
-_LIT(KOutOfRangeDescription3, "and set the delay to 0 (no delay)");
-_LIT(KOutOfRangeNotRespected, "<font color=FF0000><b>We currently accept out of range time values</b></font>");
-_LIT(KOutOfRangePostambleL, "COutOfRangeStep::doTestStepPostambleL()");
-			
-_LIT(KUnsupportedSetCalStepPreambleL, "CUnsupportedSetCalStep::doTestStepPreambleL()");
-_LIT(KUnsupportedSetCalStepTestStepL, "CUnsupportedSetCalStep::doTestStepL()");
-_LIT(KUnsupportedSetCalStepDescription, "This test check that KErrArgument is returned when calling the Set function for the KLbsSpecialFeatureMaximumRequestDelay entry.");
-_LIT(KUnsupportedSetCalStepPostambleL, "CUnsupportedSetCalStep::doTestStepPostambleL()");
-
-
-#endif
+/*
+* 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:
+*
+*/
+ 
+#ifndef __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
+#define __TE_LBSLOCATIONMONITOR_SUITE_DEFS_H__
+
+#include <test/TestExecuteStepBase.h>
+
+// For Backward Compatibility test
+_LIT(KTe_BoolNeedResetFromDefault, "resetall");
+// For test step panics
+_LIT(KTe_LbsLocationMonitorSuitePanic, "Te_LbsLocationMonitorSuite");
+
+_LIT(KErrorCreateTELBSLocationMonitorTestStep, "The test step can not be created: %d");
+_LIT(ErrorUnexpected, "<b>Unexpected error returned:</b>%d");
+
+_LIT(KErrorCheckRunBeforeLeaving, "ErrorCheck run before leaving");
+_LIT(KErrorBackwardCompatibilityNotRespected, "<font color=FF0000><b>The backward compatibility is not respected anymore</b></font>");
+
+_LIT(KBackwardCompatibilityPreambleL, "CBackwardCompatibilityTestStep::doTestStepPreambleL()");
+_LIT(KBackwardCompatibilitydoTestStepL, "CBackwardCompatibilityTestStep::doTestStepL()");
+_LIT(KBackwardCompatibilitydoTestStepLDescription, "This test check that the default value is given when using the Get function, after a calls to NewL() and ResetToDefault().");
+_LIT(KBackwardCompatibilityKLbsSettingLogger, "Currently testing: KLbsSettingLogger");
+_LIT(KBackwardCompatibilityWrongLoggerSettings, "<b>The wrong logger settings has been returned</b>%d ");
+_LIT(KBackwardCompatibilityKLbsSpecialFeatureMaxRequDelay, "Currently testing: KLbsSpecialFeatureMaximumRequestDelay");
+_LIT(KBackwardCompatibilityWrongSettings, "<b>The wrong setting value has been returned, the maximum delay for a request currently is: </b>%d");
+_LIT(KBackwardCompatibilityKLbsSpecialFeatureAllowTBFinalNetPos, "Currently testing: KLbsSpecialFeatureAllowTBFinalNetPos");
+_LIT(KBackwardCompatibilitySpecialFeatureOff, "<b>The special feature should be switched off and it's currently: </b>%d");
+_LIT(KBackwardCompatibilityDefaultMechanism, "Currently testing the default mechanism");
+_LIT(KBackwardCompatibilityPostambleL, "CBackwardCompatibilityTestStep::doTestStepPostambleL()");
+
+_LIT(KOutOfRangePreambleL, "COutOfRangeStep::doTestStepPreambleL()");
+_LIT(KOutOfRangeTestStepL, "COutOfRangeStep::doTestStepL()");
+_LIT(KOutOfRangeDescription1, "If the maximum time defined for a request delay is too big, the Get function");
+_LIT(KOutOfRangeDescription2, "for the KLbsSpecialFeatureMaximumRequestDelay settings should return KErrArgument");
+_LIT(KOutOfRangeDescription3, "and set the delay to 0 (no delay)");
+_LIT(KOutOfRangeNotRespected, "<font color=FF0000><b>We currently accept out of range time values</b></font>");
+_LIT(KOutOfRangePostambleL, "COutOfRangeStep::doTestStepPostambleL()");
+			
+_LIT(KUnsupportedSetCalStepPreambleL, "CUnsupportedSetCalStep::doTestStepPreambleL()");
+_LIT(KUnsupportedSetCalStepTestStepL, "CUnsupportedSetCalStep::doTestStepL()");
+_LIT(KUnsupportedSetCalStepDescription, "This test check that KErrArgument is returned when calling the Set function for the KLbsSpecialFeatureMaximumRequestDelay entry.");
+_LIT(KUnsupportedSetCalStepPostambleL, "CUnsupportedSetCalStep::doTestStepPostambleL()");
+
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuiteserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuiteserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,36 +1,36 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef __TE_LBSLOCATIONMONITOR_SERVER_H__
-#define __TE_LBSLOCATIONMONITOR_SERVER_H__
-#include <test/testexecuteserverbase.h>
-
-
-class CTe_LbsLocationMonitorSuite : public CTestServer
-	{
-public:
-	static CTe_LbsLocationMonitorSuite* NewL();
-	// Base class pure virtual override
-	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
-	IMPORT_C virtual void ConstructL(const TDesC& aName);
-	~CTe_LbsLocationMonitorSuite();
-	
-private:
-	};
-
-#endif
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef __TE_LBSLOCATIONMONITOR_SERVER_H__
+#define __TE_LBSLOCATIONMONITOR_SERVER_H__
+#include <test/testexecuteserverbase.h>
+
+
+class CTe_LbsLocationMonitorSuite : public CTestServer
+	{
+public:
+	static CTe_LbsLocationMonitorSuite* NewL();
+	// Base class pure virtual override
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+	IMPORT_C virtual void ConstructL(const TDesC& aName);
+	~CTe_LbsLocationMonitorSuite();
+	
+private:
+	};
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitestepbase.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/te_lbslocationmonitorsuitestepbase.h	Fri May 28 18:01:03 2010 +0100
@@ -1,55 +1,55 @@
-/*
-* 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:
-*
-*/
-
-
-#ifndef __TE_LBSLOCATIONMONITOR_STEP_BASE__
-#define __TE_LBSLOCATIONMONITOR_STEP_BASE__
-#include <test/TestExecuteStepBase.h>
-#include <lbs.h>
-#include "ctasyncwaiter.h"
-
-
-// Please add your include here if you have 
-
-/****************************************************************************
-* The reason to have a new step base is that it is very much possible
-* that the all individual test steps have project related common variables 
-* and members 
-* and this is the place to define these common variable and members.
-* 
-****************************************************************************/
-class CTe_LbsLocationMonitorSuiteStepBase : public CTestStep
-	{
-
-public:
-	virtual ~CTe_LbsLocationMonitorSuiteStepBase();
-	CTe_LbsLocationMonitorSuiteStepBase();
-	virtual TVerdict doTestStepPreambleL(); 
-	virtual TVerdict doTestStepPostambleL();
-
-protected:
-	void ComparePositions(TPosition& aLeft, TPosition& aRight);
-	void InitWaitersL();
-	void DeleteWaiters();
-
-protected:
-	CActiveScheduler* iScheduler;
-	CT_AsyncWaiter* iTimedWaiter;
-	CT_AsyncWaiter* iWaiter;
-	};
-
-#endif
+/*
+* 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:
+*
+*/
+
+
+#ifndef __TE_LBSLOCATIONMONITOR_STEP_BASE__
+#define __TE_LBSLOCATIONMONITOR_STEP_BASE__
+#include <test/TestExecuteStepBase.h>
+#include <lbs.h>
+#include "ctasyncwaiter.h"
+
+
+// Please add your include here if you have 
+
+/****************************************************************************
+* The reason to have a new step base is that it is very much possible
+* that the all individual test steps have project related common variables 
+* and members 
+* and this is the place to define these common variable and members.
+* 
+****************************************************************************/
+class CTe_LbsLocationMonitorSuiteStepBase : public CTestStep
+	{
+
+public:
+	virtual ~CTe_LbsLocationMonitorSuiteStepBase();
+	CTe_LbsLocationMonitorSuiteStepBase();
+	virtual TVerdict doTestStepPreambleL(); 
+	virtual TVerdict doTestStepPostambleL();
+
+protected:
+	void ComparePositions(TPosition& aLeft, TPosition& aRight);
+	void InitWaitersL();
+	void DeleteWaiters();
+
+protected:
+	CActiveScheduler* iScheduler;
+	CT_AsyncWaiter* iTimedWaiter;
+	CT_AsyncWaiter* iWaiter;
+	};
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/timestampstep.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/inc/timestampstep.h	Fri May 28 18:01:03 2010 +0100
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TIMESTAMP_STEP_H__
-#define __TIMESTAMP_STEP_H__
-#include <test/TestExecuteStepBase.h>
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-class CTimeStampStep : public CTe_LbsLocationMonitorSuiteStepBase
-	{
-public:
-	CTimeStampStep();
-	~CTimeStampStep();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KTimeStampStep,"TimeStampStep");
-
-#endif
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __TIMESTAMP_STEP_H__
+#define __TIMESTAMP_STEP_H__
+#include <test/TestExecuteStepBase.h>
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+class CTimeStampStep : public CTe_LbsLocationMonitorSuiteStepBase
+	{
+public:
+	CTimeStampStep();
+	~CTimeStampStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KTimeStampStep,"TimeStampStep");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite.script	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite.script	Fri May 28 18:01:03 2010 +0100
@@ -1,149 +1,149 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-//! @File
-//! @SYMTestSuiteName         Lbs-LocationMonitor
-//! @SYMScriptTestEnvironment TestExecute Admin.script
-
-PRINT Run all te_lbslocationmonitordbsuite Suite Tests
-
-//
-LOAD_SUITE te_lbslocationmonitordbsuite
-
-
-START_TESTCASE                LBS-LocMonDBBasic-0001
-//! @SYMTestCaseID              LBS-LocMonDBBasic-0001
-//! @SYMTestCaseDesc            Checks that correct matches are returned, 
-//!				that performance is acceptable and that two instances of the DB can be used
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Add 1000 records to database
-//!				2) Perform query that matches CELL
-//!				3) Perform query that matches LAC
-//!				4) Perform query that matches MCC
-//!				5) Perform query that matches nothing
-//!				6) Time taken to perform requests is measured
-//!				7) Using a second instance of the db, perform a query that matches MCC
-//!
-//! @SYMTestExpectedResults     1) All records added with no errors
-//!				2) CELL match returned
-//!				3) LAC match returned
-//!				4) MCC match returned
-//!				5) KErrNotFound returned
-//!				6) Time taken is less than X
-//!				7) MCC match returned
-//!
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009 
-RUN_TEST_STEP 100 te_lbslocationmonitordbsuite DBStep
-END_TESTCASE		      LBS-LocMonDBBasic-0001
-
-
-START_TESTCASE                LBS-LocMonDBNegative-0001
-//! @SYMTestCaseID              LBS-LocMonDBNegative-0001
-//! @SYMTestCaseDesc            Verify that negative cases are handled
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Attempt to save a position to the DB before OpenL() has been called
-//!				2) Attempt to read a position from the db before OpenL() has been called
-//!				3) Attempt to ClearDatabase() before OpenL() has been called
-//!				4) Peform an exhaustive test of all CELL,LAC,MNC,MCC values around the negative boundary when saving 
-//!				4) Peform an exhaustive test of all CELL,LAC,MNC,MCC values around the negative boundary when reading
-//!
-//! @SYMTestExpectedResults     1) Returns KErrNotFound
-//!				2) Returns KErrNotFound
-//!				3) Returns KErrNotFound
-//!				4) Returns KErrArgument where any of CELL,LAC,MNC,MCC are negative 
-
-
-//!				5) Returns KErrArgument where any of CELL,LAC,MNC,MCC are negative
-//!			
-
-
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009
-RUN_TEST_STEP 5 te_lbslocationmonitordbsuite NegativeStep
-END_TESTCASE		      LBS-LocMonDBNegative-0001
-
-
-START_TESTCASE                LBS-LocMonDBClear-0001
-//! @SYMTestCaseID              LBS-LocMonDBClear-0001
-//! @SYMTestCaseDesc            Verify that database dletion works
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Check DB Size
-//!				2) Save 100 records
-//!				3) Check DB Size
-//!				4) Clear database
-//!				5) Check DB size
-//!
-//! @SYMTestExpectedResults     1) Size returned
-//!				2) records saved
-//!				3) Size returned and is bigger than that in 1)
-//!				4) Method returns with no errors
-//!				5) Size returned and is exactly the same as in 1)
-//!
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009
-RUN_TEST_STEP 5 te_lbslocationmonitordbsuite ClearStep
-END_TESTCASE		      LBS-LocMonDBClear-0001
-
-
-START_TESTCASE                LBS-LocMonDBReplace-0001
-//! @SYMTestCaseID              LBS-LocMonDBReplace-0001
-//! @SYMTestCaseDesc            Verify that positions with identical cell data overwrite each other
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Save cell position
-//!				2) Read cell position
-//!				3) Save cell position with identical cell data but different position
-//!				4) Read cell position
-//!
-//! @SYMTestExpectedResults     1) Save returns with no errors
-//!				2) Cell from 1) returned
-//!				3) Save returns with no errors
-//!				4) Cell from 3) returned
-//!
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009
-RUN_TEST_STEP 5 te_lbslocationmonitordbsuite ReplaceStep
-END_TESTCASE		      LBS-LocMonDBReplace-0001
-
-// This test must be the last one executed in this test suite
-// as it creates the conditions for the next test
-// (te_lbslocationmonitordb2)
-//
-START_TESTCASE                LBS-LocMonDBTimeStamp-0001
-//! @SYMTestCaseID              LBS-LocMonDBTimeStamp-0001
-//! @SYMTestCaseDesc            Verify that where a query matches multiple results, the most recent is returned
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Wait 1 second then save a position
-//!				2) Wait 1 second then save a position
-//!				3) Wait 1 second then save a position
-//! 				4) Perform a query that matches both 1) and 2)
-//!				5) Perform a query that matches only 3)
-//!
-//! @SYMTestExpectedResults     1) Save returns with no errors
-//!				2) Save returns with no errors
-//!				3) Save returns with no errors
-//!				4) Position from 2) is returned
-//!				5) Position from 3) is returned
-//!
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009
-RUN_TEST_STEP 5 te_lbslocationmonitordbsuite TimeStampStep
-END_TESTCASE		      LBS-LocMonDBTimeStamp-0001
-
-// No other testcases to be added to this suite after this point.
-
-PRINT Complete_te_lbslocationmonitordbsuite_Tests
-
-
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName         Lbs-LocationMonitor
+//! @SYMScriptTestEnvironment TestExecute Admin.script
+
+PRINT Run all te_lbslocationmonitordbsuite Suite Tests
+
+//
+LOAD_SUITE te_lbslocationmonitordbsuite
+
+
+START_TESTCASE                LBS-LocMonDBBasic-0001
+//! @SYMTestCaseID              LBS-LocMonDBBasic-0001
+//! @SYMTestCaseDesc            Checks that correct matches are returned, 
+//!				that performance is acceptable and that two instances of the DB can be used
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Add 1000 records to database
+//!				2) Perform query that matches CELL
+//!				3) Perform query that matches LAC
+//!				4) Perform query that matches MCC
+//!				5) Perform query that matches nothing
+//!				6) Time taken to perform requests is measured
+//!				7) Using a second instance of the db, perform a query that matches MCC
+//!
+//! @SYMTestExpectedResults     1) All records added with no errors
+//!				2) CELL match returned
+//!				3) LAC match returned
+//!				4) MCC match returned
+//!				5) KErrNotFound returned
+//!				6) Time taken is less than X
+//!				7) MCC match returned
+//!
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009 
+RUN_TEST_STEP 100 te_lbslocationmonitordbsuite DBStep
+END_TESTCASE		      LBS-LocMonDBBasic-0001
+
+
+START_TESTCASE                LBS-LocMonDBNegative-0001
+//! @SYMTestCaseID              LBS-LocMonDBNegative-0001
+//! @SYMTestCaseDesc            Verify that negative cases are handled
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Attempt to save a position to the DB before OpenL() has been called
+//!				2) Attempt to read a position from the db before OpenL() has been called
+//!				3) Attempt to ClearDatabase() before OpenL() has been called
+//!				4) Peform an exhaustive test of all CELL,LAC,MNC,MCC values around the negative boundary when saving 
+//!				4) Peform an exhaustive test of all CELL,LAC,MNC,MCC values around the negative boundary when reading
+//!
+//! @SYMTestExpectedResults     1) Returns KErrNotFound
+//!				2) Returns KErrNotFound
+//!				3) Returns KErrNotFound
+//!				4) Returns KErrArgument where any of CELL,LAC,MNC,MCC are negative 
+
+
+//!				5) Returns KErrArgument where any of CELL,LAC,MNC,MCC are negative
+//!			
+
+
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009
+RUN_TEST_STEP 5 te_lbslocationmonitordbsuite NegativeStep
+END_TESTCASE		      LBS-LocMonDBNegative-0001
+
+
+START_TESTCASE                LBS-LocMonDBClear-0001
+//! @SYMTestCaseID              LBS-LocMonDBClear-0001
+//! @SYMTestCaseDesc            Verify that database dletion works
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Check DB Size
+//!				2) Save 100 records
+//!				3) Check DB Size
+//!				4) Clear database
+//!				5) Check DB size
+//!
+//! @SYMTestExpectedResults     1) Size returned
+//!				2) records saved
+//!				3) Size returned and is bigger than that in 1)
+//!				4) Method returns with no errors
+//!				5) Size returned and is exactly the same as in 1)
+//!
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009
+RUN_TEST_STEP 5 te_lbslocationmonitordbsuite ClearStep
+END_TESTCASE		      LBS-LocMonDBClear-0001
+
+
+START_TESTCASE                LBS-LocMonDBReplace-0001
+//! @SYMTestCaseID              LBS-LocMonDBReplace-0001
+//! @SYMTestCaseDesc            Verify that positions with identical cell data overwrite each other
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Save cell position
+//!				2) Read cell position
+//!				3) Save cell position with identical cell data but different position
+//!				4) Read cell position
+//!
+//! @SYMTestExpectedResults     1) Save returns with no errors
+//!				2) Cell from 1) returned
+//!				3) Save returns with no errors
+//!				4) Cell from 3) returned
+//!
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009
+RUN_TEST_STEP 5 te_lbslocationmonitordbsuite ReplaceStep
+END_TESTCASE		      LBS-LocMonDBReplace-0001
+
+// This test must be the last one executed in this test suite
+// as it creates the conditions for the next test
+// (te_lbslocationmonitordb2)
+//
+START_TESTCASE                LBS-LocMonDBTimeStamp-0001
+//! @SYMTestCaseID              LBS-LocMonDBTimeStamp-0001
+//! @SYMTestCaseDesc            Verify that where a query matches multiple results, the most recent is returned
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Wait 1 second then save a position
+//!				2) Wait 1 second then save a position
+//!				3) Wait 1 second then save a position
+//! 				4) Perform a query that matches both 1) and 2)
+//!				5) Perform a query that matches only 3)
+//!
+//! @SYMTestExpectedResults     1) Save returns with no errors
+//!				2) Save returns with no errors
+//!				3) Save returns with no errors
+//!				4) Position from 2) is returned
+//!				5) Position from 3) is returned
+//!
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009
+RUN_TEST_STEP 5 te_lbslocationmonitordbsuite TimeStampStep
+END_TESTCASE		      LBS-LocMonDBTimeStamp-0001
+
+// No other testcases to be added to this suite after this point.
+
+PRINT Complete_te_lbslocationmonitordbsuite_Tests
+
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite2.script	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/scripts/te_LbsLocationMonitorDbSuite2.script	Fri May 28 18:01:03 2010 +0100
@@ -1,40 +1,40 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-//! @File
-//! @SYMTestSuiteName         Lbs-LocationMonitor
-//! @SYMScriptTestEnvironment TestExecute Admin.script
-
-PRINT Run te_lbslocationmonitordbsuite2
-
-LOAD_SUITE te_lbslocationmonitordbsuite
-
-START_TESTCASE                LBS-LocMonDBPersistence-0001
-//! @SYMTestCaseID              LBS-LocMonDBPersistence-0001
-//! @SYMTestCaseDesc            Verify that the DB created in the previous step can be accessed after a reboot
-//! @SYMTestPriority            Medium
-//! @SYMTestActions             1) Wait 1 second
-//! 							2) Perform a query that matches (recored stored by previous test suite)
-//!
-//! @SYMTestExpectedResults     1) Position is returned
-//!
-//! @SYMTestType                UT
-//! @SYMCreationDate            19/01/2009
-RUN_TEST_STEP 5 te_lbslocationmonitordbsuite PersistenceStep
-END_TESTCASE		      LBS-LocMonDBPersistence-0001
-
-PRINT Complete_te_lbslocationmonitordbsuite_Tests
-
-
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName         Lbs-LocationMonitor
+//! @SYMScriptTestEnvironment TestExecute Admin.script
+
+PRINT Run te_lbslocationmonitordbsuite2
+
+LOAD_SUITE te_lbslocationmonitordbsuite
+
+START_TESTCASE                LBS-LocMonDBPersistence-0001
+//! @SYMTestCaseID              LBS-LocMonDBPersistence-0001
+//! @SYMTestCaseDesc            Verify that the DB created in the previous step can be accessed after a reboot
+//! @SYMTestPriority            Medium
+//! @SYMTestActions             1) Wait 1 second
+//! 							2) Perform a query that matches (recored stored by previous test suite)
+//!
+//! @SYMTestExpectedResults     1) Position is returned
+//!
+//! @SYMTestType                UT
+//! @SYMCreationDate            19/01/2009
+RUN_TEST_STEP 5 te_lbslocationmonitordbsuite PersistenceStep
+END_TESTCASE		      LBS-LocMonDBPersistence-0001
+
+PRINT Complete_te_lbslocationmonitordbsuite_Tests
+
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/clearstep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/clearstep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,121 +1,121 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "clearstep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h"
-#include <f32file.h> 
-
-#include <Lbs.h> 
-
-
-CClearStep::~CClearStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CClearStep::CClearStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KClearStep);
-	}
-
-TVerdict CClearStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-
-TVerdict CClearStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		#ifdef __WINSCW__
-		_LIT(KFileName, "C:\\lastknownlocarea.db");
-		#else
-		_LIT(KFileName, "E:\\lastknownlocarea.db");
-		#endif
-		
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		locMonitorDb.OpenL();
-		CleanupClosePushL(locMonitorDb);
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-		locMonitorDb.ClearDatabase();
-		TEntry entry;
-		RFs fs = RFs();
-		User::LeaveIfError(fs.Connect());
-		CleanupClosePushL(fs);
-		User::LeaveIfError(fs.Entry(KFileName,entry));
-		TInt initialSize = entry.iSize;		
-		TPosition dummyPosition;
-		for(TInt i = 1; i <= 100; i++)
-			{
-			TLbsLocMonitorAreaInfoGci in;
-			in.iMcc = i;
-			in.iMnc = i+1000;
-			in.iLac = i+2000;
-			in.iCid = i+3000;
-			RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
-			inArray.Append(&in);
-			locMonitorDb.SavePosition(dummyPosition,inArray,iWaiter->iStatus);
-			iWaiter->StartAndWait();
-			inArray.Reset();
-			}
-		User::LeaveIfError(fs.Entry(KFileName,entry));
-		TInt intermediateSize = entry.iSize;
-		INFO_PRINTF1(_L("Checking DB has grown after SavePositions"));
-		TEST(intermediateSize > initialSize);
-		locMonitorDb.ClearDatabase();
-		User::LeaveIfError(fs.Entry(KFileName,entry));
-		TInt endSize = entry.iSize;
-		INFO_PRINTF1(_L("Checking ClearDatabase() has returned DB to original (empty) size"));
-		TEST(endSize == initialSize);
-		CleanupStack::PopAndDestroy(&fs);
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	  __UHEAP_MARKEND;
-	  return TestStepResult();
-	}
-
-
-
-TVerdict CClearStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "clearstep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h"
+#include <f32file.h> 
+
+#include <Lbs.h> 
+
+
+CClearStep::~CClearStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CClearStep::CClearStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KClearStep);
+	}
+
+TVerdict CClearStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CClearStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		#ifdef __WINSCW__
+		_LIT(KFileName, "C:\\lastknownlocarea.db");
+		#else
+		_LIT(KFileName, "E:\\lastknownlocarea.db");
+		#endif
+		
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		locMonitorDb.OpenL();
+		CleanupClosePushL(locMonitorDb);
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+		locMonitorDb.ClearDatabase();
+		TEntry entry;
+		RFs fs = RFs();
+		User::LeaveIfError(fs.Connect());
+		CleanupClosePushL(fs);
+		User::LeaveIfError(fs.Entry(KFileName,entry));
+		TInt initialSize = entry.iSize;		
+		TPosition dummyPosition;
+		for(TInt i = 1; i <= 100; i++)
+			{
+			TLbsLocMonitorAreaInfoGci in;
+			in.iMcc = i;
+			in.iMnc = i+1000;
+			in.iLac = i+2000;
+			in.iCid = i+3000;
+			RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
+			inArray.Append(&in);
+			locMonitorDb.SavePosition(dummyPosition,inArray,ETrue,iWaiter->iStatus);
+			iWaiter->StartAndWait();
+			inArray.Reset();
+			}
+		User::LeaveIfError(fs.Entry(KFileName,entry));
+		TInt intermediateSize = entry.iSize;
+		INFO_PRINTF1(_L("Checking DB has grown after SavePositions"));
+		TEST(intermediateSize > initialSize);
+		locMonitorDb.ClearDatabase();
+		User::LeaveIfError(fs.Entry(KFileName,entry));
+		TInt endSize = entry.iSize;
+		INFO_PRINTF1(_L("Checking ClearDatabase() has returned DB to original (empty) size"));
+		TEST(endSize == initialSize);
+		CleanupStack::PopAndDestroy(&fs);
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	  __UHEAP_MARKEND;
+	  return TestStepResult();
+	}
+
+
+
+TVerdict CClearStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/ctasyncwaiter.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/ctasyncwaiter.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,154 +1,154 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "ctasyncwaiter.h"
-
-
-/**
-  Function : NewL
-  Description : Creates an object of CT_LbsAsyncWaiter
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-EXPORT_C CT_AsyncWaiter* CT_AsyncWaiter::NewL()
-	{
-	CT_AsyncWaiter* self = new(ELeave) CT_AsyncWaiter();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-
-void CT_AsyncWaiter::ConstructL()
-	{
-	CTimer::ConstructL();
-	}
-	
-/**
-  Function : CT_AsyncWaiter
-  Description : Constructor
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-CT_AsyncWaiter::CT_AsyncWaiter() : CTimer(EPriorityStandard)
-	{
-	CActiveScheduler::Add(this);
-	}	
-
-
-/**
-  Function : CT_AsyncWaiter
-  Description : Destructor
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-CT_AsyncWaiter::~CT_AsyncWaiter()
-	{
-	Cancel();
-	}
-
-	
-/**
-  Function : StartAndWait
-  Description : Starts the Active scheduler, stops when RunL is hit
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-EXPORT_C void CT_AsyncWaiter::StartAndWait()
-	{
-	iError = iStatus.Int();
-	SetActive();
-	CActiveScheduler::Start();
-	}
-
-
-/**
-  Function : StartAndWaitTimer
-  Description : Starts the Active scheduler, steops when timer expires
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-EXPORT_C void CT_AsyncWaiter::StartAndWaitTimer(const TTimeIntervalMicroSeconds32& aTime)
-	{
-	iError = iStatus.Int();
-	After(aTime);
-	SetActive();
-	CActiveScheduler::Start();
-	}
-	
-/**
-  Function : Result
-  Description : Gives the error
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-EXPORT_C TInt CT_AsyncWaiter::Result() const
-	{
-	return iError;
-	}
-	
-	
-/**
-  Function : RunL
-  Description : 
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-void CT_AsyncWaiter::RunL()
-	{
-	iError = iStatus.Int();
-	CActiveScheduler::Stop();
-	}
-
-	
-/**
-  Function : DoCancel
-  Description : 
-  
-  @param :
-  @return : N/A
-  @precondition : none
-  @postcondition : none
-*/
-void CT_AsyncWaiter::DoCancel()
-	{
-	iError = KErrCancel;
-	CActiveScheduler::Stop();
-	}
-
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ctasyncwaiter.h"
+
+
+/**
+  Function : NewL
+  Description : Creates an object of CT_LbsAsyncWaiter
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+EXPORT_C CT_AsyncWaiter* CT_AsyncWaiter::NewL()
+	{
+	CT_AsyncWaiter* self = new(ELeave) CT_AsyncWaiter();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+
+void CT_AsyncWaiter::ConstructL()
+	{
+	CTimer::ConstructL();
+	}
+	
+/**
+  Function : CT_AsyncWaiter
+  Description : Constructor
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+CT_AsyncWaiter::CT_AsyncWaiter() : CTimer(EPriorityStandard)
+	{
+	CActiveScheduler::Add(this);
+	}	
+
+
+/**
+  Function : CT_AsyncWaiter
+  Description : Destructor
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+CT_AsyncWaiter::~CT_AsyncWaiter()
+	{
+	Cancel();
+	}
+
+	
+/**
+  Function : StartAndWait
+  Description : Starts the Active scheduler, stops when RunL is hit
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+EXPORT_C void CT_AsyncWaiter::StartAndWait()
+	{
+	iError = iStatus.Int();
+	SetActive();
+	CActiveScheduler::Start();
+	}
+
+
+/**
+  Function : StartAndWaitTimer
+  Description : Starts the Active scheduler, steops when timer expires
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+EXPORT_C void CT_AsyncWaiter::StartAndWaitTimer(const TTimeIntervalMicroSeconds32& aTime)
+	{
+	iError = iStatus.Int();
+	After(aTime);
+	SetActive();
+	CActiveScheduler::Start();
+	}
+	
+/**
+  Function : Result
+  Description : Gives the error
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+EXPORT_C TInt CT_AsyncWaiter::Result() const
+	{
+	return iError;
+	}
+	
+	
+/**
+  Function : RunL
+  Description : 
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+void CT_AsyncWaiter::RunL()
+	{
+	iError = iStatus.Int();
+	CActiveScheduler::Stop();
+	}
+
+	
+/**
+  Function : DoCancel
+  Description : 
+  
+  @param :
+  @return : N/A
+  @precondition : none
+  @postcondition : none
+*/
+void CT_AsyncWaiter::DoCancel()
+	{
+	iError = KErrCancel;
+	CActiveScheduler::Stop();
+	}
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/dbstep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/dbstep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,229 +1,229 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "dbstep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h" 
-
-#include "ctasyncwaiter.h"
-
-
-CDBStep::~CDBStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CDBStep::CDBStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KDBStep);
-	}
-
-TVerdict CDBStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-
-	iDummyPosition.SetCoordinate(10.33, 54.22, 10.01);
-	iDummyPosition.SetHorizontalAccuracy(100);
-	iDummyPosition.SetVerticalAccuracy(1000);
-	return TestStepResult();
-	}
-
-
-TVerdict CDBStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		INFO_PRINTF1(_L("Init locMonitorDb"));
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		locMonitorDb.OpenL();
-		INFO_PRINTF1(_L("Init Waiters"));
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-		CleanupClosePushL(locMonitorDb);
-		
-		// First Reset DB to initial state
-		INFO_PRINTF1(_L("First Reset DB to initial state"));
-		locMonitorDb.ClearDatabase();
-		
-		INFO_PRINTF1(_L("Adding 10000 records"));
-		TTime addStart;
-		addStart.UniversalTime();
-		for(TInt i = 1; i <= 1000; i++)
-			{
-			//TRequestStatus status;
-			TLbsLocMonitorAreaInfoGci in;
-			in.iMcc = i;
-			in.iMnc = i+1000;
-			in.iLac = i+2000;
-			in.iCid = i+3000;
-			RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
-			inArray.Append(&in);
-			locMonitorDb.SavePosition(iDummyPosition,inArray,iWaiter->iStatus);
-			iWaiter->StartAndWait();
-			inArray.Reset();
-			}
-		
-		TTime addEnd;
-		addEnd.UniversalTime();
-		TTimeIntervalMicroSeconds interval = addEnd.MicroSecondsFrom(addStart);
-		
-		//INFO_PRINTF2(_L("Start Time %d"), addStart.Int64());
-		//INFO_PRINTF2(_L("End Time %d "), addEnd.Int64());
-		INFO_PRINTF3(_L("%d Adding 10000 records took %d Microseconds"), 0, interval.Int64());
-		
-		
-		//
-		// Read
-		//
-		INFO_PRINTF1(_L("Reading 4 records"));
-		TTime readStart;
-		readStart.UniversalTime();
-		
-		// 4 fixed values against previously created db
-		TLbsLocMonitorAreaInfoGci out;
-		out.iMcc = 51;
-		out.iMnc = 1051;
-		out.iLac = 2051;
-		out.iCid = 3051;
-		TPosition outPosition;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-		outArray.Append(&out);
-		TPositionAreaExtendedInfo matchLevel1; 
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel1,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(!matchLevel1.CellIdMatch())
-			{
-			ERR_PRINTF1(_L("Cell Match not found"));
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(iDummyPosition,outPosition);
-		
-		out.iMcc = 82;
-		out.iMnc = 1082;
-		out.iLac = 2082;
-		out.iCid = 5454;
-		outArray.Append(&out);
-		TPositionAreaExtendedInfo matchLevel2; 
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel2,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(!matchLevel2.LocationAreaCodeMatch())
-			{
-			ERR_PRINTF1(_L("LAC Match not found"));
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(iDummyPosition,outPosition);
-		
-		out.iMcc = 423;
-		out.iMnc = 43535445;
-		out.iLac = 4442342;
-		out.iCid = 92922;
-		outArray.Append(&out);
-		TPositionAreaExtendedInfo matchLevel3; 
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel3,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(!matchLevel3.MobileCountryCodeMatch())
-			{
-			ERR_PRINTF1(_L("MCC match not found"));
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(iDummyPosition,outPosition);
-
-		out.iMcc = 34000023;
-		out.iMnc = 4353545;
-		out.iLac = 4534;
-		out.iCid = 5454;
-		outArray.Append(&out);
-		TPositionAreaExtendedInfo matchLevel4;  
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel4,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(matchLevel4.MobileCountryCodeMatch())
-			{
-			ERR_PRINTF1(_L("Spurious match found"));
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(iDummyPosition,outPosition);
-		
-		TTime readEnd;
-		readEnd.UniversalTime();
-		TTimeIntervalMicroSeconds interval2 = readEnd.MicroSecondsFrom(readStart);
-		
-
-		//INFO_PRINTF2(_L("Start Time %d"), readStart.Int64());
-		//INFO_PRINTF2(_L("End Time %d "), readEnd.Int64());
-		INFO_PRINTF3(_L("%d Reading 4 records took %d Microseconds"), 0, interval2.Int64());
-		if(interval2.Int64() > 2000000)
-			{
-			ERR_PRINTF2(_L("Retrieving 4 records took: %d microseonds, Expected less than 2000000"), interval2.Int64());
-			}
-		
-		INFO_PRINTF1(_L("Performing a read with a second client"));
-		RLbsLocMonitorDb locMonitorDb2 = RLbsLocMonitorDb();
-		locMonitorDb2.OpenL();
-		CleanupClosePushL(locMonitorDb2);
-		out.iMcc = 34000023;
-		out.iMnc = 4353545;
-		out.iLac = 4534;
-		out.iCid = 5454;
-		outArray.Append(&out);
-		TPositionAreaExtendedInfo matchLevel5;  
-		locMonitorDb2.GetPosition(outPosition,outArray,matchLevel5,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(matchLevel5.MobileCountryCodeMatch())
-			{
-			ERR_PRINTF1(_L("Spurious match found"));
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(iDummyPosition,outPosition);
-		CleanupStack::PopAndDestroy(&locMonitorDb2);
-		locMonitorDb.ClearDatabase();
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	__UHEAP_MARKEND;
-    return TestStepResult();
-	}
-
-
-TVerdict CDBStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "dbstep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h" 
+
+#include "ctasyncwaiter.h"
+
+
+CDBStep::~CDBStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CDBStep::CDBStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KDBStep);
+	}
+
+TVerdict CDBStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+
+	iDummyPosition.SetCoordinate(10.33, 54.22, 10.01);
+	iDummyPosition.SetHorizontalAccuracy(100);
+	iDummyPosition.SetVerticalAccuracy(1000);
+	return TestStepResult();
+	}
+
+
+TVerdict CDBStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		INFO_PRINTF1(_L("Init locMonitorDb"));
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		locMonitorDb.OpenL();
+		INFO_PRINTF1(_L("Init Waiters"));
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+		CleanupClosePushL(locMonitorDb);
+		
+		// First Reset DB to initial state
+		INFO_PRINTF1(_L("First Reset DB to initial state"));
+		locMonitorDb.ClearDatabase();
+		
+		INFO_PRINTF1(_L("Adding 10000 records"));
+		TTime addStart;
+		addStart.UniversalTime();
+		for(TInt i = 1; i <= 1000; i++)
+			{
+			//TRequestStatus status;
+			TLbsLocMonitorAreaInfoGci in;
+			in.iMcc = i;
+			in.iMnc = i+1000;
+			in.iLac = i+2000;
+			in.iCid = i+3000;
+			RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
+			inArray.Append(&in);
+			locMonitorDb.SavePosition(iDummyPosition,inArray,ETrue,iWaiter->iStatus);
+			iWaiter->StartAndWait();
+			inArray.Reset();
+			}
+		
+		TTime addEnd;
+		addEnd.UniversalTime();
+		TTimeIntervalMicroSeconds interval = addEnd.MicroSecondsFrom(addStart);
+		
+		//INFO_PRINTF2(_L("Start Time %d"), addStart.Int64());
+		//INFO_PRINTF2(_L("End Time %d "), addEnd.Int64());
+		INFO_PRINTF3(_L("%d Adding 10000 records took %d Microseconds"), 0, interval.Int64());
+		
+		
+		//
+		// Read
+		//
+		INFO_PRINTF1(_L("Reading 4 records"));
+		TTime readStart;
+		readStart.UniversalTime();
+		
+		// 4 fixed values against previously created db
+		TLbsLocMonitorAreaInfoGci out;
+		out.iMcc = 51;
+		out.iMnc = 1051;
+		out.iLac = 2051;
+		out.iCid = 3051;
+		TPosition outPosition;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+		outArray.Append(&out);
+		TPositionAreaExtendedInfo matchLevel1; 
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel1,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(!matchLevel1.CellIdMatch())
+			{
+			ERR_PRINTF1(_L("Cell Match not found"));
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(iDummyPosition,outPosition);
+		
+		out.iMcc = 82;
+		out.iMnc = 1082;
+		out.iLac = 2082;
+		out.iCid = 5454;
+		outArray.Append(&out);
+		TPositionAreaExtendedInfo matchLevel2; 
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel2,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(!matchLevel2.LocationAreaCodeMatch())
+			{
+			ERR_PRINTF1(_L("LAC Match not found"));
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(iDummyPosition,outPosition);
+		
+		out.iMcc = 423;
+		out.iMnc = 43535445;
+		out.iLac = 4442342;
+		out.iCid = 92922;
+		outArray.Append(&out);
+		TPositionAreaExtendedInfo matchLevel3; 
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel3,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(!matchLevel3.MobileCountryCodeMatch())
+			{
+			ERR_PRINTF1(_L("MCC match not found"));
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(iDummyPosition,outPosition);
+
+		out.iMcc = 34000023;
+		out.iMnc = 4353545;
+		out.iLac = 4534;
+		out.iCid = 5454;
+		outArray.Append(&out);
+		TPositionAreaExtendedInfo matchLevel4;  
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel4,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(matchLevel4.MobileCountryCodeMatch())
+			{
+			ERR_PRINTF1(_L("Spurious match found"));
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(iDummyPosition,outPosition);
+		
+		TTime readEnd;
+		readEnd.UniversalTime();
+		TTimeIntervalMicroSeconds interval2 = readEnd.MicroSecondsFrom(readStart);
+		
+
+		//INFO_PRINTF2(_L("Start Time %d"), readStart.Int64());
+		//INFO_PRINTF2(_L("End Time %d "), readEnd.Int64());
+		INFO_PRINTF3(_L("%d Reading 4 records took %d Microseconds"), 0, interval2.Int64());
+		if(interval2.Int64() > 2000000)
+			{
+			ERR_PRINTF2(_L("Retrieving 4 records took: %d microseonds, Expected less than 2000000"), interval2.Int64());
+			}
+		
+		INFO_PRINTF1(_L("Performing a read with a second client"));
+		RLbsLocMonitorDb locMonitorDb2 = RLbsLocMonitorDb();
+		locMonitorDb2.OpenL();
+		CleanupClosePushL(locMonitorDb2);
+		out.iMcc = 34000023;
+		out.iMnc = 4353545;
+		out.iLac = 4534;
+		out.iCid = 5454;
+		outArray.Append(&out);
+		TPositionAreaExtendedInfo matchLevel5;  
+		locMonitorDb2.GetPosition(outPosition,outArray,matchLevel5,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(matchLevel5.MobileCountryCodeMatch())
+			{
+			ERR_PRINTF1(_L("Spurious match found"));
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(iDummyPosition,outPosition);
+		CleanupStack::PopAndDestroy(&locMonitorDb2);
+		locMonitorDb.ClearDatabase();
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	__UHEAP_MARKEND;
+    return TestStepResult();
+	}
+
+
+TVerdict CDBStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/negativestep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/negativestep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,179 +1,179 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "negativestep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h"
-
-#include <Lbs.h> 
-
-
-CNegativeStep::~CNegativeStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CNegativeStep::CNegativeStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KNegativeStep);
-	}
-
-TVerdict CNegativeStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-
-TVerdict CNegativeStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		TPosition dummyIn;
-		dummyIn.SetCoordinate(21.12, 54.45, 10.01);
-		dummyIn.SetHorizontalAccuracy(100);
-		dummyIn.SetVerticalAccuracy(1000);
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		// Insert() should return KErrNotFound if db has not been Open()ed
-		TRequestStatus unused;
-		TLbsLocMonitorAreaInfoGci dummyArea;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> dummyArray;
-		dummyArray.Append(&dummyArea);
-		TInt result = locMonitorDb.SavePosition(dummyIn,dummyArray,unused);
-		dummyArray.Reset();
-		TEST(result == KErrNotFound);
-		// GetPosition() should return KErrNotFound if db has not been Open()ed
-		TLbsLocMonitorAreaInfoGci dummy;
-		TRequestStatus dummyStatus;
-		dummyArray.Append(&dummy);
-		TPositionAreaExtendedInfo matchDummy;
-		result = locMonitorDb.GetPosition(dummyIn,dummyArray,matchDummy,dummyStatus);
-		dummyArray.Reset();
-		TEST(result == KErrNotFound);
-		// ClearDatabase() should return KErrNotFound if db has not been Open()ed
-		result = locMonitorDb.ClearDatabase();
-		TEST(result == KErrNotFound);
-				
-		locMonitorDb.OpenL();
-		CleanupClosePushL(locMonitorDb);
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-		locMonitorDb.ClearDatabase();
-		
-		INFO_PRINTF1(_L("Negative Test on SavePosition()"));
-		RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
-		for(TInt w = -1;w < 2;w++)
-			{
-			for(TInt x = -1;x < 2;x++)
-				{
-				for(TInt y = -1;y < 2;y++)
-					{
-					for(TInt z = -1;z < 2;z++)
-						{
-						TRequestStatus status;
-						TLbsLocMonitorAreaInfoGci in;
-						in.iMcc = w;
-						in.iMnc = x;
-						in.iLac = y;
-						in.iCid = z;
-						inArray.Append(&in);
-						result = locMonitorDb.SavePosition(dummyIn,inArray,iWaiter->iStatus);
-						if(w >= 0 && x >= 0 && y >= 0 && z >= 0)
-							{
-							iWaiter->StartAndWait();
-							TEST(result >= KErrNone);
-							}
-						else
-							{
-							TEST(result == KErrArgument);
-							}
-						inArray.Reset();
-						}
-					}
-				}
-			}
-		
-		INFO_PRINTF1(_L("Negative Test on GetPosition()"));
-		TPosition dummyOut;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-		for(TInt w = -1;w < 2;w++)
-			{
-			for(TInt x = -1;x < 2;x++)
-				{
-				for(TInt y = -1;y < 2;y++)
-					{
-					for(TInt z = -1;z < 2;z++)
-						{
-						TLbsLocMonitorAreaInfoGci out;
-						out.iMnc = w;
-						out.iMcc = x;
-						out.iLac = y;
-						out.iCid = z;
-						RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-						outArray.Append(&out);
-						TPosition outPosition;
-						TPositionAreaExtendedInfo matchLevel;
-						result = locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
-						if(w >= 0 && x >= 0 && y >= 0 && z >= 0)
-							{
-							iWaiter->StartAndWait();
-							TEST(result >= KErrNone);
-							ComparePositions(dummyIn,outPosition);
-							}
-						else
-							{
-							TEST(result == KErrArgument);
-							}
-						outArray.Reset();
-						}
-					}
-				}
-			}
-		locMonitorDb.ClearDatabase();
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	  __UHEAP_MARKEND;
-	  return TestStepResult();
-	}
-
-
-
-TVerdict CNegativeStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "negativestep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h"
+
+#include <Lbs.h> 
+
+
+CNegativeStep::~CNegativeStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CNegativeStep::CNegativeStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KNegativeStep);
+	}
+
+TVerdict CNegativeStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CNegativeStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		TPosition dummyIn;
+		dummyIn.SetCoordinate(21.12, 54.45, 10.01);
+		dummyIn.SetHorizontalAccuracy(100);
+		dummyIn.SetVerticalAccuracy(1000);
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		// Insert() should return KErrNotFound if db has not been Open()ed
+		TRequestStatus unused;
+		TLbsLocMonitorAreaInfoGci dummyArea;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> dummyArray;
+		dummyArray.Append(&dummyArea);
+		TInt result = locMonitorDb.SavePosition(dummyIn,dummyArray,ETrue,unused);
+		dummyArray.Reset();
+		TEST(result == KErrNotFound);
+		// GetPosition() should return KErrNotFound if db has not been Open()ed
+		TLbsLocMonitorAreaInfoGci dummy;
+		TRequestStatus dummyStatus;
+		dummyArray.Append(&dummy);
+		TPositionAreaExtendedInfo matchDummy;
+		result = locMonitorDb.GetPosition(dummyIn,dummyArray,matchDummy,dummyStatus);
+		dummyArray.Reset();
+		TEST(result == KErrNotFound);
+		// ClearDatabase() should return KErrNotFound if db has not been Open()ed
+		result = locMonitorDb.ClearDatabase();
+		TEST(result == KErrNotFound);
+				
+		locMonitorDb.OpenL();
+		CleanupClosePushL(locMonitorDb);
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+		locMonitorDb.ClearDatabase();
+		
+		INFO_PRINTF1(_L("Negative Test on SavePosition()"));
+		RPointerArray<TLbsLocMonitorAreaInfoBase> inArray;
+		for(TInt w = -1;w < 2;w++)
+			{
+			for(TInt x = -1;x < 2;x++)
+				{
+				for(TInt y = -1;y < 2;y++)
+					{
+					for(TInt z = -1;z < 2;z++)
+						{
+						TRequestStatus status;
+						TLbsLocMonitorAreaInfoGci in;
+						in.iMcc = w;
+						in.iMnc = x;
+						in.iLac = y;
+						in.iCid = z;
+						inArray.Append(&in);
+						result = locMonitorDb.SavePosition(dummyIn,inArray,ETrue,iWaiter->iStatus);
+						if(w >= 0 && x >= 0 && y >= 0 && z >= 0)
+							{
+							iWaiter->StartAndWait();
+							TEST(result >= KErrNone);
+							}
+						else
+							{
+							TEST(result == KErrArgument);
+							}
+						inArray.Reset();
+						}
+					}
+				}
+			}
+		
+		INFO_PRINTF1(_L("Negative Test on GetPosition()"));
+		TPosition dummyOut;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+		for(TInt w = -1;w < 2;w++)
+			{
+			for(TInt x = -1;x < 2;x++)
+				{
+				for(TInt y = -1;y < 2;y++)
+					{
+					for(TInt z = -1;z < 2;z++)
+						{
+						TLbsLocMonitorAreaInfoGci out;
+						out.iMnc = w;
+						out.iMcc = x;
+						out.iLac = y;
+						out.iCid = z;
+						RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+						outArray.Append(&out);
+						TPosition outPosition;
+						TPositionAreaExtendedInfo matchLevel;
+						result = locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
+						if(w >= 0 && x >= 0 && y >= 0 && z >= 0)
+							{
+							iWaiter->StartAndWait();
+							TEST(result >= KErrNone);
+							ComparePositions(dummyIn,outPosition);
+							}
+						else
+							{
+							TEST(result == KErrArgument);
+							}
+						outArray.Reset();
+						}
+					}
+				}
+			}
+		locMonitorDb.ClearDatabase();
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	  __UHEAP_MARKEND;
+	  return TestStepResult();
+	}
+
+
+
+TVerdict CNegativeStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/persistencestep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/persistencestep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,111 +1,111 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "persistencestep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h"
-
-#include <Lbs.h> 
-
-
-CPersistenceStep::~CPersistenceStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CPersistenceStep::CPersistenceStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KPersistenceStep);
-	}
-
-TVerdict CPersistenceStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-
-TVerdict CPersistenceStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		locMonitorDb.OpenL();
-		CleanupClosePushL(locMonitorDb);
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-
-		// Position that was stored by a previous test (timestampstep.cpp)
-		TPosition dummy1;
-		dummy1.SetCoordinate(10.33, 54.22, 10.01);
-		dummy1.SetHorizontalAccuracy(100);
-		dummy1.SetVerticalAccuracy(1000);
-				
-		// Check position stored by previous test suite can be retrieved
-		INFO_PRINTF1(_L("Doing a GetPosition. Checking that a record is returned"));
-		TLbsLocMonitorAreaInfoGci out;
-		out.iMnc = 1;
-		out.iMcc = 1;
-		out.iLac = 2;
-		out.iCid = 2;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-		outArray.Append(&out);
-		TPosition outPosition;
-		TPositionAreaExtendedInfo matchLevel;
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		TEST(matchLevel.LocationAreaCodeMatch());
-		TEST(matchLevel.CellIdMatch());
-		ComparePositions(dummy1, outPosition);
-		
-		// Reset DB to initial state again
-		locMonitorDb.ClearDatabase();
-		
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	  __UHEAP_MARKEND;
-	  return TestStepResult();
-	}
-
-
-
-TVerdict CPersistenceStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "persistencestep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h"
+
+#include <Lbs.h> 
+
+
+CPersistenceStep::~CPersistenceStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CPersistenceStep::CPersistenceStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KPersistenceStep);
+	}
+
+TVerdict CPersistenceStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CPersistenceStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		locMonitorDb.OpenL();
+		CleanupClosePushL(locMonitorDb);
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+
+		// Position that was stored by a previous test (timestampstep.cpp)
+		TPosition dummy1;
+		dummy1.SetCoordinate(10.33, 54.22, 10.01);
+		dummy1.SetHorizontalAccuracy(100);
+		dummy1.SetVerticalAccuracy(1000);
+				
+		// Check position stored by previous test suite can be retrieved
+		INFO_PRINTF1(_L("Doing a GetPosition. Checking that a record is returned"));
+		TLbsLocMonitorAreaInfoGci out;
+		out.iMnc = 1;
+		out.iMcc = 1;
+		out.iLac = 2;
+		out.iCid = 2;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+		outArray.Append(&out);
+		TPosition outPosition;
+		TPositionAreaExtendedInfo matchLevel;
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		TEST(matchLevel.LocationAreaCodeMatch());
+		TEST(matchLevel.CellIdMatch());
+		ComparePositions(dummy1, outPosition);
+		
+		// Reset DB to initial state again
+		locMonitorDb.ClearDatabase();
+		
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	  __UHEAP_MARKEND;
+	  return TestStepResult();
+	}
+
+
+
+TVerdict CPersistenceStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/replacestep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/replacestep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,159 +1,159 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "replacestep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h"
-
-#include <Lbs.h> 
-
-
-CReplaceStep::~CReplaceStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CReplaceStep::CReplaceStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KReplaceStep);
-	}
-
-TVerdict CReplaceStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-
-TVerdict CReplaceStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		locMonitorDb.OpenL();
-		CleanupClosePushL(locMonitorDb);
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-		
-		// First Reset DB to initial state
-		locMonitorDb.ClearDatabase();
-		
-		// Add first cell position
-
-		TPosition dummyPos1;
-		dummyPos1.SetCoordinate(10.10, 1.01, 11.11);
-		dummyPos1.SetHorizontalAccuracy(100);
-		dummyPos1.SetVerticalAccuracy(1000);
-
-		INFO_PRINTF1(_L("Saving first position"));
-		TRequestStatus status;
-		TLbsLocMonitorAreaInfoGci in1;
-		in1.iMcc = 120;
-		in1.iMnc = 101;
-		in1.iLac = 2000;
-		in1.iCid = 3000;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> in1Array;
-		in1Array.Append(&in1);
-		locMonitorDb.SavePosition(dummyPos1,in1Array,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		
-		// Check first cell position was correctly stored
-		INFO_PRINTF1(_L("Retrieving first position"));
-		TLbsLocMonitorAreaInfoGci out1;
-		out1.iMcc = 120;
-		out1.iMnc = 101;
-		out1.iLac = 2000;
-		out1.iCid = 3000;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-		outArray.Append(&out1);
-		TPosition outPosition1;
-		TPositionAreaExtendedInfo matchLevel; 
-		locMonitorDb.GetPosition(outPosition1,outArray,matchLevel,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(!matchLevel.CellIdMatch())
-			{
-			ERR_PRINTF2(_L("Read Match Level: %d, Expected 4"), matchLevel.Area());
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(dummyPos1,outPosition1);
-	
-		// Add second cell position
-		TPosition dummyPos2;
-		dummyPos2.SetCoordinate(20.20, 2.02, 22.22);
-		dummyPos2.SetHorizontalAccuracy(200);
-		dummyPos2.SetVerticalAccuracy(2000);		
-		INFO_PRINTF1(_L("Saving second position"));
-		locMonitorDb.SavePosition(dummyPos2,in1Array,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		in1Array.Reset();
-		
-		// Check check second cell position has replaced first
-		TLbsLocMonitorAreaInfoGci out2;
-		out2.iMcc = 120;
-		out2.iMnc = 101;
-		out2.iLac = 2000;
-		out2.iCid = 3000;
-		INFO_PRINTF1(_L("Retrieving second position"));
-		TPosition outPosition2;
-		outArray.Append(&out2);
-		locMonitorDb.GetPosition(outPosition2,outArray,matchLevel,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		if(!matchLevel.CellIdMatch())
-			{
-			ERR_PRINTF2(_L("Read Match Level: %d, Expected 4"), matchLevel.Area());
-			SetTestStepResult(EFail);
-			}
-		ComparePositions(dummyPos2,outPosition2);
-		
-		// Reset DB to initial state again
-		locMonitorDb.ClearDatabase();
-		
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	  __UHEAP_MARKEND;
-	  return TestStepResult();
-	}
-
-
-
-TVerdict CReplaceStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "replacestep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h"
+
+#include <Lbs.h> 
+
+
+CReplaceStep::~CReplaceStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CReplaceStep::CReplaceStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KReplaceStep);
+	}
+
+TVerdict CReplaceStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CReplaceStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		locMonitorDb.OpenL();
+		CleanupClosePushL(locMonitorDb);
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+		
+		// First Reset DB to initial state
+		locMonitorDb.ClearDatabase();
+		
+		// Add first cell position
+
+		TPosition dummyPos1;
+		dummyPos1.SetCoordinate(10.10, 1.01, 11.11);
+		dummyPos1.SetHorizontalAccuracy(100);
+		dummyPos1.SetVerticalAccuracy(1000);
+
+		INFO_PRINTF1(_L("Saving first position"));
+		TRequestStatus status;
+		TLbsLocMonitorAreaInfoGci in1;
+		in1.iMcc = 120;
+		in1.iMnc = 101;
+		in1.iLac = 2000;
+		in1.iCid = 3000;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> in1Array;
+		in1Array.Append(&in1);
+		locMonitorDb.SavePosition(dummyPos1,in1Array,ETrue,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		
+		// Check first cell position was correctly stored
+		INFO_PRINTF1(_L("Retrieving first position"));
+		TLbsLocMonitorAreaInfoGci out1;
+		out1.iMcc = 120;
+		out1.iMnc = 101;
+		out1.iLac = 2000;
+		out1.iCid = 3000;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+		outArray.Append(&out1);
+		TPosition outPosition1;
+		TPositionAreaExtendedInfo matchLevel; 
+		locMonitorDb.GetPosition(outPosition1,outArray,matchLevel,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(!matchLevel.CellIdMatch())
+			{
+			ERR_PRINTF2(_L("Read Match Level: %d, Expected 4"), matchLevel.Area());
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(dummyPos1,outPosition1);
+	
+		// Add second cell position
+		TPosition dummyPos2;
+		dummyPos2.SetCoordinate(20.20, 2.02, 22.22);
+		dummyPos2.SetHorizontalAccuracy(200);
+		dummyPos2.SetVerticalAccuracy(2000);		
+		INFO_PRINTF1(_L("Saving second position"));
+		locMonitorDb.SavePosition(dummyPos2,in1Array,ETrue,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		in1Array.Reset();
+		
+		// Check check second cell position has replaced first
+		TLbsLocMonitorAreaInfoGci out2;
+		out2.iMcc = 120;
+		out2.iMnc = 101;
+		out2.iLac = 2000;
+		out2.iCid = 3000;
+		INFO_PRINTF1(_L("Retrieving second position"));
+		TPosition outPosition2;
+		outArray.Append(&out2);
+		locMonitorDb.GetPosition(outPosition2,outArray,matchLevel,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		if(!matchLevel.CellIdMatch())
+			{
+			ERR_PRINTF2(_L("Read Match Level: %d, Expected 4"), matchLevel.Area());
+			SetTestStepResult(EFail);
+			}
+		ComparePositions(dummyPos2,outPosition2);
+		
+		// Reset DB to initial state again
+		locMonitorDb.ClearDatabase();
+		
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	  __UHEAP_MARKEND;
+	  return TestStepResult();
+	}
+
+
+
+TVerdict CReplaceStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuiteserver.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuiteserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,137 +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:
-*
-*/
-
-
-#include "te_lbslocationmonitorsuiteserver.h"
-#include "clearstep.h"
-#include "dbstep.h"
-#include "negativestep.h"
-#include "replacestep.h"
-#include "timestampstep.h"
-#include "persistencestep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-_LIT(KServerName,"te_lbslocationmonitordbsuite");
-CTe_LbsLocationMonitorSuite* CTe_LbsLocationMonitorSuite::NewL()
-/**
- * @return - Instance of the test server
- * Same code for Secure and non-secure variants
- * Called inside the MainL() function to create and start the
- * CTestServer derived server.
- */
-	{
-	CTe_LbsLocationMonitorSuite * server = new (ELeave) CTe_LbsLocationMonitorSuite();
-	CleanupStack::PushL(server);
-
-	server->ConstructL(KServerName);
-	CleanupStack::Pop(server);
-	return server;
-	}
-
-void CTe_LbsLocationMonitorSuite::ConstructL(const TDesC& aName)
-	{
-	CTestServer::ConstructL(aName);
-
-	}
-
-CTe_LbsLocationMonitorSuite::~CTe_LbsLocationMonitorSuite()
-	{
-
-	}
-
-
-
-// Secure variants much simpler
-// For EKA2, just an E32Main and a MainL()
-LOCAL_C void MainL()
-/**
- * Secure variant
- * Much simpler, uses the new Rendezvous() call to sync with the client
- */
-	{
-	// Leave the hooks in for platform security
-#if (defined __DATA_CAGING__)
-	RProcess().DataCaging(RProcess::EDataCagingOn);
-	RProcess().DataCaging(RProcess::ESecureApiOn);
-#endif
-	CActiveScheduler* sched=NULL;
-	sched=new(ELeave) CActiveScheduler;
-	CActiveScheduler::Install(sched);
-	CTe_LbsLocationMonitorSuite* server = NULL;
-	// Create the CTestServer derived server
-	TRAPD(err,server = CTe_LbsLocationMonitorSuite::NewL());
-	if(!err)
-		{
-		// Sync with the client and enter the active scheduler
-		RProcess::Rendezvous(KErrNone);
-		sched->Start();
-		}
-	delete server;
-	delete sched;
-	}
-
-
-
-GLDEF_C TInt E32Main()
-/**
- * @return - Standard Epoc error code on process exit
- * Secure variant only
- * Process entry point. Called by client using RProcess API
- */
-	{
-	__UHEAP_MARK;
-	CTrapCleanup* cleanup = CTrapCleanup::New();
-	if(cleanup == NULL)
-		{
-		return KErrNoMemory;
-		}
-	TRAPD(err,MainL());
-	delete cleanup;
-	__UHEAP_MARKEND;
-	return err;
-    }
-
-
-CTestStep* CTe_LbsLocationMonitorSuite::CreateTestStep(const TDesC& aStepName)
-/**
- * @return - A CTestStep derived instance
- * Secure and non-secure variants
- * Implementation of CTestServer pure virtual
- */
-	{
-	CTestStep* testStep = NULL;
-
-	TRAPD(err,
-	if(aStepName == KDBStep)
-		testStep = new(ELeave) CDBStep();
-	else if(aStepName == KClearStep)
-		testStep = new(ELeave) CClearStep();
-	else if(aStepName == KNegativeStep)
-		testStep = new(ELeave) CNegativeStep();
-	else if(aStepName == KReplaceStep)
-		testStep = new(ELeave) CReplaceStep();
-	else if(aStepName == KTimeStampStep)
-		testStep = new(ELeave) CTimeStampStep();
-	else if(aStepName == KPersistenceStep)
-		testStep = new(ELeave) CPersistenceStep();
-	);
-	if(KErrNone != err)
-		{
-		INFO_PRINTF2(KErrorCreateTELBSLocationMonitorTestStep, err);
-		}
-	
-	return testStep;
-	}
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "te_lbslocationmonitorsuiteserver.h"
+#include "clearstep.h"
+#include "dbstep.h"
+#include "negativestep.h"
+#include "replacestep.h"
+#include "timestampstep.h"
+#include "persistencestep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+_LIT(KServerName,"te_lbslocationmonitordbsuite");
+CTe_LbsLocationMonitorSuite* CTe_LbsLocationMonitorSuite::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CTe_LbsLocationMonitorSuite * server = new (ELeave) CTe_LbsLocationMonitorSuite();
+	CleanupStack::PushL(server);
+
+	server->ConstructL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+void CTe_LbsLocationMonitorSuite::ConstructL(const TDesC& aName)
+	{
+	CTestServer::ConstructL(aName);
+
+	}
+
+CTe_LbsLocationMonitorSuite::~CTe_LbsLocationMonitorSuite()
+	{
+
+	}
+
+
+
+// Secure variants much simpler
+// For EKA2, just an E32Main and a MainL()
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+	// Leave the hooks in for platform security
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().DataCaging(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CTe_LbsLocationMonitorSuite* server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CTe_LbsLocationMonitorSuite::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return err;
+    }
+
+
+CTestStep* CTe_LbsLocationMonitorSuite::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Secure and non-secure variants
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep* testStep = NULL;
+
+	TRAPD(err,
+	if(aStepName == KDBStep)
+		testStep = new(ELeave) CDBStep();
+	else if(aStepName == KClearStep)
+		testStep = new(ELeave) CClearStep();
+	else if(aStepName == KNegativeStep)
+		testStep = new(ELeave) CNegativeStep();
+	else if(aStepName == KReplaceStep)
+		testStep = new(ELeave) CReplaceStep();
+	else if(aStepName == KTimeStampStep)
+		testStep = new(ELeave) CTimeStampStep();
+	else if(aStepName == KPersistenceStep)
+		testStep = new(ELeave) CPersistenceStep();
+	);
+	if(KErrNone != err)
+		{
+		INFO_PRINTF2(KErrorCreateTELBSLocationMonitorTestStep, err);
+		}
+	
+	return testStep;
+	}
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuitestepbase.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/te_lbslocationmonitorsuitestepbase.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,103 +1,103 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
- 
-#include "te_lbslocationmonitorsuitestepbase.h"
-
-
-TVerdict CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL()
-/**
- * @return - TVerdict
- * Implementation of CTestStep base class virtual
- * It is used for doing all initialisation common to derived classes in here.
- * Make it being able to leave if there are any errors here as there's no point in
- * trying to run a test step if anything fails.
- * The leave will be picked up by the framework.
- */
-	{
-    iScheduler = new(ELeave) CActiveScheduler();
-    CActiveScheduler::Install(iScheduler);
-
-	SetTestStepResult(EPass);
-	return TestStepResult();
-	}
-
-TVerdict CTe_LbsLocationMonitorSuiteStepBase::doTestStepPostambleL()
-/**
- * @return - TVerdict
- * Implementation of CTestStep base class virtual
- * It is used for doing all after test treatment common to derived classes in here.
- * Make it being able to leave
- * The leave will be picked up by the framework.
- */
-	{
-	return TestStepResult();
-	}
-
-CTe_LbsLocationMonitorSuiteStepBase::~CTe_LbsLocationMonitorSuiteStepBase()
-	{
-	if(iTimedWaiter)
-		{
-		delete iTimedWaiter;
-		}
-	if(iWaiter)
-		{
-		delete iWaiter;
-		}
-	delete iScheduler;
-	}
-
-CTe_LbsLocationMonitorSuiteStepBase::CTe_LbsLocationMonitorSuiteStepBase():
-	iTimedWaiter(NULL),
-	iWaiter(NULL)
-	{
-
-	}
-
-
-void CTe_LbsLocationMonitorSuiteStepBase::ComparePositions(TPosition& aLeft, TPosition& aRight)
-	{
-	TEST(aLeft.HorizontalAccuracy() == aRight.HorizontalAccuracy());
-	TEST(aLeft.VerticalAccuracy() == aRight.VerticalAccuracy());
-	TEST(aLeft.Latitude() == aRight.Latitude());
-	TEST(aLeft.Longitude() == aRight.Longitude());
-	TEST(aLeft.Altitude() == aRight.Altitude());
-		
-	}
-
-
-void CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL()
-	{
-	iWaiter = CT_AsyncWaiter::NewL();
-	iTimedWaiter = CT_AsyncWaiter::NewL();
-	}
-
-
-void CTe_LbsLocationMonitorSuiteStepBase::DeleteWaiters()
-	{
-	if(iTimedWaiter)
-		{
-		delete iTimedWaiter;
-		iTimedWaiter = NULL;
-		}
-	if(iWaiter)
-		{
-		delete iWaiter;
-		iWaiter = NULL;
-		}
-	}
-
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+ 
+#include "te_lbslocationmonitorsuitestepbase.h"
+
+
+TVerdict CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL()
+/**
+ * @return - TVerdict
+ * Implementation of CTestStep base class virtual
+ * It is used for doing all initialisation common to derived classes in here.
+ * Make it being able to leave if there are any errors here as there's no point in
+ * trying to run a test step if anything fails.
+ * The leave will be picked up by the framework.
+ */
+	{
+    iScheduler = new(ELeave) CActiveScheduler();
+    CActiveScheduler::Install(iScheduler);
+
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTe_LbsLocationMonitorSuiteStepBase::doTestStepPostambleL()
+/**
+ * @return - TVerdict
+ * Implementation of CTestStep base class virtual
+ * It is used for doing all after test treatment common to derived classes in here.
+ * Make it being able to leave
+ * The leave will be picked up by the framework.
+ */
+	{
+	return TestStepResult();
+	}
+
+CTe_LbsLocationMonitorSuiteStepBase::~CTe_LbsLocationMonitorSuiteStepBase()
+	{
+	if(iTimedWaiter)
+		{
+		delete iTimedWaiter;
+		}
+	if(iWaiter)
+		{
+		delete iWaiter;
+		}
+	delete iScheduler;
+	}
+
+CTe_LbsLocationMonitorSuiteStepBase::CTe_LbsLocationMonitorSuiteStepBase():
+	iTimedWaiter(NULL),
+	iWaiter(NULL)
+	{
+
+	}
+
+
+void CTe_LbsLocationMonitorSuiteStepBase::ComparePositions(TPosition& aLeft, TPosition& aRight)
+	{
+	TEST(aLeft.HorizontalAccuracy() == aRight.HorizontalAccuracy());
+	TEST(aLeft.VerticalAccuracy() == aRight.VerticalAccuracy());
+	TEST(aLeft.Latitude() == aRight.Latitude());
+	TEST(aLeft.Longitude() == aRight.Longitude());
+	TEST(aLeft.Altitude() == aRight.Altitude());
+		
+	}
+
+
+void CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL()
+	{
+	iWaiter = CT_AsyncWaiter::NewL();
+	iTimedWaiter = CT_AsyncWaiter::NewL();
+	}
+
+
+void CTe_LbsLocationMonitorSuiteStepBase::DeleteWaiters()
+	{
+	if(iTimedWaiter)
+		{
+		delete iTimedWaiter;
+		iTimedWaiter = NULL;
+		}
+	if(iWaiter)
+		{
+		delete iWaiter;
+		iWaiter = NULL;
+		}
+	}
+
--- a/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/timestampstep.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_lbslocmonitordbsuite/src/timestampstep.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,156 +1,156 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "timestampstep.h"
-#include "te_lbslocationmonitorsuitedefs.h"
-
-#include "rlbslocmonitordb.h"
-
-#include <Lbs.h> 
-
-
-CTimeStampStep::~CTimeStampStep()
-/**
- * Destructor
- */
-	{
-
-	}
-
-CTimeStampStep::CTimeStampStep()
-/**
- * Constructor
- */
-	{
-	SetTestStepName(KTimeStampStep);
-	}
-
-TVerdict CTimeStampStep::doTestStepPreambleL()
-/**
- * @return - TVerdict code
- * Override of base class virtual
- */
-	{
-	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-
-TVerdict CTimeStampStep::doTestStepL()
-/**
- * @return - TVerdict code
- * This test check that KErrArgument is returned when calling the Get function for the 
- * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
- */
-	{
-	__UHEAP_MARK;
-	  if (TestStepResult()==EPass)
-		{
-		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
-		locMonitorDb.OpenL();
-		CleanupClosePushL(locMonitorDb);
-		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
-		
-		locMonitorDb.ClearDatabase();
-		
-		TPosition dummy1, dummy2;
-		
-		dummy1.SetCoordinate(10.33, 54.22, 10.01);
-		dummy1.SetHorizontalAccuracy(100);
-		dummy1.SetVerticalAccuracy(1000);
-		
-		dummy2.SetCoordinate(20.22, 74.11, 20.02);
-		dummy2.SetHorizontalAccuracy(100);
-		dummy2.SetVerticalAccuracy(1000);
-		
-		INFO_PRINTF1(_L("Saving 3 records, 1 microsecond apart"));
-		TLbsLocMonitorAreaInfoGci in1;
-		in1.iMcc = 1;
-		in1.iMnc = 1;
-		in1.iLac = 1;
-		in1.iCid = 2;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn1;
-		arrayIn1.Append(&in1);
-		locMonitorDb.SavePosition(dummy1,arrayIn1,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		arrayIn1.Reset();
-		
-		User::After(1);
-		TLbsLocMonitorAreaInfoGci in2;
-		in2.iMcc = 1;
-		in2.iMnc = 1;
-		in2.iLac = 1;
-		in2.iCid = 3;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn2;
-		arrayIn2.Append(&in2);
-		locMonitorDb.SavePosition(dummy2,arrayIn2,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		arrayIn2.Reset();
-		
-		User::After(1);
-		TLbsLocMonitorAreaInfoGci in3;
-		in3.iMcc = 1;
-		in3.iMnc = 1;
-		in3.iLac = 2;
-		in3.iCid = 2;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn3;
-		arrayIn3.Append(&in3);
-		locMonitorDb.SavePosition(dummy1,arrayIn3,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		arrayIn3.Reset();
-		
-		INFO_PRINTF1(_L("Doing a GetPosition that matches 1 & 2, Checking that record 2 is returned"));
-		TLbsLocMonitorAreaInfoGci out;
-		out.iMnc = 1;
-		out.iMcc = 1;
-		out.iLac = 1;
-		out.iCid = 1;
-		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
-		outArray.Append(&out);
-		TPosition outPosition;
-		TPositionAreaExtendedInfo matchLevel;
-		locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		outArray.Reset();
-		TEST(matchLevel.LocationAreaCodeMatch());
-		ComparePositions(dummy2, outPosition);
-		
-		INFO_PRINTF1(_L("Doing a GetLastStoredPosition, Checking that record 3 is returned"));
-		TPosition outPosition2;
-		locMonitorDb.GetLastStoredPosition(outPosition2,iWaiter->iStatus);
-		iWaiter->StartAndWait();
-		ComparePositions(dummy1, outPosition2);
-		
-		
-		//locMonitorDb.ClearDatabase();
-		CleanupStack::PopAndDestroy(&locMonitorDb);
-		DeleteWaiters();
-		}
-	  __UHEAP_MARKEND;
-	  return TestStepResult();
-	}
-
-
-
-TVerdict CTimeStampStep::doTestStepPostambleL()
-/**
- * @return - TVerdict code
- */
-	{
-
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "timestampstep.h"
+#include "te_lbslocationmonitorsuitedefs.h"
+
+#include "rlbslocmonitordb.h"
+
+#include <Lbs.h> 
+
+
+CTimeStampStep::~CTimeStampStep()
+/**
+ * Destructor
+ */
+	{
+
+	}
+
+CTimeStampStep::CTimeStampStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KTimeStampStep);
+	}
+
+TVerdict CTimeStampStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	CTe_LbsLocationMonitorSuiteStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+
+TVerdict CTimeStampStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * This test check that KErrArgument is returned when calling the Get function for the 
+ * KLbsSpecialFeatureMaximumRequestDelay entry with an out of range delay value.
+ */
+	{
+	__UHEAP_MARK;
+	  if (TestStepResult()==EPass)
+		{
+		RLbsLocMonitorDb locMonitorDb = RLbsLocMonitorDb();
+		locMonitorDb.OpenL();
+		CleanupClosePushL(locMonitorDb);
+		CTe_LbsLocationMonitorSuiteStepBase::InitWaitersL();
+		
+		locMonitorDb.ClearDatabase();
+		
+		TPosition dummy1, dummy2;
+		
+		dummy1.SetCoordinate(10.33, 54.22, 10.01);
+		dummy1.SetHorizontalAccuracy(100);
+		dummy1.SetVerticalAccuracy(1000);
+		
+		dummy2.SetCoordinate(20.22, 74.11, 20.02);
+		dummy2.SetHorizontalAccuracy(100);
+		dummy2.SetVerticalAccuracy(1000);
+		
+		INFO_PRINTF1(_L("Saving 3 records, 1 microsecond apart"));
+		TLbsLocMonitorAreaInfoGci in1;
+		in1.iMcc = 1;
+		in1.iMnc = 1;
+		in1.iLac = 1;
+		in1.iCid = 2;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn1;
+		arrayIn1.Append(&in1);
+		locMonitorDb.SavePosition(dummy1,arrayIn1,ETrue,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		arrayIn1.Reset();
+		
+		User::After(1);
+		TLbsLocMonitorAreaInfoGci in2;
+		in2.iMcc = 1;
+		in2.iMnc = 1;
+		in2.iLac = 1;
+		in2.iCid = 3;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn2;
+		arrayIn2.Append(&in2);
+		locMonitorDb.SavePosition(dummy2,arrayIn2,ETrue,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		arrayIn2.Reset();
+		
+		User::After(1);
+		TLbsLocMonitorAreaInfoGci in3;
+		in3.iMcc = 1;
+		in3.iMnc = 1;
+		in3.iLac = 2;
+		in3.iCid = 2;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> arrayIn3;
+		arrayIn3.Append(&in3);
+		locMonitorDb.SavePosition(dummy1,arrayIn3,ETrue,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		arrayIn3.Reset();
+		
+		INFO_PRINTF1(_L("Doing a GetPosition that matches 1 & 2, Checking that record 2 is returned"));
+		TLbsLocMonitorAreaInfoGci out;
+		out.iMnc = 1;
+		out.iMcc = 1;
+		out.iLac = 1;
+		out.iCid = 1;
+		RPointerArray<TLbsLocMonitorAreaInfoBase> outArray;
+		outArray.Append(&out);
+		TPosition outPosition;
+		TPositionAreaExtendedInfo matchLevel;
+		locMonitorDb.GetPosition(outPosition,outArray,matchLevel,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		outArray.Reset();
+		TEST(matchLevel.LocationAreaCodeMatch());
+		ComparePositions(dummy2, outPosition);
+		
+		INFO_PRINTF1(_L("Doing a GetLastStoredPosition, Checking that record 3 is returned"));
+		TPosition outPosition2;
+		locMonitorDb.GetLastStoredPosition(outPosition2,iWaiter->iStatus);
+		iWaiter->StartAndWait();
+		ComparePositions(dummy1, outPosition2);
+		
+		
+		//locMonitorDb.ClearDatabase();
+		CleanupStack::PopAndDestroy(&locMonitorDb);
+		DeleteWaiters();
+		}
+	  __UHEAP_MARKEND;
+	  return TestStepResult();
+	}
+
+
+
+TVerdict CTimeStampStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -1,30 +1,30 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-PRJ_EXPORTS
-
-PRJ_TESTEXPORTS
-../scripts/te_locmonitorsuite.script		c:/testdata/scripts/te_locmonitorsuite.script
-../testdata/lbslocmonunitconfig.txt			c:/testdata/configs/lbslocmonunitconfig.txt
-../testdata/lbslocmonunitconfigbad.txt		c:/testdata/configs/lbslocmonunitconfigbad.txt
-
-./te_locmonitorsuite.iby   					/epoc32/rom/include/te_locmonitorsuite.iby
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-#include "../../testlocationmonitor/group/bld.inf"
-te_locmonitorsuite.mmp
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_EXPORTS
+
+PRJ_TESTEXPORTS
+../scripts/te_locmonitorsuite.script		c:/testdata/scripts/te_locmonitorsuite.script
+../testdata/lbslocmonunitconfig.txt			c:/testdata/configs/lbslocmonunitconfig.txt
+../testdata/lbslocmonunitconfigbad.txt		c:/testdata/configs/lbslocmonunitconfigbad.txt
+
+./te_locmonitorsuite.iby   					/epoc32/rom/include/te_locmonitorsuite.iby
+
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+#include "../../testlocationmonitor/group/bld.inf"
+te_locmonitorsuite.mmp
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.iby	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.iby	Fri May 28 18:01:03 2010 +0100
@@ -1,28 +1,28 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TE_SUPLPROTOCOL_SUITE_IBY__
-#define __TE_SUPLPROTOCOL_SUITE_IBY__
-
-#include <testexecute.iby>
-
-file=ABI_DIR\DEBUG_DIR\te_locmonitorsuite.exe		sys\bin\te_locmonitorsuite.exe
-data=EPOCROOT##Epoc32\data\c\TestData\scripts\te_locmonitorsuite.script TestData\scripts\te_locmonitorsuite.script
-data=EPOCROOT##Epoc32\data\c\TestData\configs\lbslocmonunitconfig.txt TestData\configs\lbslocmonunitconfig.txt
-
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __TE_SUPLPROTOCOL_SUITE_IBY__
+#define __TE_SUPLPROTOCOL_SUITE_IBY__
+
+#include <testexecute.iby>
+
+file=ABI_DIR\DEBUG_DIR\te_locmonitorsuite.exe		sys\bin\te_locmonitorsuite.exe
+data=EPOCROOT##Epoc32\data\c\TestData\scripts\te_locmonitorsuite.script TestData\scripts\te_locmonitorsuite.script
+data=EPOCROOT##Epoc32\data\c\TestData\configs\lbslocmonunitconfig.txt TestData\configs\lbslocmonunitconfig.txt
+
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/group/te_locmonitorsuite.mmp	Fri May 28 18:01:03 2010 +0100
@@ -1,99 +1,99 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-TARGET      te_locmonitorsuite.exe
-TARGETTYPE  exe
-UID             0x1000007A 0x102869E3
-
-CAPABILITY	ALL -TCB
-MACRO ENABLE_LBS_DEV_LOGGER
-SOURCEPATH  ../src
-
-//test steps
-SOURCE	        te_locmonitorsuiteserver.cpp
-SOURCE	        te_locmonitorstepbase.cpp
-SOURCE			te_locmonitorstep1.cpp
-SOURCE			te_locmonitorstep2.cpp
-SOURCE			te_locmonitorstep3.cpp
-SOURCE			te_locmonitorstep4.cpp
-SOURCE			te_locmonitorstep5.cpp
-SOURCE			te_locmonitorstep6.cpp
-SOURCE			te_locmonitorstep7.cpp
-SOURCE			te_locmonitorstep8.cpp
-SOURCE			te_locmonitorstep9.cpp
-SOURCE			te_locmonitorstep10.cpp
-SOURCE			te_locmonitorstep11.cpp
-SOURCE			te_locmonitorstep12.cpp
-SOURCE			te_locmonitorstep13.cpp
-SOURCE			te_locmonitorstep14.cpp
-SOURCE			te_locmonitorstep15.cpp
-SOURCE			te_locmonitorstep16.cpp
-SOURCE			te_locmonitorstep17.cpp
-SOURCE			te_locmonitorstep18.cpp
-SOURCE			te_locmonitorstep19.cpp
-SOURCE			te_locmonitorstep20.cpp
-SOURCE			te_locmonitorstep21.cpp
-SOURCE			te_locmonitorstep22.cpp
-SOURCE			te_locmonitorstep23.cpp
-SOURCE			te_locmonitorstep24.cpp
-SOURCE			te_locmonitorstep25.cpp
-SOURCE			te_locmonitorstep26.cpp
-SOURCE			te_locmonitorstep27.cpp
-SOURCE			te_locmonitorstep28.cpp
-SOURCE			te_locmonitorstep31.cpp
-SOURCE			te_locmonitorstep32.cpp
-
-// test step headers
-USERINCLUDE ../inc
-
-// Test step headers
-USERINCLUDE   ../src
-
-// Required to start up the fake/test Location Monitor server
-SOURCEPATH		../../../../locationcore/LbsLocCommon/ServerFramework/src
-SOURCE			cserverlaunch.cpp
-SOURCE          tserverstartparams.cpp
-SOURCE			tstartparamsbase.cpp
-
-// Various LBS subsystem headers
-USERINCLUDE   ../../../lbslocmonitorclient/inc
-USERINCLUDE   ../../../lbslocmonitorserver/inc
-USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
-USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
-USERINCLUDE   ../../../../locationcore/LbsLocDataSource
-USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
-USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
-USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
-USERINCLUDE   ../../../../locationcore/LbsCommonInternalDataTypes/inc
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY     euser.lib
-LIBRARY		testexecuteutils.lib 
-LIBRARY		testexecutelogclient.lib 
-LIBRARY		efsrv.lib
-
-LIBRARY		lbsinternalapi.lib
-LIBRARY		lbsnetinternalapi.lib
-LIBRARY		lbsnetprotocol.lib
-
-LIBRARY     lbslocmonclient.lib
-LIBRARY		lbs.lib
-LIBRARY		lbspartnercommon.lib
-
-SMPSAFE
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+TARGET      te_locmonitorsuite.exe
+TARGETTYPE  exe
+UID             0x1000007A 0x102869E3
+
+CAPABILITY	ALL -TCB
+MACRO ENABLE_LBS_DEV_LOGGER
+SOURCEPATH  ../src
+
+//test steps
+SOURCE	        te_locmonitorsuiteserver.cpp
+SOURCE	        te_locmonitorstepbase.cpp
+SOURCE			te_locmonitorstep1.cpp
+SOURCE			te_locmonitorstep2.cpp
+SOURCE			te_locmonitorstep3.cpp
+SOURCE			te_locmonitorstep4.cpp
+SOURCE			te_locmonitorstep5.cpp
+SOURCE			te_locmonitorstep6.cpp
+SOURCE			te_locmonitorstep7.cpp
+SOURCE			te_locmonitorstep8.cpp
+SOURCE			te_locmonitorstep9.cpp
+SOURCE			te_locmonitorstep10.cpp
+SOURCE			te_locmonitorstep11.cpp
+SOURCE			te_locmonitorstep12.cpp
+SOURCE			te_locmonitorstep13.cpp
+SOURCE			te_locmonitorstep14.cpp
+SOURCE			te_locmonitorstep15.cpp
+SOURCE			te_locmonitorstep16.cpp
+SOURCE			te_locmonitorstep17.cpp
+SOURCE			te_locmonitorstep18.cpp
+SOURCE			te_locmonitorstep19.cpp
+SOURCE			te_locmonitorstep20.cpp
+SOURCE			te_locmonitorstep21.cpp
+SOURCE			te_locmonitorstep22.cpp
+SOURCE			te_locmonitorstep23.cpp
+SOURCE			te_locmonitorstep24.cpp
+SOURCE			te_locmonitorstep25.cpp
+SOURCE			te_locmonitorstep26.cpp
+SOURCE			te_locmonitorstep27.cpp
+SOURCE			te_locmonitorstep28.cpp
+SOURCE			te_locmonitorstep31.cpp
+SOURCE			te_locmonitorstep32.cpp
+
+// test step headers
+USERINCLUDE ../inc
+
+// Test step headers
+USERINCLUDE   ../src
+
+// Required to start up the fake/test Location Monitor server
+SOURCEPATH		../../../../locationcore/LbsLocCommon/ServerFramework/src
+SOURCE			cserverlaunch.cpp
+SOURCE          tserverstartparams.cpp
+SOURCE			tstartparamsbase.cpp
+
+// Various LBS subsystem headers
+USERINCLUDE   ../../../lbslocmonitorapis/CommonClientServerApi/inc
+USERINCLUDE   ../../../lbslocmonitorserver/inc
+USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsLocDataSource
+USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsCommonInternalDataTypes/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY     euser.lib
+LIBRARY		testexecuteutils.lib 
+LIBRARY		testexecutelogclient.lib 
+LIBRARY		efsrv.lib
+
+LIBRARY		lbsinternalapi.lib
+LIBRARY		lbsnetinternalapi.lib
+LIBRARY		lbsnetprotocol.lib
+
+LIBRARY     lbslocmonclient.lib
+LIBRARY		lbs.lib
+LIBRARY		lbspartnercommon.lib
+
+SMPSAFE
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/Te_locmonitorstep24.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/Te_locmonitorstep24.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2408-2409 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 te_locmonitorstep24.h
-*/
-#ifndef TE_LOCMONITORSTEP24_H
-#define TE_LOCMONITORSTEP24_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep24 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep24();
-	~CTe_LocMonitorStep24();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep24,"te_locmonitorstep24");
-
-#endif
+/*
+* Copyright (c) 2408-2409 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 te_locmonitorstep24.h
+*/
+#ifndef TE_LOCMONITORSTEP24_H
+#define TE_LOCMONITORSTEP24_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep24 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep24();
+	~CTe_LocMonitorStep24();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep24,"te_locmonitorstep24");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep1.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep1.h	Fri May 28 18:01:03 2010 +0100
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep1.h
-*/
-#ifndef TE_LOCMONITORSTEP1_H
-#define TE_LOCMONITORSTEP1_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep1 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep1();
-	~CTe_LocMonitorStep1();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KLocMonitorStep1,"te_locmonitorstep1");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep1.h
+*/
+#ifndef TE_LOCMONITORSTEP1_H
+#define TE_LOCMONITORSTEP1_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep1 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep1();
+	~CTe_LocMonitorStep1();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KLocMonitorStep1,"te_locmonitorstep1");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep10.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep10.h	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep10.h
-*/
-#ifndef TE_LOCMONITORSTEP10_H
-#define TE_LOCMONITORSTEP10_H
-
-#include <lbs/lbsgpsmeasurement.h>
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep10 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep10();
-	~CTe_LocMonitorStep10();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionGpsMeasurementInfo* iBadPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep10,"te_locmonitorstep10");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep10.h
+*/
+#ifndef TE_LOCMONITORSTEP10_H
+#define TE_LOCMONITORSTEP10_H
+
+#include <lbs/lbsgpsmeasurement.h>
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep10 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep10();
+	~CTe_LocMonitorStep10();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionGpsMeasurementInfo* iBadPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep10,"te_locmonitorstep10");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep11.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep11.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep11.h
-*/
-#ifndef TE_LOCMONITORSTEP11_H
-#define TE_LOCMONITORSTEP11_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep11 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep11();
-	~CTe_LocMonitorStep11();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep11,"te_locmonitorstep11");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep11.h
+*/
+#ifndef TE_LOCMONITORSTEP11_H
+#define TE_LOCMONITORSTEP11_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep11 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep11();
+	~CTe_LocMonitorStep11();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep11,"te_locmonitorstep11");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep12.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep12.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep12.h
-*/
-#ifndef TE_LOCMONITORSTEP12_H
-#define TE_LOCMONITORSTEP12_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep12 : public CTe_LocMonitorStepBase
-	{
-	
-public:
-
-	CTe_LocMonitorStep12();
-	~CTe_LocMonitorStep12();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep12,"te_locmonitorstep12");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep12.h
+*/
+#ifndef TE_LOCMONITORSTEP12_H
+#define TE_LOCMONITORSTEP12_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep12 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep12();
+	~CTe_LocMonitorStep12();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep12,"te_locmonitorstep12");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep13.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep13.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep13.h
-*/
-#ifndef TE_LOCMONITORSTEP13_H
-#define TE_LOCMONITORSTEP13_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep13 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep13();
-	~CTe_LocMonitorStep13();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep13,"te_locmonitorstep13");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep13.h
+*/
+#ifndef TE_LOCMONITORSTEP13_H
+#define TE_LOCMONITORSTEP13_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep13 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep13();
+	~CTe_LocMonitorStep13();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep13,"te_locmonitorstep13");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep14.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep14.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep14.h
-*/
-#ifndef TE_LOCMONITORSTEP14_H
-#define TE_LOCMONITORSTEP14_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep14 : public CTe_LocMonitorStepBase
-	{
-	
-public:
-
-	CTe_LocMonitorStep14();
-	~CTe_LocMonitorStep14();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep14,"te_locmonitorstep14");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep14.h
+*/
+#ifndef TE_LOCMONITORSTEP14_H
+#define TE_LOCMONITORSTEP14_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep14 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep14();
+	~CTe_LocMonitorStep14();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep14,"te_locmonitorstep14");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep15.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep15.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep15.h
-*/
-#ifndef TE_LOCMONITORSTEP15_H
-#define TE_LOCMONITORSTEP15_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep15 : public CTe_LocMonitorStepBase
-	{
-	
-public:
-
-	CTe_LocMonitorStep15();
-	~CTe_LocMonitorStep15();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep15,"te_locmonitorstep15");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep15.h
+*/
+#ifndef TE_LOCMONITORSTEP15_H
+#define TE_LOCMONITORSTEP15_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep15 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep15();
+	~CTe_LocMonitorStep15();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep15,"te_locmonitorstep15");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep16.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep16.h	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep16.h
-*/
-#ifndef TE_LOCMONITORSTEP16_H
-#define TE_LOCMONITORSTEP16_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep16 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep16();
-	~CTe_LocMonitorStep16();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-
-
-	};
-
-_LIT(KLocMonitorStep16,"te_locmonitorstep16");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep16.h
+*/
+#ifndef TE_LOCMONITORSTEP16_H
+#define TE_LOCMONITORSTEP16_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep16 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep16();
+	~CTe_LocMonitorStep16();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+
+
+	};
+
+_LIT(KLocMonitorStep16,"te_locmonitorstep16");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep17.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep17.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep17.h
-*/
-#ifndef TE_LOCMONITORSTEP17_H
-#define TE_LOCMONITORSTEP17_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep17 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep17();
-	~CTe_LocMonitorStep17();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep17,"te_locmonitorstep17");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep17.h
+*/
+#ifndef TE_LOCMONITORSTEP17_H
+#define TE_LOCMONITORSTEP17_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep17 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep17();
+	~CTe_LocMonitorStep17();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep17,"te_locmonitorstep17");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep18.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep18.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep18h
-*/
-#ifndef TE_LOCMONITORSTEP18_H
-#define TE_LOCMONITORSTEP18_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep18 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep18();
-	~CTe_LocMonitorStep18();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep18,"te_locmonitorstep18");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep18h
+*/
+#ifndef TE_LOCMONITORSTEP18_H
+#define TE_LOCMONITORSTEP18_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep18 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep18();
+	~CTe_LocMonitorStep18();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep18,"te_locmonitorstep18");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep19.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep19.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep19.h
-*/
-#ifndef TE_LOCMONITORSTEP19_H
-#define TE_LOCMONITORSTEP19_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep19 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep19();
-	~CTe_LocMonitorStep19();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep19,"te_locmonitorstep19");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep19.h
+*/
+#ifndef TE_LOCMONITORSTEP19_H
+#define TE_LOCMONITORSTEP19_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep19 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep19();
+	~CTe_LocMonitorStep19();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep19,"te_locmonitorstep19");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep2.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep2.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep2.h
-*/
-#ifndef TE_LOCMONITORSTEP2_H
-#define TE_LOCMONITORSTEP2_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep2 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep2();
-	~CTe_LocMonitorStep2();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep2,"te_locmonitorstep2");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep2.h
+*/
+#ifndef TE_LOCMONITORSTEP2_H
+#define TE_LOCMONITORSTEP2_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep2 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep2();
+	~CTe_LocMonitorStep2();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep2,"te_locmonitorstep2");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep20.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep20.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep20.h
-*/
-#ifndef TE_LOCMONITORSTEP20_H
-#define TE_LOCMONITORSTEP20_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep20 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep20();
-	~CTe_LocMonitorStep20();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep20,"te_locmonitorstep20");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep20.h
+*/
+#ifndef TE_LOCMONITORSTEP20_H
+#define TE_LOCMONITORSTEP20_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep20 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep20();
+	~CTe_LocMonitorStep20();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep20,"te_locmonitorstep20");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep21.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep21.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2108-2109 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 te_locmonitorstep21.h
-*/
-#ifndef TE_LOCMONITORSTEP21_H
-#define TE_LOCMONITORSTEP21_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep21 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep21();
-	~CTe_LocMonitorStep21();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep21,"te_locmonitorstep21");
-
-#endif
+/*
+* Copyright (c) 2108-2109 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 te_locmonitorstep21.h
+*/
+#ifndef TE_LOCMONITORSTEP21_H
+#define TE_LOCMONITORSTEP21_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep21 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep21();
+	~CTe_LocMonitorStep21();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep21,"te_locmonitorstep21");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep22.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep22.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2208-2209 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 te_locmonitorstep22.h
-*/
-#ifndef TE_LOCMONITORSTEP22_H
-#define TE_LOCMONITORSTEP22_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep22 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep22();
-	~CTe_LocMonitorStep22();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep22,"te_locmonitorstep22");
-
-#endif
+/*
+* Copyright (c) 2208-2209 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 te_locmonitorstep22.h
+*/
+#ifndef TE_LOCMONITORSTEP22_H
+#define TE_LOCMONITORSTEP22_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep22 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep22();
+	~CTe_LocMonitorStep22();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep22,"te_locmonitorstep22");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep23.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep23.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep23.h
-*/
-#ifndef TE_LOCMONITORSTEP23_H
-#define TE_LOCMONITORSTEP23_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep23 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep23();
-	~CTe_LocMonitorStep23();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep23,"te_locmonitorstep23");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep23.h
+*/
+#ifndef TE_LOCMONITORSTEP23_H
+#define TE_LOCMONITORSTEP23_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep23 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep23();
+	~CTe_LocMonitorStep23();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep23,"te_locmonitorstep23");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep25.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep25.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep25.h
-*/
-#ifndef TE_LOCMONITORSTEP25_H
-#define TE_LOCMONITORSTEP25_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep25 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep25();
-	~CTe_LocMonitorStep25();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep25,"te_locmonitorstep25");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep25.h
+*/
+#ifndef TE_LOCMONITORSTEP25_H
+#define TE_LOCMONITORSTEP25_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep25 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep25();
+	~CTe_LocMonitorStep25();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep25,"te_locmonitorstep25");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep26.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep26.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep26.h
-*/
-#ifndef TE_LOCMONITORSTEP26_H
-#define TE_LOCMONITORSTEP26_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep26 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep26();
-	~CTe_LocMonitorStep26();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep26,"te_locmonitorstep26");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep26.h
+*/
+#ifndef TE_LOCMONITORSTEP26_H
+#define TE_LOCMONITORSTEP26_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep26 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep26();
+	~CTe_LocMonitorStep26();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep26,"te_locmonitorstep26");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep27.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep27.h	Fri May 28 18:01:03 2010 +0100
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep27.h
-*/
-#ifndef TE_LOCMONITORSTEP27_H
-#define TE_LOCMONITORSTEP27_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep27 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep27();
-	~CTe_LocMonitorStep27();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep27,"te_locmonitorstep27");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep27.h
+*/
+#ifndef TE_LOCMONITORSTEP27_H
+#define TE_LOCMONITORSTEP27_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep27 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep27();
+	~CTe_LocMonitorStep27();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep27,"te_locmonitorstep27");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep28.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep28.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep28.h
-*/
-#ifndef TE_LOCMONITORSTEP28_H
-#define TE_LOCMONITORSTEP28_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep28 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep28();
-	~CTe_LocMonitorStep28();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep28,"te_locmonitorstep28");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep28.h
+*/
+#ifndef TE_LOCMONITORSTEP28_H
+#define TE_LOCMONITORSTEP28_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep28 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep28();
+	~CTe_LocMonitorStep28();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep28,"te_locmonitorstep28");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep3.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep3.h	Fri May 28 18:01:03 2010 +0100
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep3.h
-*/
-#ifndef TE_LOCMONITORSTEP3_H
-#define TE_LOCMONITORSTEP3_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep3 : public CTe_LocMonitorStepBase
-	{
-	
-public:
-
-	CTe_LocMonitorStep3();
-	~CTe_LocMonitorStep3();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionInfo* iPosition;
-	TPositionAreaInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	
-	};
-
-_LIT(KLocMonitorStep3,"te_locmonitorstep3");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep3.h
+*/
+#ifndef TE_LOCMONITORSTEP3_H
+#define TE_LOCMONITORSTEP3_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep3 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep3();
+	~CTe_LocMonitorStep3();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionInfo* iPosition;
+	TPositionAreaInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	
+	};
+
+_LIT(KLocMonitorStep3,"te_locmonitorstep3");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep31.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep31.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep31.h
-*/
-#ifndef TE_LOCMONITORSTEP31_H
-#define TE_LOCMONITORSTEP31_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep31 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep31();
-	~CTe_LocMonitorStep31();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep31,"te_locmonitorstep31");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep31.h
+*/
+#ifndef TE_LOCMONITORSTEP31_H
+#define TE_LOCMONITORSTEP31_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep31 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep31();
+	~CTe_LocMonitorStep31();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep31,"te_locmonitorstep31");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep32.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep32.h	Fri May 28 18:01:03 2010 +0100
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep32.h
-*/
-#ifndef TE_LOCMONITORSTEP32_H
-#define TE_LOCMONITORSTEP32_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep32 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep32();
-	~CTe_LocMonitorStep32();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	RPointerArray<TPositionSatelliteInfo> iPositions;
-	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
-	RPointerArray<TPosAreaReqParams> iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep32,"te_locmonitorstep32");
-
-#endif
-
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep32.h
+*/
+#ifndef TE_LOCMONITORSTEP32_H
+#define TE_LOCMONITORSTEP32_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep32 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep32();
+	~CTe_LocMonitorStep32();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	RPointerArray<TPositionSatelliteInfo> iPositions;
+	RPointerArray<TPositionAreaExtendedInfo> iAreaInfo;
+	RPointerArray<TPosAreaReqParams> iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep32,"te_locmonitorstep32");
+
+#endif
+
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep4.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep4.h	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep4.h
-*/
-#ifndef TE_LOCMONITORSTEP4_H
-#define TE_LOCMONITORSTEP4_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep4 : public CTe_LocMonitorStepBase
-	{
-	
-public:
-
-	CTe_LocMonitorStep4();
-	~CTe_LocMonitorStep4();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-
-	};
-
-_LIT(KLocMonitorStep4,"te_locmonitorstep4");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep4.h
+*/
+#ifndef TE_LOCMONITORSTEP4_H
+#define TE_LOCMONITORSTEP4_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep4 : public CTe_LocMonitorStepBase
+	{
+	
+public:
+
+	CTe_LocMonitorStep4();
+	~CTe_LocMonitorStep4();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+
+	};
+
+_LIT(KLocMonitorStep4,"te_locmonitorstep4");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep5.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep5.h	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep5.h
-*/
-#ifndef TE_LOCMONITORSTEP5_H
-#define TE_LOCMONITORSTEP5_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep5 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep5();
-	~CTe_LocMonitorStep5();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-
-
-	};
-
-_LIT(KLocMonitorStep5,"te_locmonitorstep5");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep5.h
+*/
+#ifndef TE_LOCMONITORSTEP5_H
+#define TE_LOCMONITORSTEP5_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep5 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep5();
+	~CTe_LocMonitorStep5();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+
+
+	};
+
+_LIT(KLocMonitorStep5,"te_locmonitorstep5");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep6.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep6.h	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep6.h
-*/
-#ifndef TE_LOCMONITORSTEP6_H
-#define TE_LOCMONITORSTEP6_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep6 : public CTe_LocMonitorStepBase
-	{
-
-public:
-
-	CTe_LocMonitorStep6();
-	~CTe_LocMonitorStep6();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-
-
-	};
-
-_LIT(KLocMonitorStep6,"te_locmonitorstep6");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep6.h
+*/
+#ifndef TE_LOCMONITORSTEP6_H
+#define TE_LOCMONITORSTEP6_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep6 : public CTe_LocMonitorStepBase
+	{
+
+public:
+
+	CTe_LocMonitorStep6();
+	~CTe_LocMonitorStep6();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+
+
+	};
+
+_LIT(KLocMonitorStep6,"te_locmonitorstep6");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep7.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep7.h	Fri May 28 18:01:03 2010 +0100
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep7.h
-*/
-#ifndef TE_LOCMONITORSTEP7_H
-#define TE_LOCMONITORSTEP7_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep7 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep7();
-	~CTe_LocMonitorStep7();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-	};
-
-_LIT(KLocMonitorStep7,"te_locmonitorstep7");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep7.h
+*/
+#ifndef TE_LOCMONITORSTEP7_H
+#define TE_LOCMONITORSTEP7_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep7 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep7();
+	~CTe_LocMonitorStep7();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+	};
+
+_LIT(KLocMonitorStep7,"te_locmonitorstep7");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep8.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep8.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep8.h
-*/
-#ifndef TE_LOCMONITORSTEP8_H
-#define TE_LOCMONITORSTEP8_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep8 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep8();
-	~CTe_LocMonitorStep8();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep8,"te_locmonitorstep8");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep8.h
+*/
+#ifndef TE_LOCMONITORSTEP8_H
+#define TE_LOCMONITORSTEP8_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep8 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep8();
+	~CTe_LocMonitorStep8();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep8,"te_locmonitorstep8");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep9.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstep9.h	Fri May 28 18:01:03 2010 +0100
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep9.h
-*/
-#ifndef TE_LOCMONITORSTEP9_H
-#define TE_LOCMONITORSTEP9_H
-
-#include <test/TestExecuteStepBase.h>
-#include "te_locmonitorstepbase.h"
-
-class CTe_LocMonitorStep9 : public CTe_LocMonitorStepBase
-	{
-public:
-	CTe_LocMonitorStep9();
-	~CTe_LocMonitorStep9();
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepL();
-	virtual TVerdict doTestStepPostambleL();
-
-private:
-
-	TPositionSatelliteInfo* iPosition;
-	TPositionAreaExtendedInfo* iAreaInfo;
-	TPosAreaReqParams* iAreaReqParams;
-	};
-
-_LIT(KLocMonitorStep9,"te_locmonitorstep9");
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep9.h
+*/
+#ifndef TE_LOCMONITORSTEP9_H
+#define TE_LOCMONITORSTEP9_H
+
+#include <test/TestExecuteStepBase.h>
+#include "te_locmonitorstepbase.h"
+
+class CTe_LocMonitorStep9 : public CTe_LocMonitorStepBase
+	{
+public:
+	CTe_LocMonitorStep9();
+	~CTe_LocMonitorStep9();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+
+private:
+
+	TPositionSatelliteInfo* iPosition;
+	TPositionAreaExtendedInfo* iAreaInfo;
+	TPosAreaReqParams* iAreaReqParams;
+	};
+
+_LIT(KLocMonitorStep9,"te_locmonitorstep9");
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstepbase.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorstepbase.h	Fri May 28 18:01:03 2010 +0100
@@ -1,144 +1,144 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstepbase.h
-*/
-
-#ifndef TE_LOCMONITORSTEPBASE_H
-#define TE_LOCMONITORSTEPBASE_H
-#include <test/TestExecuteStepBase.h>
-#include <e32property.h>
-#include "lbstimer.h"
-#include "rlbslocmonitorsession.h"
-#include "rlbslocmonitorareapositioner.h"
-#include "lbssatellite.h"
-#include "lbsareainfo.h"
-#include "lbslocmonitorserverdata.h"
-#include "te_locmonitorsuitedefs.h"
-#include "lbsinternalinterface.h"
-#include "lbsnetinternalapi.h"
-
-class CLocMonDbFeedbackWaiter;
-class CPositionInjector;
-
-
-/****************************************************************************
-* Base Test Step class for te_locmonitorsuite test steps
-* 
-****************************************************************************/
-class CTe_LocMonitorStepBase : public CTestStep
-	{
-	
-public:
-
-	virtual ~CTe_LocMonitorStepBase();
-	CTe_LocMonitorStepBase();
-	virtual TVerdict doTestStepPreambleL(); 
-	virtual TVerdict doTestStepPostambleL();
-
-protected:
-
-	void SetShortDbResponseDelay();
-	void SetLongDbResponseDelay();
-	void SetDbFailResponse();
-	void KillLocationMonitorProcess();
-
-protected:
-	
-	// Used to request that the Loc Mon DB applies
-	// a delay in the processing of the next request.
-	RProperty iDbTestCommand;
-		
-	CLocMonDbFeedbackWaiter* iLocMonDbListener;
-	
-	CPositionInjector* iPositionInjector;
-	
-private:
-
-	CActiveScheduler* iActiveScheduler;
-	};
-
-
-/**************************************************************************
-* AO to wait for the Location Monitor database feedback (in a P&S property)
-****************************************************************************/
-
-class CLocMonDbFeedbackWaiter : public CActive, public MLbsCallbackTimerObserver
-{
-public:
-
-	static CLocMonDbFeedbackWaiter* NewL();
-	~CLocMonDbFeedbackWaiter();
-	
-	void ListenForLocMonDbFeedback();
-	void WaitForDbFeedback();
-
-public:
-
-	TDbFeedback iDbData;
-	
-private:
-
-	CLocMonDbFeedbackWaiter();
-	void ConstructL();
-	
-	// From MLbsCallbackTimerObserver
-	/** Called when the timer expires */
-	void OnTimerEventL(TInt aTimerId);
-	/** Called if OnTimerEventL leaves */
-	TInt OnTimerError(TInt aTimerId, TInt aError);
-	
-	// From CActive
-	void RunL();
-	TInt RunError(TInt aError);
-	void DoCancel();
-	
-private:
-	
-	CActiveSchedulerWait* iNestedScheduler;
-	
-	CLbsCallbackTimer* iTimer;
-	
-	RProperty iDbFeedbackProperty;
-};
-
-
-class CPositionInjector : public CBase
-{
-public:
-
-	static CPositionInjector* NewL();
-	~CPositionInjector();
-	
-	void InjectGpsPosition(const TPosition& aPosition);
-	
-public:
-	
-private:
-
-	CPositionInjector();
-	void ConstructL();
-		
-private:
-
-	RLbsPositionUpdates 	iGpsPositionUpdates;// for publishing fake "GPS" positions
-};
-
-
-#endif
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstepbase.h
+*/
+
+#ifndef TE_LOCMONITORSTEPBASE_H
+#define TE_LOCMONITORSTEPBASE_H
+#include <test/TestExecuteStepBase.h>
+#include <e32property.h>
+#include "lbstimer.h"
+#include "rlbslocmonitorsession.h"
+#include "rlbslocmonitorareapositioner.h"
+#include "lbssatellite.h"
+#include "lbsareainfo.h"
+#include "lbslocmonitorserverdata.h"
+#include "te_locmonitorsuitedefs.h"
+#include "lbsinternalinterface.h"
+#include "lbsnetinternalapi.h"
+
+class CLocMonDbFeedbackWaiter;
+class CPositionInjector;
+
+
+/****************************************************************************
+* Base Test Step class for te_locmonitorsuite test steps
+* 
+****************************************************************************/
+class CTe_LocMonitorStepBase : public CTestStep
+	{
+	
+public:
+
+	virtual ~CTe_LocMonitorStepBase();
+	CTe_LocMonitorStepBase();
+	virtual TVerdict doTestStepPreambleL(); 
+	virtual TVerdict doTestStepPostambleL();
+
+protected:
+
+	void SetShortDbResponseDelay();
+	void SetLongDbResponseDelay();
+	void SetDbFailResponse();
+	void KillLocationMonitorProcess();
+
+protected:
+	
+	// Used to request that the Loc Mon DB applies
+	// a delay in the processing of the next request.
+	RProperty iDbTestCommand;
+		
+	CLocMonDbFeedbackWaiter* iLocMonDbListener;
+	
+	CPositionInjector* iPositionInjector;
+	
+private:
+
+	CActiveScheduler* iActiveScheduler;
+	};
+
+
+/**************************************************************************
+* AO to wait for the Location Monitor database feedback (in a P&S property)
+****************************************************************************/
+
+class CLocMonDbFeedbackWaiter : public CActive, public MLbsCallbackTimerObserver
+{
+public:
+
+	static CLocMonDbFeedbackWaiter* NewL();
+	~CLocMonDbFeedbackWaiter();
+	
+	void ListenForLocMonDbFeedback();
+	void WaitForDbFeedback();
+
+public:
+
+	TDbFeedback iDbData;
+	
+private:
+
+	CLocMonDbFeedbackWaiter();
+	void ConstructL();
+	
+	// From MLbsCallbackTimerObserver
+	/** Called when the timer expires */
+	void OnTimerEventL(TInt aTimerId);
+	/** Called if OnTimerEventL leaves */
+	TInt OnTimerError(TInt aTimerId, TInt aError);
+	
+	// From CActive
+	void RunL();
+	TInt RunError(TInt aError);
+	void DoCancel();
+	
+private:
+	
+	CActiveSchedulerWait* iNestedScheduler;
+	
+	CLbsCallbackTimer* iTimer;
+	
+	RProperty iDbFeedbackProperty;
+};
+
+
+class CPositionInjector : public CBase
+{
+public:
+
+	static CPositionInjector* NewL();
+	~CPositionInjector();
+	
+	void InjectGpsPosition(const TPosition& aPosition);
+	
+public:
+	
+private:
+
+	CPositionInjector();
+	void ConstructL();
+		
+private:
+
+	RLbsPositionUpdates 	iGpsPositionUpdates;// for publishing fake "GPS" positions
+};
+
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuitedefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuitedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,91 +1,91 @@
-/*
-* 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: 
-* This file define all the common values thoughout your test project
-*
-*/
-
-
-/**
- @file te_locmonitorsuitedefs.h
-*/
-#if (!defined TE_LOCMONITORSUITEDEFS_H)
-#define TE_LOCMONITORSUITEDEFS_H
-
-_LIT(KTe_locMonitorSuiteString,"TheString");
-_LIT(KTe_locMonitorSuiteInt,"TheInt");
-_LIT(KTe_locMonitorSuiteBool,"TheBool");
-
-const TUid KTestLocMonUid = {0x102869E4};
-
-// Values that the test DB will set in its 
-// responses to GetPosition...
-// ...the first time a Get method is called 
-const TInt KLatGetPos1(15); // KLatGetPos1
-const TInt KLongGetPos1(25); // KLongGetPos1
-//...the second and later times.
-const TInt KLatGetPos2(16); // KLatGetPos2
-const TInt KLongGetPos2(26); // KLongGetPos2
-
-
-// Values that the test DB will set in its 
-// responses to GetLast...
-// ...the first time a Get method is called 
-const TInt KLatGetLast1(17);
-const TInt KLongGetLast1(27);
-//...the second and later times.
-const TInt KLatGetLast2(18);
-const TInt KLongGetLast2(28);
-
-
-// Define properties keys needed for testing
-enum TTestPropertyKeys{EUnitLocMonDbDelay,
-					   EUnitLocMonDbFeedback};
-
-// For test step panics
-_LIT(KTe_locMonitorSuitePanic,"Te_locMonitorSuite");
-
-
-enum TTestDbSetUpInstructions
-	{
-	EDbSetupShortDelay = 0,
-	EDbSetupLongDelay,
-	EDbSetupFail,
-	EDbKillProcess	
-	};
-
-class TDbFeedback
-{
-
-public:
-	
-	// For the test DB to report back to the test step what
-	// position the Location Monitor asked the DB to store.
-	TPosition iPosition;
-	
-	// For the DB to report back to the test step what Global
-	// Cel Id values the Location Monitor has sent to it.
-	// Location Monitor.
-	TUint	iMcc;
-	TUint	iMnc;
-	TUint	iLac;
-	TUint	iCellId;
-	
-	// For the test DB to report back to the test step that
-	// it has received an instruction to delete the DB file. 
-	TBool iDbDeleted;
-};
-
-
-#endif
+/*
+* 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: 
+* This file define all the common values thoughout your test project
+*
+*/
+
+
+/**
+ @file te_locmonitorsuitedefs.h
+*/
+#if (!defined TE_LOCMONITORSUITEDEFS_H)
+#define TE_LOCMONITORSUITEDEFS_H
+
+_LIT(KTe_locMonitorSuiteString,"TheString");
+_LIT(KTe_locMonitorSuiteInt,"TheInt");
+_LIT(KTe_locMonitorSuiteBool,"TheBool");
+
+const TUid KTestLocMonUid = {0x102869E4};
+
+// Values that the test DB will set in its 
+// responses to GetPosition...
+// ...the first time a Get method is called 
+const TInt KLatGetPos1(15); // KLatGetPos1
+const TInt KLongGetPos1(25); // KLongGetPos1
+//...the second and later times.
+const TInt KLatGetPos2(16); // KLatGetPos2
+const TInt KLongGetPos2(26); // KLongGetPos2
+
+
+// Values that the test DB will set in its 
+// responses to GetLast...
+// ...the first time a Get method is called 
+const TInt KLatGetLast1(17);
+const TInt KLongGetLast1(27);
+//...the second and later times.
+const TInt KLatGetLast2(18);
+const TInt KLongGetLast2(28);
+
+
+// Define properties keys needed for testing
+enum TTestPropertyKeys{EUnitLocMonDbDelay,
+					   EUnitLocMonDbFeedback};
+
+// For test step panics
+_LIT(KTe_locMonitorSuitePanic,"Te_locMonitorSuite");
+
+
+enum TTestDbSetUpInstructions
+	{
+	EDbSetupShortDelay = 0,
+	EDbSetupLongDelay,
+	EDbSetupFail,
+	EDbKillProcess	
+	};
+
+class TDbFeedback
+{
+
+public:
+	
+	// For the test DB to report back to the test step what
+	// position the Location Monitor asked the DB to store.
+	TPosition iPosition;
+	
+	// For the DB to report back to the test step what Global
+	// Cel Id values the Location Monitor has sent to it.
+	// Location Monitor.
+	TUint	iMcc;
+	TUint	iMnc;
+	TUint	iLac;
+	TUint	iCellId;
+	
+	// For the test DB to report back to the test step that
+	// it has received an instruction to delete the DB file. 
+	TBool iDbDeleted;
+};
+
+
+#endif
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuiteserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuiteserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,34 +1,34 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef TE_LOCMONITORSUITE_H
-#define TE_LOCMONITORSUITE_H
-
-#include <test/testexecuteserverbase.h>
-#include "lbsnetinternalapi.h"
-
-class CTe_LocMonitorSuite : public CTestServer
-	{
-public:
-	static CTe_LocMonitorSuite* NewL();
-	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
-	virtual void ConstructL(const TDesC& aName);
-	~CTe_LocMonitorSuite();
-	};
-
-#endif // TE_LOCMONITORSUITE_H
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TE_LOCMONITORSUITE_H
+#define TE_LOCMONITORSUITE_H
+
+#include <test/testexecuteserverbase.h>
+#include "lbsnetinternalapi.h"
+
+class CTe_LocMonitorSuite : public CTestServer
+	{
+public:
+	static CTe_LocMonitorSuite* NewL();
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+	virtual void ConstructL(const TDesC& aName);
+	~CTe_LocMonitorSuite();
+	};
+
+#endif // TE_LOCMONITORSUITE_H
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/scripts/te_locmonitorsuite.script	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/scripts/te_locmonitorsuite.script	Fri May 28 18:01:03 2010 +0100
@@ -1,483 +1,483 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies 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
-//! @SYMTestSuiteName            te_locmonitorsuite.script
-//! @SYMScriptTestEnvironment TEF
-
-
-PRINT Run te_locmonitorsuite
-LOAD_SUITE te_locmonitorsuite
-
-RUN_UTILS DeleteFile c:\config.txt
-RUN_UTILS CopyFile c:\testdata\configs\lbslocmonunitconfig.txt c:\config.txt
-
-START_TESTCASE                LBS-LocMonitorSuite-0032
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0032
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep32
-END_TESTCASE                  LBS-LocMonitorSuite-0032
-
-
-START_TESTCASE                LBS-LocMonitorSuite-0028
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0028
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep28
-END_TESTCASE                  LBS-LocMonitorSuite-0028
-
-START_TESTCASE                LBS-LocMonitorSuite-0001
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0001
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep1
-END_TESTCASE                  LBS-LocMonitorSuite-0001
-
-START_TESTCASE                LBS-LocMonitorSuite-0002
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0002
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep2
-END_TESTCASE                  LBS-LocMonitorSuite-0002
-
-
-START_TESTCASE                LBS-LocMonitorSuite-0003
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0003
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep3
-END_TESTCASE                  LBS-LocMonitorSuite-0003
-
-START_TESTCASE                LBS-LocMonitorSuite-0004
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0004
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep4
-END_TESTCASE                  LBS-LocMonitorSuite-0004
-
-START_TESTCASE                LBS-LocMonitorSuite-0005
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0005
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep5
-END_TESTCASE                  LBS-LocMonitorSuite-0005
-
-START_TESTCASE                LBS-LocMonitorSuite-0006
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0006
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep6
-END_TESTCASE                  LBS-LocMonitorSuite-0006
-
-START_TESTCASE                LBS-LocMonitorSuite-0007
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0007
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep7
-END_TESTCASE                  LBS-LocMonitorSuite-0007
-
-START_TESTCASE                LBS-LocMonitorSuite-0008
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0008
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep8
-END_TESTCASE                  LBS-LocMonitorSuite-0008
-
-START_TESTCASE                LBS-LocMonitorSuite-0009
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0009
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep9
-END_TESTCASE                  LBS-LocMonitorSuite-0009
-
-
-START_TESTCASE                LBS-LocMonitorSuite-0010
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0010
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep10
-END_TESTCASE                  LBS-LocMonitorSuite-0010
-
-START_TESTCASE                LBS-LocMonitorSuite-0011
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0011
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep11
-END_TESTCASE                  LBS-LocMonitorSuite-0011
-
-START_TESTCASE                LBS-LocMonitorSuite-0012
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0012
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep12
-END_TESTCASE                  LBS-LocMonitorSuite-0012
-
-START_TESTCASE                LBS-LocMonitorSuite-0013
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0013
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep13
-END_TESTCASE                  LBS-LocMonitorSuite-0013
-
-
-START_TESTCASE                LBS-LocMonitorSuite-0014
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0014
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep14
-END_TESTCASE                  LBS-LocMonitorSuite-0014
-
-START_TESTCASE                LBS-LocMonitorSuite-0015
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0015
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep15
-END_TESTCASE                  LBS-LocMonitorSuite-0015
-
-START_TESTCASE                LBS-LocMonitorSuite-0016
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0016
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep16
-END_TESTCASE                  LBS-LocMonitorSuite-0016
-
-START_TESTCASE                LBS-LocMonitorSuite-0017
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0017
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep17
-END_TESTCASE                  LBS-LocMonitorSuite-0017
-
-START_TESTCASE                LBS-LocMonitorSuite-0018
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0018
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep18
-END_TESTCASE                  LBS-LocMonitorSuite-0018
-
-START_TESTCASE                LBS-LocMonitorSuite-0019
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0019
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep19
-END_TESTCASE                  LBS-LocMonitorSuite-0019
-
-START_TESTCASE                LBS-LocMonitorSuite-0020
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0020
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep20
-END_TESTCASE                  LBS-LocMonitorSuite-0020
-
-START_TESTCASE                LBS-LocMonitorSuite-0021
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0021
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep21
-END_TESTCASE                  LBS-LocMonitorSuite-0021
-
-START_TESTCASE                LBS-LocMonitorSuite-0022
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0022
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep22
-END_TESTCASE                  LBS-LocMonitorSuite-0022
-
-START_TESTCASE                LBS-LocMonitorSuite-0023
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0023
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep23
-END_TESTCASE                  LBS-LocMonitorSuite-0023
-
-START_TESTCASE                LBS-LocMonitorSuite-0024
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0024
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep24
-END_TESTCASE                  LBS-LocMonitorSuite-0024
-
-START_TESTCASE                LBS-LocMonitorSuite-0025
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0025
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep25
-END_TESTCASE                  LBS-LocMonitorSuite-0025
-
-START_TESTCASE                LBS-LocMonitorSuite-0026
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0026
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep26
-END_TESTCASE                  LBS-LocMonitorSuite-0026
-
-START_TESTCASE                LBS-LocMonitorSuite-0027
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0027
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep27
-END_TESTCASE                  LBS-LocMonitorSuite-0027
-
-
-START_TESTCASE                LBS-LocMonitorSuite-0031
-//! @SYMTestCaseID              LBS-LocMonitorSuite-0031
-//! @SYMTestCaseDesc            
-//!                             This test ensures that, 
-//!                             
-//!                             
-//!                             
-//! @SYMTestPriority            High
-//! @SYMTestType                UT
-//! @SYMCreationDate            
-//! @SYMAuthor                  juanmr
-//! @SYMTestStatus              2. Functional
-RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep31
-END_TESTCASE                  LBS-LocMonitorSuite-0031
-
-
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName            te_locmonitorsuite.script
+//! @SYMScriptTestEnvironment TEF
+
+
+PRINT Run te_locmonitorsuite
+LOAD_SUITE te_locmonitorsuite
+
+RUN_UTILS DeleteFile c:\config.txt
+RUN_UTILS CopyFile c:\testdata\configs\lbslocmonunitconfig.txt c:\config.txt
+
+START_TESTCASE                LBS-LocMonitorSuite-0032
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0032
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep32
+END_TESTCASE                  LBS-LocMonitorSuite-0032
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0028
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0028
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep28
+END_TESTCASE                  LBS-LocMonitorSuite-0028
+
+START_TESTCASE                LBS-LocMonitorSuite-0001
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0001
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep1
+END_TESTCASE                  LBS-LocMonitorSuite-0001
+
+START_TESTCASE                LBS-LocMonitorSuite-0002
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0002
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep2
+END_TESTCASE                  LBS-LocMonitorSuite-0002
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0003
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0003
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep3
+END_TESTCASE                  LBS-LocMonitorSuite-0003
+
+START_TESTCASE                LBS-LocMonitorSuite-0004
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0004
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep4
+END_TESTCASE                  LBS-LocMonitorSuite-0004
+
+START_TESTCASE                LBS-LocMonitorSuite-0005
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0005
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep5
+END_TESTCASE                  LBS-LocMonitorSuite-0005
+
+START_TESTCASE                LBS-LocMonitorSuite-0006
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0006
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep6
+END_TESTCASE                  LBS-LocMonitorSuite-0006
+
+START_TESTCASE                LBS-LocMonitorSuite-0007
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0007
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep7
+END_TESTCASE                  LBS-LocMonitorSuite-0007
+
+START_TESTCASE                LBS-LocMonitorSuite-0008
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0008
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep8
+END_TESTCASE                  LBS-LocMonitorSuite-0008
+
+START_TESTCASE                LBS-LocMonitorSuite-0009
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0009
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep9
+END_TESTCASE                  LBS-LocMonitorSuite-0009
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0010
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0010
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep10
+END_TESTCASE                  LBS-LocMonitorSuite-0010
+
+START_TESTCASE                LBS-LocMonitorSuite-0011
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0011
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep11
+END_TESTCASE                  LBS-LocMonitorSuite-0011
+
+START_TESTCASE                LBS-LocMonitorSuite-0012
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0012
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep12
+END_TESTCASE                  LBS-LocMonitorSuite-0012
+
+START_TESTCASE                LBS-LocMonitorSuite-0013
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0013
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep13
+END_TESTCASE                  LBS-LocMonitorSuite-0013
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0014
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0014
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep14
+END_TESTCASE                  LBS-LocMonitorSuite-0014
+
+START_TESTCASE                LBS-LocMonitorSuite-0015
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0015
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep15
+END_TESTCASE                  LBS-LocMonitorSuite-0015
+
+START_TESTCASE                LBS-LocMonitorSuite-0016
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0016
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep16
+END_TESTCASE                  LBS-LocMonitorSuite-0016
+
+START_TESTCASE                LBS-LocMonitorSuite-0017
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0017
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep17
+END_TESTCASE                  LBS-LocMonitorSuite-0017
+
+START_TESTCASE                LBS-LocMonitorSuite-0018
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0018
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep18
+END_TESTCASE                  LBS-LocMonitorSuite-0018
+
+START_TESTCASE                LBS-LocMonitorSuite-0019
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0019
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep19
+END_TESTCASE                  LBS-LocMonitorSuite-0019
+
+START_TESTCASE                LBS-LocMonitorSuite-0020
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0020
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep20
+END_TESTCASE                  LBS-LocMonitorSuite-0020
+
+START_TESTCASE                LBS-LocMonitorSuite-0021
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0021
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep21
+END_TESTCASE                  LBS-LocMonitorSuite-0021
+
+START_TESTCASE                LBS-LocMonitorSuite-0022
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0022
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep22
+END_TESTCASE                  LBS-LocMonitorSuite-0022
+
+START_TESTCASE                LBS-LocMonitorSuite-0023
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0023
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep23
+END_TESTCASE                  LBS-LocMonitorSuite-0023
+
+START_TESTCASE                LBS-LocMonitorSuite-0024
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0024
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep24
+END_TESTCASE                  LBS-LocMonitorSuite-0024
+
+START_TESTCASE                LBS-LocMonitorSuite-0025
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0025
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep25
+END_TESTCASE                  LBS-LocMonitorSuite-0025
+
+START_TESTCASE                LBS-LocMonitorSuite-0026
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0026
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep26
+END_TESTCASE                  LBS-LocMonitorSuite-0026
+
+START_TESTCASE                LBS-LocMonitorSuite-0027
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0027
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP 20 te_locmonitorsuite te_locmonitorstep27
+END_TESTCASE                  LBS-LocMonitorSuite-0027
+
+
+START_TESTCASE                LBS-LocMonitorSuite-0031
+//! @SYMTestCaseID              LBS-LocMonitorSuite-0031
+//! @SYMTestCaseDesc            
+//!                             This test ensures that, 
+//!                             
+//!                             
+//!                             
+//! @SYMTestPriority            High
+//! @SYMTestType                UT
+//! @SYMCreationDate            
+//! @SYMAuthor                  juanmr
+//! @SYMTestStatus              2. Functional
+RUN_TEST_STEP !PanicCode=0 20 te_locmonitorsuite te_locmonitorstep31
+END_TESTCASE                  LBS-LocMonitorSuite-0031
+
+
 PRINT te_locmonitorsuite done
\ No newline at end of file
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep1.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep1.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,75 +1,75 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep1.cpp
-*/
- 
-#include "te_locmonitorstep1.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep1::~CTe_LocMonitorStep1()
-	{
-	}
-
-CTe_LocMonitorStep1::CTe_LocMonitorStep1()
-	{
-	SetTestStepName(KLocMonitorStep1);
-	}
-
-TVerdict CTe_LocMonitorStep1::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks that it is possible to connect a session and
-// subsession with the Location Monitor and then close both.
-//
-TVerdict CTe_LocMonitorStep1::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		
- 		areaPositioner.Close();
- 		locMonSession.Close();
- 		
- 		// Reopen the session and subsession
- 		User::LeaveIfError(locMonSession.Connect());
- 		areaPositioner.OpenL(locMonSession);
-
- 		areaPositioner.Close();
- 		locMonSession.Close(); 		
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep1::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep1.cpp
+*/
+ 
+#include "te_locmonitorstep1.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep1::~CTe_LocMonitorStep1()
+	{
+	}
+
+CTe_LocMonitorStep1::CTe_LocMonitorStep1()
+	{
+	SetTestStepName(KLocMonitorStep1);
+	}
+
+TVerdict CTe_LocMonitorStep1::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to connect a session and
+// subsession with the Location Monitor and then close both.
+//
+TVerdict CTe_LocMonitorStep1::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		
+ 		areaPositioner.Close();
+ 		locMonSession.Close();
+ 		
+ 		// Reopen the session and subsession
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		areaPositioner.OpenL(locMonSession);
+
+ 		areaPositioner.Close();
+ 		locMonSession.Close(); 		
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep1::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep10.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep10.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,102 +1,102 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep10.cpp
-*/
- 
-#include "te_locmonitorstep10.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep10::~CTe_LocMonitorStep10()
-	{
-	}
-
-CTe_LocMonitorStep10::CTe_LocMonitorStep10()
-	{
-	SetTestStepName(KLocMonitorStep10);
-	}
-
-TVerdict CTe_LocMonitorStep10::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	iBadPosition = new(ELeave) TPositionGpsMeasurementInfo();
-	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
-	iAreaReqParams = new(ELeave) TPosAreaReqParams();
-	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
-	
-	//iWaiter = CLocMonWaiter::NewL();
-	return TestStepResult();
-	}
-
-//
-// Use of incorrect parameter in calls to RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea, 
-// RLbsLocMonitorAreaPositioner::GetLastKnownPositon and RLbsLocMonitorAreaPositioner::SetLastKnownPosition.
-//
-// The incorrect parameter is the "position" passed in, which is a TPositionGpsMeasurementInfo.
-//
-TVerdict CTe_LocMonitorStep10::doTestStepL()
-	{
-	TPosition receivedPosition;
-
- 	if (TestStepResult()==EPass)
- 		{ 
- 		TInt err;
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPositionArea(*iBadPosition, *iAreaInfo, *iAreaReqParams, status);
- 		User::WaitForRequest(status);
- 		// Check that the asynchronous request completed with KErrArgument
- 		TESTL(KErrArgument == status.Int());
- 		
- 		areaPositioner.GetLastKnownPosition(*iBadPosition, status);
- 		User::WaitForRequest(status);
- 		// Check that the asynchronous request completed with KErrArgument
- 		TESTL(KErrArgument == status.Int());
- 		
-		err = areaPositioner.SetLastKnownPosition(*iBadPosition);
- 		// Check that the asynchronous request completed with KErrArgument
- 		TESTL(KErrArgument == err);
-		
- 		CleanupStack::PopAndDestroy(&areaPositioner);
- 		
- 		locMonSession.Close();
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep10::doTestStepPostambleL()
-	{
-	delete iBadPosition;
-	delete iAreaInfo;
-	delete iAreaReqParams;
-	
-	//delete iWaiter;
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep10.cpp
+*/
+ 
+#include "te_locmonitorstep10.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep10::~CTe_LocMonitorStep10()
+	{
+	}
+
+CTe_LocMonitorStep10::CTe_LocMonitorStep10()
+	{
+	SetTestStepName(KLocMonitorStep10);
+	}
+
+TVerdict CTe_LocMonitorStep10::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	iBadPosition = new(ELeave) TPositionGpsMeasurementInfo();
+	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
+	iAreaReqParams = new(ELeave) TPosAreaReqParams();
+	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
+	
+	//iWaiter = CLocMonWaiter::NewL();
+	return TestStepResult();
+	}
+
+//
+// Use of incorrect parameter in calls to RLbsLocMonitorAreaPositioner::GetLastKnownPositionArea, 
+// RLbsLocMonitorAreaPositioner::GetLastKnownPositon and RLbsLocMonitorAreaPositioner::SetLastKnownPosition.
+//
+// The incorrect parameter is the "position" passed in, which is a TPositionGpsMeasurementInfo.
+//
+TVerdict CTe_LocMonitorStep10::doTestStepL()
+	{
+	TPosition receivedPosition;
+
+ 	if (TestStepResult()==EPass)
+ 		{ 
+ 		TInt err;
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPositionArea(*iBadPosition, *iAreaInfo, *iAreaReqParams, status);
+ 		User::WaitForRequest(status);
+ 		// Check that the asynchronous request completed with KErrArgument
+ 		TESTL(KErrArgument == status.Int());
+ 		
+ 		areaPositioner.GetLastKnownPosition(*iBadPosition, status);
+ 		User::WaitForRequest(status);
+ 		// Check that the asynchronous request completed with KErrArgument
+ 		TESTL(KErrArgument == status.Int());
+ 		
+		err = areaPositioner.SetLastKnownPosition(*iBadPosition);
+ 		// Check that the asynchronous request completed with KErrArgument
+ 		TESTL(KErrArgument == err);
+		
+ 		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		
+ 		locMonSession.Close();
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep10::doTestStepPostambleL()
+	{
+	delete iBadPosition;
+	delete iAreaInfo;
+	delete iAreaReqParams;
+	
+	//delete iWaiter;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep11.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep11.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,83 +1,83 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep11.cpp
-*/
- 
-#include "te_locmonitorstep11.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep11::~CTe_LocMonitorStep11()
-	{
-	}
-
-CTe_LocMonitorStep11::CTe_LocMonitorStep11()
-	{
-	SetTestStepName(KLocMonitorStep11);
-	}
-
-TVerdict CTe_LocMonitorStep11::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that a SetLastKnowPosition request
-// results in a request to store a position sent to the DB
-//
-TVerdict CTe_LocMonitorStep11::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPositionInfo positionInfo;
- 		TPosition position;
-		TReal64 latitude(11), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-		positionInfo.SetPosition(position);
-			
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
- 		areaPositioner.SetLastKnownPosition(positionInfo);
- 		iLocMonDbListener->WaitForDbFeedback(); 		
-		
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep11::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep11.cpp
+*/
+ 
+#include "te_locmonitorstep11.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep11::~CTe_LocMonitorStep11()
+	{
+	}
+
+CTe_LocMonitorStep11::CTe_LocMonitorStep11()
+	{
+	SetTestStepName(KLocMonitorStep11);
+	}
+
+TVerdict CTe_LocMonitorStep11::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that a SetLastKnowPosition request
+// results in a request to store a position sent to the DB
+//
+TVerdict CTe_LocMonitorStep11::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPositionInfo positionInfo;
+ 		TPosition position;
+		TReal64 latitude(11), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+		positionInfo.SetPosition(position);
+			
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+ 		areaPositioner.SetLastKnownPosition(positionInfo);
+ 		iLocMonDbListener->WaitForDbFeedback(); 		
+		
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep11::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep12.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep12.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,117 +1,117 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep12.cpp
-*/
- 
-#include "te_locmonitorstep12.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep12::~CTe_LocMonitorStep12()
-	{
-	}
-
-CTe_LocMonitorStep12::CTe_LocMonitorStep12()
-	{
-	SetTestStepName(KLocMonitorStep12);
-	}
-
-TVerdict CTe_LocMonitorStep12::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires two positions...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that GetLastKnownPositionArea and 
-// GetLastKnownPosition can be issued simultaneously from
-// the same subsession and both are completed correctly.
-//
-TVerdict CTe_LocMonitorStep12::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{		
- 		TPosition receivedPosition;
-		
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
- 		
-		// One second DB processing delay to ensure the
-		// second request is received by the server before
-		// the first terminates (test of server's queues).
-		SetShortDbResponseDelay();
-
-		TRequestStatus status1;
- 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner.GetLastKnownPosition(*iPositions[1], status2);
- 
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
- 		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
-
-		// Check values
- 		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep12::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep12.cpp
+*/
+ 
+#include "te_locmonitorstep12.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep12::~CTe_LocMonitorStep12()
+	{
+	}
+
+CTe_LocMonitorStep12::CTe_LocMonitorStep12()
+	{
+	SetTestStepName(KLocMonitorStep12);
+	}
+
+TVerdict CTe_LocMonitorStep12::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires two positions...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that GetLastKnownPositionArea and 
+// GetLastKnownPosition can be issued simultaneously from
+// the same subsession and both are completed correctly.
+//
+TVerdict CTe_LocMonitorStep12::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{		
+ 		TPosition receivedPosition;
+		
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+ 		
+		// One second DB processing delay to ensure the
+		// second request is received by the server before
+		// the first terminates (test of server's queues).
+		SetShortDbResponseDelay();
+
+		TRequestStatus status1;
+ 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner.GetLastKnownPosition(*iPositions[1], status2);
+ 
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+ 		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+
+		// Check values
+ 		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep12::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep13.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep13.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,137 +1,137 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep13.cpp
-*/
- 
-#include "te_locmonitorstep13.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep13::~CTe_LocMonitorStep13()
-	{
-	}
-
-CTe_LocMonitorStep13::CTe_LocMonitorStep13()
-	{
-	SetTestStepName(KLocMonitorStep13);
-	}
-
-TVerdict CTe_LocMonitorStep13::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires two positions...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that GetLastKnownPositionArea, 
-// GetLastKnownPosition and SetLastKnowPosition can be
-// issued simultaneously from the same subsession
-// all of them are completed correctly.
-//
-TVerdict CTe_LocMonitorStep13::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
- 		// Prepare a position for sending the Location Monitor		
- 		TPositionInfo positionInfo;
- 		TPosition position;
-		TReal64 latitude(11), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-		positionInfo.SetPosition(position);
- 				
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
- 		
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing)
-		SetShortDbResponseDelay(); // 1 second delay
-
-
-		TRequestStatus status1;
- 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner.GetLastKnownPosition(*iPositions[1], status2);
- 		
-		iLocMonDbListener->ListenForLocMonDbFeedback();
- 		areaPositioner.SetLastKnownPosition(positionInfo);
- 
-
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
- 		
- 		// Wait for feedback from the DB about the call to SetLastKnownPosition
- 		iLocMonDbListener->WaitForDbFeedback();
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep13::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep13.cpp
+*/
+ 
+#include "te_locmonitorstep13.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep13::~CTe_LocMonitorStep13()
+	{
+	}
+
+CTe_LocMonitorStep13::CTe_LocMonitorStep13()
+	{
+	SetTestStepName(KLocMonitorStep13);
+	}
+
+TVerdict CTe_LocMonitorStep13::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires two positions...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that GetLastKnownPositionArea, 
+// GetLastKnownPosition and SetLastKnowPosition can be
+// issued simultaneously from the same subsession
+// all of them are completed correctly.
+//
+TVerdict CTe_LocMonitorStep13::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+ 		// Prepare a position for sending the Location Monitor		
+ 		TPositionInfo positionInfo;
+ 		TPosition position;
+		TReal64 latitude(11), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+		positionInfo.SetPosition(position);
+ 				
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+ 		
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing)
+		SetShortDbResponseDelay(); // 1 second delay
+
+
+		TRequestStatus status1;
+ 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner.GetLastKnownPosition(*iPositions[1], status2);
+ 		
+		iLocMonDbListener->ListenForLocMonDbFeedback();
+ 		areaPositioner.SetLastKnownPosition(positionInfo);
+ 
+
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+ 		
+ 		// Wait for feedback from the DB about the call to SetLastKnownPosition
+ 		iLocMonDbListener->WaitForDbFeedback();
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep13::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep14.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep14.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,143 +1,143 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep14.cpp
-*/
- 
-#include "te_locmonitorstep14.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep14::~CTe_LocMonitorStep14()
-	{
-	}
-
-CTe_LocMonitorStep14::CTe_LocMonitorStep14()
-	{
-	SetTestStepName(KLocMonitorStep14);
-	}
-
-TVerdict CTe_LocMonitorStep14::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires two positions...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that GetLastKnownPositionArea, 
-// GetLastKnownPosition and SetLastKnowPosition can be
-// issued simultaneously from three different subsession
-// owned by the same session.
-//
-TVerdict CTe_LocMonitorStep14::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
- 		// Prepare a position for sending the Location Monitor		
- 		TPositionInfo positionInfo;
- 		TPosition position;
-		TReal64 latitude(11), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-		positionInfo.SetPosition(position);
- 				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
- 		
-		iLocMonDbListener->ListenForLocMonDbFeedback();
- 		areaPositioner3.SetLastKnownPosition(positionInfo);
- 
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
- 		
- 		// Wait for feedback from the DB about the call to SetLastKnownPosition
- 		iLocMonDbListener->WaitForDbFeedback();
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep14::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep14.cpp
+*/
+ 
+#include "te_locmonitorstep14.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep14::~CTe_LocMonitorStep14()
+	{
+	}
+
+CTe_LocMonitorStep14::CTe_LocMonitorStep14()
+	{
+	SetTestStepName(KLocMonitorStep14);
+	}
+
+TVerdict CTe_LocMonitorStep14::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires two positions...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that GetLastKnownPositionArea, 
+// GetLastKnownPosition and SetLastKnowPosition can be
+// issued simultaneously from three different subsession
+// owned by the same session.
+//
+TVerdict CTe_LocMonitorStep14::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+ 		// Prepare a position for sending the Location Monitor		
+ 		TPositionInfo positionInfo;
+ 		TPosition position;
+		TReal64 latitude(11), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+		positionInfo.SetPosition(position);
+ 				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
+ 		
+		iLocMonDbListener->ListenForLocMonDbFeedback();
+ 		areaPositioner3.SetLastKnownPosition(positionInfo);
+ 
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+ 		
+ 		// Wait for feedback from the DB about the call to SetLastKnownPosition
+ 		iLocMonDbListener->WaitForDbFeedback();
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep14::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep15.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep15.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,148 +1,148 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep15.cpp
-*/
- 
-#include "te_locmonitorstep15.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep15::~CTe_LocMonitorStep15()
-	{
-	}
-
-CTe_LocMonitorStep15::CTe_LocMonitorStep15()
-	{
-	SetTestStepName(KLocMonitorStep15);
-	}
-
-TVerdict CTe_LocMonitorStep15::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires two positions...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that GetLastKnownPositionArea, 
-// GetLastKnownPosition and SetLastKnowPosition can be
-// issued simultaneously from three different sessions.
-//
-TVerdict CTe_LocMonitorStep15::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
- 		// Prepare a position for sending the Location Monitor		
- 		TPositionInfo positionInfo;
- 		TPosition position;
-		TReal64 latitude(11), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-		positionInfo.SetPosition(position);
- 				
-		// Open session1 and three subsessions
-		RLbsLocMonitorSession locMonSession1;
- 		User::LeaveIfError(locMonSession1.Connect());
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect());
- 		RLbsLocMonitorSession locMonSession3;
- 		User::LeaveIfError(locMonSession3.Connect());
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession1);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession3);
- 		CleanupClosePushL(areaPositioner3);
- 
- 		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing)
-		SetShortDbResponseDelay(); // 1 second delay
-		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
- 		
-		iLocMonDbListener->ListenForLocMonDbFeedback();
- 		areaPositioner3.SetLastKnownPosition(positionInfo);
- 
-
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
- 		
- 		// Wait for feedback from the DB about the call to SetLastKnownPosition
- 		iLocMonDbListener->WaitForDbFeedback();
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession2.Close();
- 		locMonSession3.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep15::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep15.cpp
+*/
+ 
+#include "te_locmonitorstep15.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep15::~CTe_LocMonitorStep15()
+	{
+	}
+
+CTe_LocMonitorStep15::CTe_LocMonitorStep15()
+	{
+	SetTestStepName(KLocMonitorStep15);
+	}
+
+TVerdict CTe_LocMonitorStep15::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires two positions...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that GetLastKnownPositionArea, 
+// GetLastKnownPosition and SetLastKnowPosition can be
+// issued simultaneously from three different sessions.
+//
+TVerdict CTe_LocMonitorStep15::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+ 		// Prepare a position for sending the Location Monitor		
+ 		TPositionInfo positionInfo;
+ 		TPosition position;
+		TReal64 latitude(11), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+		positionInfo.SetPosition(position);
+ 				
+		// Open session1 and three subsessions
+		RLbsLocMonitorSession locMonSession1;
+ 		User::LeaveIfError(locMonSession1.Connect());
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect());
+ 		RLbsLocMonitorSession locMonSession3;
+ 		User::LeaveIfError(locMonSession3.Connect());
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession1);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession3);
+ 		CleanupClosePushL(areaPositioner3);
+ 
+ 		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing)
+		SetShortDbResponseDelay(); // 1 second delay
+		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
+ 		
+		iLocMonDbListener->ListenForLocMonDbFeedback();
+ 		areaPositioner3.SetLastKnownPosition(positionInfo);
+ 
+
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+ 		
+ 		// Wait for feedback from the DB about the call to SetLastKnownPosition
+ 		iLocMonDbListener->WaitForDbFeedback();
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude()); 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession2.Close();
+ 		locMonSession3.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep15::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep16.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep16.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,72 +1,72 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep16.cpp
-*/
- 
-#include "te_locmonitorstep16.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep16::~CTe_LocMonitorStep16()
-	{
-	}
-
-CTe_LocMonitorStep16::CTe_LocMonitorStep16()
-	{
-	SetTestStepName(KLocMonitorStep16);
-	}
-
-TVerdict CTe_LocMonitorStep16::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks calling
-// RLbsLocMonitorSession::WipeOutDatabase 
-// results in a request to delete the DB.
-TVerdict CTe_LocMonitorStep16::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TRequestStatus status;
-
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
- 		locMonSession.WipeOutDatabase(status);
- 		iLocMonDbListener->WaitForDbFeedback();
-		
-		TESTL(iLocMonDbListener->iDbData.iDbDeleted);
-
-		User::WaitForRequest(status);
-		TESTL(KErrNone == status.Int());
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep16::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep16.cpp
+*/
+ 
+#include "te_locmonitorstep16.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep16::~CTe_LocMonitorStep16()
+	{
+	}
+
+CTe_LocMonitorStep16::CTe_LocMonitorStep16()
+	{
+	SetTestStepName(KLocMonitorStep16);
+	}
+
+TVerdict CTe_LocMonitorStep16::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks calling
+// RLbsLocMonitorSession::WipeOutDatabase 
+// results in a request to delete the DB.
+TVerdict CTe_LocMonitorStep16::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TRequestStatus status;
+
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+ 		locMonSession.WipeOutDatabase(status);
+ 		iLocMonDbListener->WaitForDbFeedback();
+		
+		TESTL(iLocMonDbListener->iDbData.iDbDeleted);
+
+		User::WaitForRequest(status);
+		TESTL(KErrNone == status.Int());
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep16::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep17.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep17.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,97 +1,97 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep17.cpp
-*/
- 
-#include "te_locmonitorstep17.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep17::~CTe_LocMonitorStep17()
-	{
-	}
-
-CTe_LocMonitorStep17::CTe_LocMonitorStep17()
-	{
-	SetTestStepName(KLocMonitorStep17);
-	}
-
-TVerdict CTe_LocMonitorStep17::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires one position...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test verifies that is possible to
-// cancel a GetLastKnownPositionArea request.
-//
-TVerdict CTe_LocMonitorStep17::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		// Ensure the test DB is handling the GetLastKnownPositionArea
- 		// request when the cancel arrives.
- 		SetShortDbResponseDelay();
- 		
-  		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		
- 		CleanupClosePushL(areaPositioner);
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
- 		areaPositioner.CancelGetLastKnownPositionArea();
- 		
- 		User::WaitForRequest(status);
- 		TESTL(KErrCancel == status.Int());
- 		
- 		// Check values
- 		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep17::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep17.cpp
+*/
+ 
+#include "te_locmonitorstep17.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep17::~CTe_LocMonitorStep17()
+	{
+	}
+
+CTe_LocMonitorStep17::CTe_LocMonitorStep17()
+	{
+	SetTestStepName(KLocMonitorStep17);
+	}
+
+TVerdict CTe_LocMonitorStep17::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires one position...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test verifies that is possible to
+// cancel a GetLastKnownPositionArea request.
+//
+TVerdict CTe_LocMonitorStep17::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		// Ensure the test DB is handling the GetLastKnownPositionArea
+ 		// request when the cancel arrives.
+ 		SetShortDbResponseDelay();
+ 		
+  		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		
+ 		CleanupClosePushL(areaPositioner);
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
+ 		areaPositioner.CancelGetLastKnownPositionArea();
+ 		
+ 		User::WaitForRequest(status);
+ 		TESTL(KErrCancel == status.Int());
+ 		
+ 		// Check values
+ 		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep17::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep18.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep18.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,90 +1,90 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep18.cpp
-*/
- 
-#include "te_locmonitorstep18.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep18::~CTe_LocMonitorStep18()
-	{
-	}
-
-CTe_LocMonitorStep18::CTe_LocMonitorStep18()
-	{
-	SetTestStepName(KLocMonitorStep18);
-	}
-
-TVerdict CTe_LocMonitorStep18::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires one position...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		
-	return TestStepResult();
-	}
-
-//
-// This test verifies that is possible to
-// cancel a GetLastKnownPosition request.
-//
-TVerdict CTe_LocMonitorStep18::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		// Ensure the test DB is handling the GetLastKnownPositionArea
- 		// request when the cancel arrives.
- 		SetShortDbResponseDelay();
- 		
-  		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPosition(*iPositions[0], status);
- 		areaPositioner.CancelGetLastKnownPosition();
- 		
- 		User::WaitForRequest(status);
- 		
- 		TESTL(KErrCancel == status.Int());
- 		
- 		// Check values
- 		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep18::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep18.cpp
+*/
+ 
+#include "te_locmonitorstep18.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep18::~CTe_LocMonitorStep18()
+	{
+	}
+
+CTe_LocMonitorStep18::CTe_LocMonitorStep18()
+	{
+	SetTestStepName(KLocMonitorStep18);
+	}
+
+TVerdict CTe_LocMonitorStep18::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires one position...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		
+	return TestStepResult();
+	}
+
+//
+// This test verifies that is possible to
+// cancel a GetLastKnownPosition request.
+//
+TVerdict CTe_LocMonitorStep18::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		// Ensure the test DB is handling the GetLastKnownPositionArea
+ 		// request when the cancel arrives.
+ 		SetShortDbResponseDelay();
+ 		
+  		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPosition(*iPositions[0], status);
+ 		areaPositioner.CancelGetLastKnownPosition();
+ 		
+ 		User::WaitForRequest(status);
+ 		
+ 		TESTL(KErrCancel == status.Int());
+ 		
+ 		// Check values
+ 		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep18::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep19.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep19.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,188 +1,188 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep19.cpp
-*/
- 
-#include "te_locmonitorstep19.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep19::~CTe_LocMonitorStep19()
-	{
-	}
-
-CTe_LocMonitorStep19::CTe_LocMonitorStep19()
-	{
-	SetTestStepName(KLocMonitorStep19);
-	}
-
-TVerdict CTe_LocMonitorStep19::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 5; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that it is possible to cancel
-// a GetLastKnownPositionArea request without affecting
-// the completion of the same request in other subsessions.
-// In this test, the request cancelled is not the one that
-// triggered the DB access but a request queued by the server.
-//
-TVerdict CTe_LocMonitorStep19::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
- 		
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner4);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
- 		
- 		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
- 		
- 		TRequestStatus status31;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status31);
- 		
- 		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
- 		
- 		
- 		//********
- 		// Cancel the third request
- 		//********
- 		areaPositioner3.CancelGetLastKnownPositionArea();
- 		
- 		User::WaitForRequest(status3);
- 		TESTL(KErrCancel == status3.Int());
- 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the second client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
-		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[1]->CellIdMatch());
-
- 		User::WaitForRequest(status31);
- 		TESTL(KErrNone == status31.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[3]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
- 		
- 		User::WaitForRequest(status4);
- 		TESTL(KErrNone == status4.Int());
- 		 // Check that the fourth client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[4]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
-		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[3]->CellIdMatch());
- 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner4);
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession.Close();
- 		locMonSession2.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep19::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep19.cpp
+*/
+ 
+#include "te_locmonitorstep19.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep19::~CTe_LocMonitorStep19()
+	{
+	}
+
+CTe_LocMonitorStep19::CTe_LocMonitorStep19()
+	{
+	SetTestStepName(KLocMonitorStep19);
+	}
+
+TVerdict CTe_LocMonitorStep19::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 5; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to cancel
+// a GetLastKnownPositionArea request without affecting
+// the completion of the same request in other subsessions.
+// In this test, the request cancelled is not the one that
+// triggered the DB access but a request queued by the server.
+//
+TVerdict CTe_LocMonitorStep19::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+ 		
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner4);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
+ 		
+ 		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
+ 		
+ 		TRequestStatus status31;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status31);
+ 		
+ 		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
+ 		
+ 		
+ 		//********
+ 		// Cancel the third request
+ 		//********
+ 		areaPositioner3.CancelGetLastKnownPositionArea();
+ 		
+ 		User::WaitForRequest(status3);
+ 		TESTL(KErrCancel == status3.Int());
+ 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the second client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
+		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[1]->CellIdMatch());
+
+ 		User::WaitForRequest(status31);
+ 		TESTL(KErrNone == status31.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[3]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+ 		
+ 		User::WaitForRequest(status4);
+ 		TESTL(KErrNone == status4.Int());
+ 		 // Check that the fourth client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[4]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
+		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[3]->CellIdMatch());
+ 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner4);
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession.Close();
+ 		locMonSession2.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep19::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep2.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep2.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,134 +1,134 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep2.cpp
-*/
- 
-#include "te_locmonitorstep2.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep2::~CTe_LocMonitorStep2()
-	{
-	}
-
-CTe_LocMonitorStep2::CTe_LocMonitorStep2()
-	{
-	SetTestStepName(KLocMonitorStep2);
-	}
-
-TVerdict CTe_LocMonitorStep2::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	iPosition = new(ELeave) TPositionSatelliteInfo();
-	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
-	iAreaReqParams = new(ELeave) TPosAreaReqParams();
-	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
-	
-	//iWaiter = CLocMonWaiter::NewL();
-	return TestStepResult();
-	}
-
-//
-// Repeatible call to GetLastKnownPositionArea using a TPositionSatelliteInfo
-// and a TPositionAreaExtendedInfo object.
-//
-// This test checks that it is possible to request the last known
-// position with area information from the Location Monitor using the above
-// mentioned data types.
-//
-// The call to GetLastKnowPositionArea is conducted twice to check
-// repeatibility.
-//
-TVerdict CTe_LocMonitorStep2::doTestStepL()
-	{
-	TPosition receivedPosition;
-
- 	if (TestStepResult()==EPass)
- 		{
- 
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);
- 			
- 		User::WaitForRequest(status);
- 		
- 		TESTL(status.Int() == KErrNone);
- 		
- 		// Check that the position and area information are as expected
- 		iPosition->GetPosition(receivedPosition);
-
- 		INFO_PRINTF2(_L("received area info %d expected EAreaCity 700"),(int)iAreaInfo->Area());
- 
- 		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
- 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos1);
- 		INFO_PRINTF2(_L("ActualLongitude %d"), KLongGetPos1);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo->Area());
-		TESTL(iAreaInfo->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo->MobileCountryCodeMatch());
-		TESTL(iAreaInfo->LocationAreaCodeMatch());
-		TESTL(iAreaInfo->CellIdMatch());
-
-		// Try again
-		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);	
- 		User::WaitForRequest(status);
-		
- 		// Check that the position and area information are as expected
- 		iPosition->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos2 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos2 == receivedPosition.Longitude());
- 
-		TESTL(TPositionAreaInfo::EAreaCountry == iAreaInfo->Area());
-		TESTL(iAreaInfo->MobileCountryCodeMatch());
-		TESTL(!iAreaInfo->MobileNetworkCodeMatch());
-		TESTL(!iAreaInfo->LocationAreaCodeMatch());
-		TESTL(!iAreaInfo->CellIdMatch());		
-		
- 		areaPositioner.Close();
- 		
- 		locMonSession.Close();
- 		
- 		// Wait 3 seconds for the server to go down
- 		//User::After(3000000);
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep2::doTestStepPostambleL()
-	{
-	delete iPosition;
-	delete iAreaInfo;
-	delete iAreaReqParams;
-	
-	//delete iWaiter;
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep2.cpp
+*/
+ 
+#include "te_locmonitorstep2.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep2::~CTe_LocMonitorStep2()
+	{
+	}
+
+CTe_LocMonitorStep2::CTe_LocMonitorStep2()
+	{
+	SetTestStepName(KLocMonitorStep2);
+	}
+
+TVerdict CTe_LocMonitorStep2::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	iPosition = new(ELeave) TPositionSatelliteInfo();
+	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
+	iAreaReqParams = new(ELeave) TPosAreaReqParams();
+	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
+	
+	//iWaiter = CLocMonWaiter::NewL();
+	return TestStepResult();
+	}
+
+//
+// Repeatible call to GetLastKnownPositionArea using a TPositionSatelliteInfo
+// and a TPositionAreaExtendedInfo object.
+//
+// This test checks that it is possible to request the last known
+// position with area information from the Location Monitor using the above
+// mentioned data types.
+//
+// The call to GetLastKnowPositionArea is conducted twice to check
+// repeatibility.
+//
+TVerdict CTe_LocMonitorStep2::doTestStepL()
+	{
+	TPosition receivedPosition;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+ 
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);
+ 			
+ 		User::WaitForRequest(status);
+ 		
+ 		TESTL(status.Int() == KErrNone);
+ 		
+ 		// Check that the position and area information are as expected
+ 		iPosition->GetPosition(receivedPosition);
+
+ 		INFO_PRINTF2(_L("received area info %d expected EAreaCity 700"),(int)iAreaInfo->Area());
+ 
+ 		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
+ 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos1);
+ 		INFO_PRINTF2(_L("ActualLongitude %d"), KLongGetPos1);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo->Area());
+		TESTL(iAreaInfo->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo->MobileCountryCodeMatch());
+		TESTL(iAreaInfo->LocationAreaCodeMatch());
+		TESTL(iAreaInfo->CellIdMatch());
+
+		// Try again
+		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);	
+ 		User::WaitForRequest(status);
+		
+ 		// Check that the position and area information are as expected
+ 		iPosition->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos2 == receivedPosition.Longitude());
+ 
+		TESTL(TPositionAreaInfo::EAreaCountry == iAreaInfo->Area());
+		TESTL(iAreaInfo->MobileCountryCodeMatch());
+		TESTL(!iAreaInfo->MobileNetworkCodeMatch());
+		TESTL(!iAreaInfo->LocationAreaCodeMatch());
+		TESTL(!iAreaInfo->CellIdMatch());		
+		
+ 		areaPositioner.Close();
+ 		
+ 		locMonSession.Close();
+ 		
+ 		// Wait 3 seconds for the server to go down
+ 		//User::After(3000000);
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep2::doTestStepPostambleL()
+	{
+	delete iPosition;
+	delete iAreaInfo;
+	delete iAreaReqParams;
+	
+	//delete iWaiter;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep20.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep20.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,174 +1,174 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep20.cpp
-*/
- 
-#include "te_locmonitorstep20.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep20::~CTe_LocMonitorStep20()
-	{
-	}
-
-CTe_LocMonitorStep20::CTe_LocMonitorStep20()
-	{
-	SetTestStepName(KLocMonitorStep20);
-	}
-
-TVerdict CTe_LocMonitorStep20::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 5; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that it is possible to cancel
-// a GetLastKnownPosition request without affecting
-// the completion of the same request in other subsessions.
-// In this test, the request cancelled is not the one that
-// triggered the DB access but a requet queued by the server.
-//
-TVerdict CTe_LocMonitorStep20::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
-
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner4);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPosition(*iPositions[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
- 		
- 		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPosition(*iPositions[2], status3);
- 		
- 		TRequestStatus status31;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[3], *iAreaInfo[0], *iAreaReqParams[0], status31);
- 		
- 		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPosition(*iPositions[4], status4);
-
- 		
- 		//********
- 		// Cancel the third request
- 		//********
- 		areaPositioner3.CancelGetLastKnownPosition();
- 		
- 		User::WaitForRequest(status3);
- 		TESTL(KErrCancel == status3.Int());
- 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the second client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
- 		User::WaitForRequest(status31);
- 		TESTL(KErrNone == status31.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[3]->GetPosition(receivedPosition);
- 		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
- 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
- 	    INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos2);
- 	    INFO_PRINTF2(_L("ActualLongitude() %d"), KLongGetPos2);
- 		TESTL(KLatGetPos2 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos2 == receivedPosition.Longitude());
-		TESTL(TPositionAreaInfo::EAreaCountry == iAreaInfo[0]->Area());
-
-
- 		User::WaitForRequest(status4);
- 		TESTL(KErrNone == status4.Int());
- 		// Check that the fourth queued client is also terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[4]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-
-		// Check values
- 		CleanupStack::PopAndDestroy(&areaPositioner4);
- 		CleanupStack::PopAndDestroy(&areaPositioner3);
- 		CleanupStack::PopAndDestroy(&areaPositioner2);
- 		CleanupStack::PopAndDestroy(&areaPositioner1);
-  		locMonSession.Close();
- 		locMonSession2.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep20::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep20.cpp
+*/
+ 
+#include "te_locmonitorstep20.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep20::~CTe_LocMonitorStep20()
+	{
+	}
+
+CTe_LocMonitorStep20::CTe_LocMonitorStep20()
+	{
+	SetTestStepName(KLocMonitorStep20);
+	}
+
+TVerdict CTe_LocMonitorStep20::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 5; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to cancel
+// a GetLastKnownPosition request without affecting
+// the completion of the same request in other subsessions.
+// In this test, the request cancelled is not the one that
+// triggered the DB access but a requet queued by the server.
+//
+TVerdict CTe_LocMonitorStep20::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner4);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPosition(*iPositions[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[1], status2);
+ 		
+ 		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPosition(*iPositions[2], status3);
+ 		
+ 		TRequestStatus status31;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[3], *iAreaInfo[0], *iAreaReqParams[0], status31);
+ 		
+ 		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPosition(*iPositions[4], status4);
+
+ 		
+ 		//********
+ 		// Cancel the third request
+ 		//********
+ 		areaPositioner3.CancelGetLastKnownPosition();
+ 		
+ 		User::WaitForRequest(status3);
+ 		TESTL(KErrCancel == status3.Int());
+ 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the second client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+ 		User::WaitForRequest(status31);
+ 		TESTL(KErrNone == status31.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[3]->GetPosition(receivedPosition);
+ 		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
+ 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
+ 	    INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos2);
+ 	    INFO_PRINTF2(_L("ActualLongitude() %d"), KLongGetPos2);
+ 		TESTL(KLatGetPos2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos2 == receivedPosition.Longitude());
+		TESTL(TPositionAreaInfo::EAreaCountry == iAreaInfo[0]->Area());
+
+
+ 		User::WaitForRequest(status4);
+ 		TESTL(KErrNone == status4.Int());
+ 		// Check that the fourth queued client is also terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[4]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+
+		// Check values
+ 		CleanupStack::PopAndDestroy(&areaPositioner4);
+ 		CleanupStack::PopAndDestroy(&areaPositioner3);
+ 		CleanupStack::PopAndDestroy(&areaPositioner2);
+ 		CleanupStack::PopAndDestroy(&areaPositioner1);
+  		locMonSession.Close();
+ 		locMonSession2.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep20::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep21.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep21.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,188 +1,188 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep21.cpp
-*/
- 
-#include "te_locmonitorstep21.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep21::~CTe_LocMonitorStep21()
-	{
-	}
-
-CTe_LocMonitorStep21::CTe_LocMonitorStep21()
-	{
-	SetTestStepName(KLocMonitorStep21);
-	}
-
-TVerdict CTe_LocMonitorStep21::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 5; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that it is possible to cancel
-// a GetLastKnownPositionArea request without affecting
-// the completion of the same request in other subsessions.
-// In this test, the request cancelled is the one that
-// triggered the DB read.
-//
-TVerdict CTe_LocMonitorStep21::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
- 		
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner4);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
- 		
- 		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
- 		
- 		TRequestStatus status31;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status31);
- 		
- 		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
- 		
- 		
- 		//********
- 		// Cancel the third request
- 		//********
- 		areaPositioner1.CancelGetLastKnownPositionArea();
- 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrCancel == status1.Int());
- 		
- 		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[1]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
-		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[1]->CellIdMatch());
-
-		User::WaitForRequest(status3);
- 		TESTL(KErrNone == status3.Int());		
- 		// Check that the second client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[2]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[2]->Area());
-		TESTL(iAreaInfo[2]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[2]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[2]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[2]->CellIdMatch());
-
- 		User::WaitForRequest(status31);
- 		TESTL(KErrNone == status31.Int());		
- 		// Check that the position and area information are as expected
- 		iPositions[3]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
- 		
- 		User::WaitForRequest(status4);
- 		TESTL(KErrNone == status4.Int());
- 		 // Check that the fourth client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[4]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
-		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[3]->CellIdMatch());
- 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner4);
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession.Close();
- 		locMonSession2.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep21::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep21.cpp
+*/
+ 
+#include "te_locmonitorstep21.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep21::~CTe_LocMonitorStep21()
+	{
+	}
+
+CTe_LocMonitorStep21::CTe_LocMonitorStep21()
+	{
+	SetTestStepName(KLocMonitorStep21);
+	}
+
+TVerdict CTe_LocMonitorStep21::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 5; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that it is possible to cancel
+// a GetLastKnownPositionArea request without affecting
+// the completion of the same request in other subsessions.
+// In this test, the request cancelled is the one that
+// triggered the DB read.
+//
+TVerdict CTe_LocMonitorStep21::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+ 		
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner4);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
+ 		
+ 		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
+ 		
+ 		TRequestStatus status31;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status31);
+ 		
+ 		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
+ 		
+ 		
+ 		//********
+ 		// Cancel the third request
+ 		//********
+ 		areaPositioner1.CancelGetLastKnownPositionArea();
+ 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrCancel == status1.Int());
+ 		
+ 		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[1]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
+		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[1]->CellIdMatch());
+
+		User::WaitForRequest(status3);
+ 		TESTL(KErrNone == status3.Int());		
+ 		// Check that the second client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[2]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[2]->Area());
+		TESTL(iAreaInfo[2]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[2]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[2]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[2]->CellIdMatch());
+
+ 		User::WaitForRequest(status31);
+ 		TESTL(KErrNone == status31.Int());		
+ 		// Check that the position and area information are as expected
+ 		iPositions[3]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+ 		
+ 		User::WaitForRequest(status4);
+ 		TESTL(KErrNone == status4.Int());
+ 		 // Check that the fourth client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[4]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
+		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[3]->CellIdMatch());
+ 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner4);
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession.Close();
+ 		locMonSession2.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep21::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep22.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep22.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,182 +1,182 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep22.cpp
-*/
- 
-#include "te_locmonitorstep22.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep22::~CTe_LocMonitorStep22()
-	{
-	}
-
-CTe_LocMonitorStep22::CTe_LocMonitorStep22()
-	{
-	SetTestStepName(KLocMonitorStep22);
-	}
-
-TVerdict CTe_LocMonitorStep22::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 5; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that the closure of a subsession
-// results in the deletion of the requests sent by that
-// subsession. Requests sent by other subsessions complete
-// normally.
-//
-TVerdict CTe_LocMonitorStep22::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
- 		
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner4);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
-  		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
- 		
- 		TRequestStatus status21;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status21);
-  		
-  		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
-
-		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
-
-		// *******************************************************
-		// areapositioner2 sent two requests. Now close it down
-		// before the requests complete.	
- 		areaPositioner2.Close();
- 		//**********************************************************
- 		
- 		User::WaitForRequest(status2);
- 		TESTL(KErrServerTerminated == status2.Int());
- 		User::WaitForRequest(status21);
- 		TESTL(KErrServerTerminated == status21.Int()); 		 		
-
-
-		// Check that first session's request
-		// completes normally 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status3);
- 		TESTL(KErrNone == status3.Int());		
- 		// Check that the third client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[2]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[2]->Area());
-		TESTL(iAreaInfo[2]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[2]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[2]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[2]->CellIdMatch());
-
- 		User::WaitForRequest(status4);
- 		TESTL(KErrNone == status4.Int());
- 		 // Check that the fourth client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[4]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
-		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[3]->CellIdMatch());
- 		
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner4);
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
-		locMonSession.Close();
- 		locMonSession2.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep22::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep22.cpp
+*/
+ 
+#include "te_locmonitorstep22.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep22::~CTe_LocMonitorStep22()
+	{
+	}
+
+CTe_LocMonitorStep22::CTe_LocMonitorStep22()
+	{
+	SetTestStepName(KLocMonitorStep22);
+	}
+
+TVerdict CTe_LocMonitorStep22::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 5; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that the closure of a subsession
+// results in the deletion of the requests sent by that
+// subsession. Requests sent by other subsessions complete
+// normally.
+//
+TVerdict CTe_LocMonitorStep22::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+ 		
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner4);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+  		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
+ 		
+ 		TRequestStatus status21;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[3],status21);
+  		
+  		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status3);
+
+		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status4);
+
+		// *******************************************************
+		// areapositioner2 sent two requests. Now close it down
+		// before the requests complete.	
+ 		areaPositioner2.Close();
+ 		//**********************************************************
+ 		
+ 		User::WaitForRequest(status2);
+ 		TESTL(KErrServerTerminated == status2.Int());
+ 		User::WaitForRequest(status21);
+ 		TESTL(KErrServerTerminated == status21.Int()); 		 		
+
+
+		// Check that first session's request
+		// completes normally 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"),(int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status3);
+ 		TESTL(KErrNone == status3.Int());		
+ 		// Check that the third client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[2]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[2]->Area());
+		TESTL(iAreaInfo[2]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[2]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[2]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[2]->CellIdMatch());
+
+ 		User::WaitForRequest(status4);
+ 		TESTL(KErrNone == status4.Int());
+ 		 // Check that the fourth client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[4]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
+		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[3]->CellIdMatch());
+ 		
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner4);
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+		locMonSession.Close();
+ 		locMonSession2.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep22::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep23.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep23.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,193 +1,193 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep23.cpp
-*/
- 
-#include "te_locmonitorstep23.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep23::~CTe_LocMonitorStep23()
-	{
-	}
-
-CTe_LocMonitorStep23::CTe_LocMonitorStep23()
-	{
-	SetTestStepName(KLocMonitorStep23);
-	}
-
-TVerdict CTe_LocMonitorStep23::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 5; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that the closure of a session
-// results in the deletion of the requests sent by subsessions
-// in that session. Requests sent by other subsessions complete
-// normally.
-//
-TVerdict CTe_LocMonitorStep23::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
- 		
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
-
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to allow the messages to be queued in the server (this is
-		// for testing the server queuing mechanism)
-		SetShortDbResponseDelay();
-		
-		 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
-  		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
- 		
-		// This request should be cancelled when locMonSession2 is closed 		
-		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status4);
- 		
- 		TRequestStatus status41;
- 		areaPositioner4.GetLastKnownPosition(*iPositions[3],status41);
-  		
-  		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status3);
-
-
-		// *******************************************************
-		// areapositioner4 in locMonSession2 sent two requests.
-		// Now close locMonSession2 before the request completes.	
- 		locMonSession2.Close();
- 		//**********************************************************
- 		
- 		
- 		// No point in waiting for these resuts because the client-server
- 		// framework does not guarantee completion of outstanding requests
- 		// when the session closes.
- 		//User::WaitForRequest(status4);
- 		//TESTL(KErrServerTerminated == status4.Int());
- 		//User::WaitForRequest(status41);
- 		//TESTL(KErrServerTerminated == status41.Int()); 		 		
-
-
-		// Check that first session's request
-		// completes normally 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		User::WaitForRequest(status2);
- 		TESTL(KErrNone == status2.Int());		
- 		// Check that the third client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[1]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
-		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[1]->CellIdMatch());
-
- 		User::WaitForRequest(status3);
- 		TESTL(KErrNone == status3.Int());
- 		 // Check that the fourth client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[4]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
-		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[3]->CellIdMatch());
- 		
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
-		locMonSession.Close();
- 		
- 		// Attempting to close the subsession whose
- 		// session was prematurely closed provokes a
- 		// panic (if we don't do it, another panic happens
- 		// due to a memory leak).
-		areaPositioner4.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep23::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep23.cpp
+*/
+ 
+#include "te_locmonitorstep23.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep23::~CTe_LocMonitorStep23()
+	{
+	}
+
+CTe_LocMonitorStep23::CTe_LocMonitorStep23()
+	{
+	SetTestStepName(KLocMonitorStep23);
+	}
+
+TVerdict CTe_LocMonitorStep23::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 5; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that the closure of a session
+// results in the deletion of the requests sent by subsessions
+// in that session. Requests sent by other subsessions complete
+// normally.
+//
+TVerdict CTe_LocMonitorStep23::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+ 		
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to allow the messages to be queued in the server (this is
+		// for testing the server queuing mechanism)
+		SetShortDbResponseDelay();
+		
+		 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+  		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPositionArea(*iPositions[1], *iAreaInfo[1], *iAreaReqParams[1], status2);
+ 		
+		// This request should be cancelled when locMonSession2 is closed 		
+		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[2], *iAreaReqParams[2], status4);
+ 		
+ 		TRequestStatus status41;
+ 		areaPositioner4.GetLastKnownPosition(*iPositions[3],status41);
+  		
+  		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[3], *iAreaReqParams[3], status3);
+
+
+		// *******************************************************
+		// areapositioner4 in locMonSession2 sent two requests.
+		// Now close locMonSession2 before the request completes.	
+ 		locMonSession2.Close();
+ 		//**********************************************************
+ 		
+ 		
+ 		// No point in waiting for these resuts because the client-server
+ 		// framework does not guarantee completion of outstanding requests
+ 		// when the session closes.
+ 		//User::WaitForRequest(status4);
+ 		//TESTL(KErrServerTerminated == status4.Int());
+ 		//User::WaitForRequest(status41);
+ 		//TESTL(KErrServerTerminated == status41.Int()); 		 		
+
+
+		// Check that first session's request
+		// completes normally 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		User::WaitForRequest(status2);
+ 		TESTL(KErrNone == status2.Int());		
+ 		// Check that the third client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[1]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[1]->Area());
+		TESTL(iAreaInfo[1]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[1]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[1]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[1]->CellIdMatch());
+
+ 		User::WaitForRequest(status3);
+ 		TESTL(KErrNone == status3.Int());
+ 		 // Check that the fourth client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[4]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[3]->Area());
+		TESTL(iAreaInfo[3]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[3]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[3]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[3]->CellIdMatch());
+ 		
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+		locMonSession.Close();
+ 		
+ 		// Attempting to close the subsession whose
+ 		// session was prematurely closed provokes a
+ 		// panic (if we don't do it, another panic happens
+ 		// due to a memory leak).
+		areaPositioner4.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep23::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep24.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep24.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,197 +1,197 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep24.cpp
-*/
- 
-#include "te_locmonitorstep24.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep24::~CTe_LocMonitorStep24()
-	{
-	}
-
-CTe_LocMonitorStep24::CTe_LocMonitorStep24()
-	{
-	SetTestStepName(KLocMonitorStep24);
-	}
-
-TVerdict CTe_LocMonitorStep24::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 12; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that after 10 request
-// have been queued in the Location Monitor,
-// the following requests are inmediately completed
-// with KErrServerBusy.
-//
-TVerdict CTe_LocMonitorStep24::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-		RLbsLocMonitorAreaPositioner areaPositioner2;
- 		areaPositioner2.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner2);
-		RLbsLocMonitorAreaPositioner areaPositioner3;
- 		areaPositioner3.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner3);
- 		RLbsLocMonitorSession locMonSession2;
- 		User::LeaveIfError(locMonSession2.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner4;
- 		areaPositioner4.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner4);
- 		RLbsLocMonitorAreaPositioner areaPositioner5;
- 		areaPositioner5.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner5);
- 		RLbsLocMonitorAreaPositioner areaPositioner6;
- 		areaPositioner6.OpenL(locMonSession2);
- 		CleanupClosePushL(areaPositioner6);
-
-		// Provoke a delay in the processing of the first message by the Location
-		// Monitor DB to ensure all of the following requests are queued in the
-		// server (this is for testing the server queuing mechanism).
-		SetShortDbResponseDelay();
- 		
- 		
- 		// Send 10 requests. That should fill up the Location Monitor's request queue.
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
- 		
- 		TRequestStatus status11;
- 		areaPositioner1.GetLastKnownPosition(*iPositions[1],status11);
-  		
-  		TRequestStatus status2;
- 		areaPositioner2.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[1], *iAreaReqParams[1], status2);
- 		
- 		TRequestStatus status21;
- 		areaPositioner2.GetLastKnownPosition(*iPositions[3], status21);
-  		
-  		TRequestStatus status3;
- 		areaPositioner3.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[2], *iAreaReqParams[2], status3);
- 		
- 		TRequestStatus status31;
- 		areaPositioner3.GetLastKnownPosition(*iPositions[5], status31);
-   		
-		TRequestStatus status4;
- 		areaPositioner4.GetLastKnownPositionArea(*iPositions[6], *iAreaInfo[3], *iAreaReqParams[3], status4);
- 		
- 		TRequestStatus status41;
- 		areaPositioner4.GetLastKnownPosition(*iPositions[7], status41);
-  
-		TRequestStatus status5;
- 		areaPositioner5.GetLastKnownPositionArea(*iPositions[8], *iAreaInfo[4], *iAreaReqParams[4], status5);
- 		
- 		TRequestStatus status51;
- 		areaPositioner5.GetLastKnownPosition(*iPositions[9], status51);
-
-		// Send two more requests. They should be rejected with error code KErrServerBusy.
-		TRequestStatus status6;
- 		areaPositioner6.GetLastKnownPositionArea(*iPositions[10], *iAreaInfo[5], *iAreaReqParams[5], status6);
- 		
- 		TRequestStatus status61;
- 		areaPositioner6.GetLastKnownPosition(*iPositions[11], status61);
-
-		User::WaitForRequest(status6);
-		TESTL(KErrServerBusy == status6.Int());
-		
-		User::WaitForRequest(status61);
-		TESTL(KErrServerBusy == status61.Int());		
-
-		// Check that first session's request
-		// completes normally 		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		iPositions[0]->GetPosition(receivedPosition);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
- 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
-		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
-		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
-		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
-		TESTL(iAreaInfo[0]->CellIdMatch());
-
-		// Check that the 10th request completes with expected values.
-		User::WaitForRequest(status51);
-		User::WaitForRequest(status5);
- 		TESTL(KErrNone == status51.Int());
- 
- 		// Check that the third client is terminated with the same 
- 		// results as the first (the server should complete all of the
- 		// queued clients for the same request type with the results
- 		// of the same read operation)
- 		iPositions[9]->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
-
-		
-		User::WaitForRequest(status2);
-		User::WaitForRequest(status21);
-		User::WaitForRequest(status3);
-		User::WaitForRequest(status31);
-		User::WaitForRequest(status4);
-		User::WaitForRequest(status41);
-		User::WaitForRequest(status11);
-
-
-		CleanupStack::PopAndDestroy(&areaPositioner6);
-		CleanupStack::PopAndDestroy(&areaPositioner5);
-		CleanupStack::PopAndDestroy(&areaPositioner4);
-		CleanupStack::PopAndDestroy(&areaPositioner3);
-		CleanupStack::PopAndDestroy(&areaPositioner2);
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession.Close();
- 		locMonSession2.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep24::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep24.cpp
+*/
+ 
+#include "te_locmonitorstep24.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep24::~CTe_LocMonitorStep24()
+	{
+	}
+
+CTe_LocMonitorStep24::CTe_LocMonitorStep24()
+	{
+	SetTestStepName(KLocMonitorStep24);
+	}
+
+TVerdict CTe_LocMonitorStep24::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 12; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that after 10 request
+// have been queued in the Location Monitor,
+// the following requests are inmediately completed
+// with KErrServerBusy.
+//
+TVerdict CTe_LocMonitorStep24::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+		RLbsLocMonitorAreaPositioner areaPositioner2;
+ 		areaPositioner2.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner2);
+		RLbsLocMonitorAreaPositioner areaPositioner3;
+ 		areaPositioner3.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner3);
+ 		RLbsLocMonitorSession locMonSession2;
+ 		User::LeaveIfError(locMonSession2.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner4;
+ 		areaPositioner4.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner4);
+ 		RLbsLocMonitorAreaPositioner areaPositioner5;
+ 		areaPositioner5.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner5);
+ 		RLbsLocMonitorAreaPositioner areaPositioner6;
+ 		areaPositioner6.OpenL(locMonSession2);
+ 		CleanupClosePushL(areaPositioner6);
+
+		// Provoke a delay in the processing of the first message by the Location
+		// Monitor DB to ensure all of the following requests are queued in the
+		// server (this is for testing the server queuing mechanism).
+		SetShortDbResponseDelay();
+ 		
+ 		
+ 		// Send 10 requests. That should fill up the Location Monitor's request queue.
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+ 		
+ 		TRequestStatus status11;
+ 		areaPositioner1.GetLastKnownPosition(*iPositions[1],status11);
+  		
+  		TRequestStatus status2;
+ 		areaPositioner2.GetLastKnownPositionArea(*iPositions[2], *iAreaInfo[1], *iAreaReqParams[1], status2);
+ 		
+ 		TRequestStatus status21;
+ 		areaPositioner2.GetLastKnownPosition(*iPositions[3], status21);
+  		
+  		TRequestStatus status3;
+ 		areaPositioner3.GetLastKnownPositionArea(*iPositions[4], *iAreaInfo[2], *iAreaReqParams[2], status3);
+ 		
+ 		TRequestStatus status31;
+ 		areaPositioner3.GetLastKnownPosition(*iPositions[5], status31);
+   		
+		TRequestStatus status4;
+ 		areaPositioner4.GetLastKnownPositionArea(*iPositions[6], *iAreaInfo[3], *iAreaReqParams[3], status4);
+ 		
+ 		TRequestStatus status41;
+ 		areaPositioner4.GetLastKnownPosition(*iPositions[7], status41);
+  
+		TRequestStatus status5;
+ 		areaPositioner5.GetLastKnownPositionArea(*iPositions[8], *iAreaInfo[4], *iAreaReqParams[4], status5);
+ 		
+ 		TRequestStatus status51;
+ 		areaPositioner5.GetLastKnownPosition(*iPositions[9], status51);
+
+		// Send two more requests. They should be rejected with error code KErrServerBusy.
+		TRequestStatus status6;
+ 		areaPositioner6.GetLastKnownPositionArea(*iPositions[10], *iAreaInfo[5], *iAreaReqParams[5], status6);
+ 		
+ 		TRequestStatus status61;
+ 		areaPositioner6.GetLastKnownPosition(*iPositions[11], status61);
+
+		User::WaitForRequest(status6);
+		TESTL(KErrServerBusy == status6.Int());
+		
+		User::WaitForRequest(status61);
+		TESTL(KErrServerBusy == status61.Int());		
+
+		// Check that first session's request
+		// completes normally 		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("receivedarea %d"), (int)iAreaInfo[0]->Area());
+ 		INFO_PRINTF2(_L("Actualarea %d"), TPositionAreaInfo::EAreaCity);
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo[0]->Area());
+		TESTL(iAreaInfo[0]->MobileNetworkCodeMatch());
+		TESTL(iAreaInfo[0]->MobileCountryCodeMatch());
+		TESTL(iAreaInfo[0]->LocationAreaCodeMatch());
+		TESTL(iAreaInfo[0]->CellIdMatch());
+
+		// Check that the 10th request completes with expected values.
+		User::WaitForRequest(status51);
+		User::WaitForRequest(status5);
+ 		TESTL(KErrNone == status51.Int());
+ 
+ 		// Check that the third client is terminated with the same 
+ 		// results as the first (the server should complete all of the
+ 		// queued clients for the same request type with the results
+ 		// of the same read operation)
+ 		iPositions[9]->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+
+		
+		User::WaitForRequest(status2);
+		User::WaitForRequest(status21);
+		User::WaitForRequest(status3);
+		User::WaitForRequest(status31);
+		User::WaitForRequest(status4);
+		User::WaitForRequest(status41);
+		User::WaitForRequest(status11);
+
+
+		CleanupStack::PopAndDestroy(&areaPositioner6);
+		CleanupStack::PopAndDestroy(&areaPositioner5);
+		CleanupStack::PopAndDestroy(&areaPositioner4);
+		CleanupStack::PopAndDestroy(&areaPositioner3);
+		CleanupStack::PopAndDestroy(&areaPositioner2);
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession.Close();
+ 		locMonSession2.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep24::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep25.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep25.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,97 +1,97 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep25.cpp
-*/
- 
-#include "te_locmonitorstep25.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep25::~CTe_LocMonitorStep25()
-	{
-	}
-
-CTe_LocMonitorStep25::CTe_LocMonitorStep25()
-	{
-	SetTestStepName(KLocMonitorStep25);
-	}
-
-TVerdict CTe_LocMonitorStep25::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 1; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that if a DB read operation after
-// a call to GLKPA fails, the error code is relayed
-// to the client.
-//
-TVerdict CTe_LocMonitorStep25::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
-				
-		// Open sessions and subsessions
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner1);
-
-		// Ask the DB to complete the next request it gets with
-		// a negative error code.
-		SetDbFailResponse();
- 		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
- 		
-		User::WaitForRequest(status1);
-		INFO_PRINTF2(_L("expected status KErrNotFound but getting %d"), status1.Int());
-		TESTL(KErrNotFound == status1.Int());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep25::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep25.cpp
+*/
+ 
+#include "te_locmonitorstep25.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep25::~CTe_LocMonitorStep25()
+	{
+	}
+
+CTe_LocMonitorStep25::CTe_LocMonitorStep25()
+	{
+	SetTestStepName(KLocMonitorStep25);
+	}
+
+TVerdict CTe_LocMonitorStep25::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 1; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that if a DB read operation after
+// a call to GLKPA fails, the error code is relayed
+// to the client.
+//
+TVerdict CTe_LocMonitorStep25::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+				
+		// Open sessions and subsessions
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner1);
+
+		// Ask the DB to complete the next request it gets with
+		// a negative error code.
+		SetDbFailResponse();
+ 		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+ 		
+		User::WaitForRequest(status1);
+		INFO_PRINTF2(_L("expected status KErrNotFound but getting %d"), status1.Int());
+		TESTL(KErrNotFound == status1.Int());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep25::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep26.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep26.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,98 +1,98 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep26.cpp
-*/
- 
-#include "te_locmonitorstep26.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep26::~CTe_LocMonitorStep26()
-	{
-	}
-
-CTe_LocMonitorStep26::CTe_LocMonitorStep26()
-	{
-	SetTestStepName(KLocMonitorStep26);
-	}
-
-TVerdict CTe_LocMonitorStep26::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 1; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test exercises the code in the Location Monitor 
-// that handles an error code different from KErrNone 
-// returned by the Database. The client (test) never
-// gets to know that there was an error writing.
-//
-TVerdict CTe_LocMonitorStep26::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPositionInfo positionInfo;
- 		TPosition position;
-		TReal64 latitude(11), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-		positionInfo.SetPosition(position);
-			
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-
-		// Ask the DB to complete the next request it gets with
-		// a negative error code.
-		SetDbFailResponse();
-
- 		areaPositioner.SetLastKnownPosition(positionInfo);
-
-		User::After(1000); // Give the Db a chance to see the request sent above
-
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult(); 		
-	}
-
-TVerdict CTe_LocMonitorStep26::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep26.cpp
+*/
+ 
+#include "te_locmonitorstep26.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep26::~CTe_LocMonitorStep26()
+	{
+	}
+
+CTe_LocMonitorStep26::CTe_LocMonitorStep26()
+	{
+	SetTestStepName(KLocMonitorStep26);
+	}
+
+TVerdict CTe_LocMonitorStep26::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 1; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test exercises the code in the Location Monitor 
+// that handles an error code different from KErrNone 
+// returned by the Database. The client (test) never
+// gets to know that there was an error writing.
+//
+TVerdict CTe_LocMonitorStep26::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPositionInfo positionInfo;
+ 		TPosition position;
+		TReal64 latitude(11), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+		positionInfo.SetPosition(position);
+			
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+
+		// Ask the DB to complete the next request it gets with
+		// a negative error code.
+		SetDbFailResponse();
+
+ 		areaPositioner.SetLastKnownPosition(positionInfo);
+
+		User::After(1000); // Give the Db a chance to see the request sent above
+
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult(); 		
+	}
+
+TVerdict CTe_LocMonitorStep26::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep27.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep27.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,100 +1,100 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep27.cpp
-*/
- 
-#include "te_locmonitorstep27.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep27::~CTe_LocMonitorStep27()
-	{
-	}
-
-CTe_LocMonitorStep27::CTe_LocMonitorStep27()
-	{
-	SetTestStepName(KLocMonitorStep27);
-	}
-
-TVerdict CTe_LocMonitorStep27::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// Instantiate objects required by this test
-	for(TInt index = 0; index < 1; index++)
-		{
-		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-		// ... and one of these
-		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
-		}
-
-	return TestStepResult();
-	}
-
-//
-// This test checks that if the database takes too
-// long to respond the user is informed of a timeout.
-//
-TVerdict CTe_LocMonitorStep27::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-		// Ask the DB to complete the next request after a delay
-		// that is longer than the Location Monitor timeout.
-		SetLongDbResponseDelay();
-		
-		TRequestStatus status;
-  		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
-
-		// User is informed of a timeout
-		User::WaitForRequest(status);
-		INFO_PRINTF2(_L("expected status KErrTimedOut but getting %d"), status.Int());
-		TESTL(KErrTimedOut== status.Int());
-		
-		
-		// Try again, this time without delaying the DB response
-		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
-
-		User::WaitForRequest(status);
-		TESTL(KErrNone== status.Int());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult(); 		
-	}
-
-TVerdict CTe_LocMonitorStep27::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep27.cpp
+*/
+ 
+#include "te_locmonitorstep27.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep27::~CTe_LocMonitorStep27()
+	{
+	}
+
+CTe_LocMonitorStep27::CTe_LocMonitorStep27()
+	{
+	SetTestStepName(KLocMonitorStep27);
+	}
+
+TVerdict CTe_LocMonitorStep27::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// Instantiate objects required by this test
+	for(TInt index = 0; index < 1; index++)
+		{
+		iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+		// ... and one of these
+		iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+		iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+		iAreaReqParams[index]->iPositionAreaType =  iAreaInfo[index]->PositionClassType();
+		}
+
+	return TestStepResult();
+	}
+
+//
+// This test checks that if the database takes too
+// long to respond the user is informed of a timeout.
+//
+TVerdict CTe_LocMonitorStep27::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+		// Ask the DB to complete the next request after a delay
+		// that is longer than the Location Monitor timeout.
+		SetLongDbResponseDelay();
+		
+		TRequestStatus status;
+  		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
+
+		// User is informed of a timeout
+		User::WaitForRequest(status);
+		INFO_PRINTF2(_L("expected status KErrTimedOut but getting %d"), status.Int());
+		TESTL(KErrTimedOut== status.Int());
+		
+		
+		// Try again, this time without delaying the DB response
+		areaPositioner.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status);
+
+		User::WaitForRequest(status);
+		TESTL(KErrNone== status.Int());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult(); 		
+	}
+
+TVerdict CTe_LocMonitorStep27::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep28.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep28.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,82 +1,82 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep28.cpp
-*/
- 
-#include "te_locmonitorstep28.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep28::~CTe_LocMonitorStep28()
-	{
-	}
-
-CTe_LocMonitorStep28::CTe_LocMonitorStep28()
-	{
-	SetTestStepName(KLocMonitorStep28);
-	}
-
-TVerdict CTe_LocMonitorStep28::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that a valid position set in the
-// GPS bus is correctly read by the Location Monitor
-// and sent to the database.
-//
-TVerdict CTe_LocMonitorStep28::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition position;
-		TReal64 latitude(28), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
-		iPositionInjector->InjectGpsPosition(position);
-		iLocMonDbListener->WaitForDbFeedback(); 
-
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep28::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep28.cpp
+*/
+ 
+#include "te_locmonitorstep28.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep28::~CTe_LocMonitorStep28()
+	{
+	}
+
+CTe_LocMonitorStep28::CTe_LocMonitorStep28()
+	{
+	SetTestStepName(KLocMonitorStep28);
+	}
+
+TVerdict CTe_LocMonitorStep28::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that a valid position set in the
+// GPS bus is correctly read by the Location Monitor
+// and sent to the database.
+//
+TVerdict CTe_LocMonitorStep28::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition position;
+		TReal64 latitude(28), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+		iPositionInjector->InjectGpsPosition(position);
+		iLocMonDbListener->WaitForDbFeedback(); 
+
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep28::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep29.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep29.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,82 +1,82 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep29.cpp
-*/
- 
-#include "te_locmonitorstep29.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep29::~CTe_LocMonitorStep29()
-	{
-	}
-
-CTe_LocMonitorStep29::CTe_LocMonitorStep29()
-	{
-	SetTestStepName(KLocMonitorStep29);
-	}
-
-TVerdict CTe_LocMonitorStep29::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that a valid position set in the
-// reference bus is correctly read by the Location Monitor
-// and sent to the database.
-//
-TVerdict CTe_LocMonitorStep29::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition position;
-		TReal64 latitude(29), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
-		iPositionInjector->InjectReferencePosition(position);
-		iLocMonDbListener->WaitForDbFeedback(); 
-
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep29::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep29.cpp
+*/
+ 
+#include "te_locmonitorstep29.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep29::~CTe_LocMonitorStep29()
+	{
+	}
+
+CTe_LocMonitorStep29::CTe_LocMonitorStep29()
+	{
+	SetTestStepName(KLocMonitorStep29);
+	}
+
+TVerdict CTe_LocMonitorStep29::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that a valid position set in the
+// reference bus is correctly read by the Location Monitor
+// and sent to the database.
+//
+TVerdict CTe_LocMonitorStep29::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition position;
+		TReal64 latitude(29), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+		iPositionInjector->InjectReferencePosition(position);
+		iLocMonDbListener->WaitForDbFeedback(); 
+
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep29::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep3.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep3.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,104 +1,104 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep3.cpp
-*/
- 
-#include "te_locmonitorstep3.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep3::~CTe_LocMonitorStep3()
-	{
-	}
-
-CTe_LocMonitorStep3::CTe_LocMonitorStep3()
-	{
-	SetTestStepName(KLocMonitorStep3);
-	}
-
-TVerdict CTe_LocMonitorStep3::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	iPosition = new(ELeave) TPositionSatelliteInfo();
-	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
-	iAreaReqParams = new(ELeave) TPosAreaReqParams();
-	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// Call to GetLastKnownPositionArea using a TPositionInfo
-// and a TPositionAreaInfo object.
-//
-// This test checks that it is possible to request the last known
-// position with area information from the Location Monitor using
-// the above mentioned data types.
-//
-TVerdict CTe_LocMonitorStep3::doTestStepL()
-	{
-	TPosition expectedPosition, receivedPosition;
-	TPositionAreaInfo expectedAreaInfo;
-
- 	if (TestStepResult()==EPass)
- 		{
- 
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);
- 			
- 		User::WaitForRequest(status);
- 		
- 		// Check that the position and area information are as expected
- 		iPosition->GetPosition(receivedPosition);
- 		INFO_PRINTF2(_L("receivedLatitude %d"), (int)receivedPosition.Latitude());
- 		INFO_PRINTF2(_L("receivedLongitude %d"), (int)receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos1);
- 		INFO_PRINTF2(_L("ActualLongitude %d"), KLongGetPos1);
- 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
- 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo->Area());
-
- 		areaPositioner.Close();
- 		
- 		locMonSession.Close();
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep3::doTestStepPostambleL()
-	{
-	delete iPosition;
-	delete iAreaInfo;
-	delete iAreaReqParams;
-	
-	//delete iWaiter;
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep3.cpp
+*/
+ 
+#include "te_locmonitorstep3.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep3::~CTe_LocMonitorStep3()
+	{
+	}
+
+CTe_LocMonitorStep3::CTe_LocMonitorStep3()
+	{
+	SetTestStepName(KLocMonitorStep3);
+	}
+
+TVerdict CTe_LocMonitorStep3::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	iPosition = new(ELeave) TPositionSatelliteInfo();
+	iAreaInfo = new(ELeave) TPositionAreaExtendedInfo();
+	iAreaReqParams = new(ELeave) TPosAreaReqParams();
+	iAreaReqParams->iPositionAreaType =  iAreaInfo->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// Call to GetLastKnownPositionArea using a TPositionInfo
+// and a TPositionAreaInfo object.
+//
+// This test checks that it is possible to request the last known
+// position with area information from the Location Monitor using
+// the above mentioned data types.
+//
+TVerdict CTe_LocMonitorStep3::doTestStepL()
+	{
+	TPosition expectedPosition, receivedPosition;
+	TPositionAreaInfo expectedAreaInfo;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+ 
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPositionArea(*iPosition, *iAreaInfo, *iAreaReqParams, status);
+ 			
+ 		User::WaitForRequest(status);
+ 		
+ 		// Check that the position and area information are as expected
+ 		iPosition->GetPosition(receivedPosition);
+ 		INFO_PRINTF2(_L("receivedLatitude %d"), (int)receivedPosition.Latitude());
+ 		INFO_PRINTF2(_L("receivedLongitude %d"), (int)receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("ActualLatitude %d"), KLatGetPos1);
+ 		INFO_PRINTF2(_L("ActualLongitude %d"), KLongGetPos1);
+ 		TESTL(KLatGetPos1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetPos1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaCity == iAreaInfo->Area());
+
+ 		areaPositioner.Close();
+ 		
+ 		locMonSession.Close();
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep3::doTestStepPostambleL()
+	{
+	delete iPosition;
+	delete iAreaInfo;
+	delete iAreaReqParams;
+	
+	//delete iWaiter;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep30.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep30.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,82 +1,82 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep30.cpp
-*/
- 
-#include "te_locmonitorstep30.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep30::~CTe_LocMonitorStep30()
-	{
-	}
-
-CTe_LocMonitorStep30::CTe_LocMonitorStep30()
-	{
-	SetTestStepName(KLocMonitorStep30);
-	}
-
-TVerdict CTe_LocMonitorStep30::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that a valid position set in the
-// final-network-position bus is correctly read by the Location Monitor
-// and sent to the database.
-//
-TVerdict CTe_LocMonitorStep30::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPosition position;
-		TReal64 latitude(30), longitude(21);
-		position.SetCoordinate(latitude, longitude);
-
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);
-
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
-		iPositionInjector->InjectFinalNetworkPosition(position);
-		iLocMonDbListener->WaitForDbFeedback(); 
-
-		// Check that the position received by the DB is the position
-		// sent by the test
-		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
-		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep30::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep30.cpp
+*/
+ 
+#include "te_locmonitorstep30.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep30::~CTe_LocMonitorStep30()
+	{
+	}
+
+CTe_LocMonitorStep30::CTe_LocMonitorStep30()
+	{
+	SetTestStepName(KLocMonitorStep30);
+	}
+
+TVerdict CTe_LocMonitorStep30::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that a valid position set in the
+// final-network-position bus is correctly read by the Location Monitor
+// and sent to the database.
+//
+TVerdict CTe_LocMonitorStep30::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition position;
+		TReal64 latitude(30), longitude(21);
+		position.SetCoordinate(latitude, longitude);
+
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);
+
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+		iPositionInjector->InjectFinalNetworkPosition(position);
+		iLocMonDbListener->WaitForDbFeedback(); 
+
+		// Check that the position received by the DB is the position
+		// sent by the test
+		TESTL(latitude == iLocMonDbListener->iDbData.iPosition.Latitude());
+		TESTL(longitude == iLocMonDbListener->iDbData.iPosition.Longitude());
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep30::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep31.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep31.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,80 +1,80 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep31.cpp
-*/
- 
-#include "te_locmonitorstep31.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep31::~CTe_LocMonitorStep31()
-	{
-	}
-
-CTe_LocMonitorStep31::CTe_LocMonitorStep31()
-	{
-	SetTestStepName(KLocMonitorStep31);
-	}
-
-TVerdict CTe_LocMonitorStep31::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that when an invalid position
-// (coordinates set to NaN) is set on the GPS bus 
-// the position is not sent by the Location Monitor
-// to the database.
-//
-TVerdict CTe_LocMonitorStep31::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		
- 		TPosition position; // no coordinates => invalid position
-
-		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect()); 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
-
- 		iLocMonDbListener->ListenForLocMonDbFeedback();
-		iPositionInjector->InjectGpsPosition(position);
-		
-		// This should time out because the DB shouldn't be
-		// asked to store the position and therefore it
-		// won't send any feedback to the test.
-		iLocMonDbListener->WaitForDbFeedback(); 
-		
-		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep31::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep31.cpp
+*/
+ 
+#include "te_locmonitorstep31.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep31::~CTe_LocMonitorStep31()
+	{
+	}
+
+CTe_LocMonitorStep31::CTe_LocMonitorStep31()
+	{
+	SetTestStepName(KLocMonitorStep31);
+	}
+
+TVerdict CTe_LocMonitorStep31::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that when an invalid position
+// (coordinates set to NaN) is set on the GPS bus 
+// the position is not sent by the Location Monitor
+// to the database.
+//
+TVerdict CTe_LocMonitorStep31::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		
+ 		TPosition position; // no coordinates => invalid position
+
+		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect()); 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+
+ 		iLocMonDbListener->ListenForLocMonDbFeedback();
+		iPositionInjector->InjectGpsPosition(position);
+		
+		// This should time out because the DB shouldn't be
+		// asked to store the position and therefore it
+		// won't send any feedback to the test.
+		iLocMonDbListener->WaitForDbFeedback(); 
+		
+		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep31::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep32.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep32.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,127 +1,127 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep32.cpp
-*/
- 
-#include "te_locmonitorstep32.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-#include <simtsy.h>
-
-CTe_LocMonitorStep32::~CTe_LocMonitorStep32()
-	{
-	}
-
-CTe_LocMonitorStep32::CTe_LocMonitorStep32()
-	{
-	SetTestStepName(KLocMonitorStep32);
-	}
-
-TVerdict CTe_LocMonitorStep32::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	
-	// This test requires one position...
-	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
-	
-	// ... and one of these
-	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
-	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
-	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
-	
-	return TestStepResult();
-	}
-
-//
-// This test checks that when the client of the 
-// Location Monitor calls GetLastKnownPositionArea
-// but the Location Monitor has no Area information
-// it will return the Last Known Position with 
-// area info set to unknown.
-// (PRECONDITION FOR THIS TEST TO PASS: the script
-// must have set a SIM TSY configuration file that
-// supplies an invalid Global Cell ID to the Location
-// Monitor)
-//
-TVerdict CTe_LocMonitorStep32::doTestStepL()
-	{
-	if (TestStepResult()==EPass)
- 		{
- 		TPosition receivedPosition;
- 
-		// Open session and subsessions
-		RLbsLocMonitorSession locMonSession1;
- 		User::LeaveIfError(locMonSession1.Connect());
- 
- 		RLbsLocMonitorAreaPositioner areaPositioner1;
- 		areaPositioner1.OpenL(locMonSession1);
-		CleanupClosePushL(areaPositioner1);
-		
-		TRequestStatus status1;
- 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
-  		
- 		User::WaitForRequest(status1);
- 		TESTL(KErrNone == status1.Int());
- 		// Check that the position and area information are as expected
- 		iPositions[0]->GetPosition(receivedPosition);
- 		
- 		// *** The returned latitude and longitude correspond to those
- 		// the the DB returns when the Loc Mon calls GetLast(). Therefore
- 		// expect KLatGetLast1/KLongGetLast1 instead of 
- 		// KLastGetPos1/KLongGetPos1 *********************************
-		INFO_PRINTF2(_L("received area info %d and expected 0"), iAreaInfo[0]->Area());
-		
- 		INFO_PRINTF2(_L("KLongGetLast1 %d"), KLongGetLast1);
-		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
- 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
- 		INFO_PRINTF2(_L("KLatGetLast1 %d"), KLatGetLast1);
- 		INFO_PRINTF2(_L("KLongGetLast1 %d"), KLongGetLast1);
- 
- 		TESTL(KLatGetLast1 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast1 == receivedPosition.Longitude());
-		
-		TESTL(TPositionAreaInfo::EAreaUnknown == iAreaInfo[0]->Area());
-
-		// Check values
-		CleanupStack::PopAndDestroy(&areaPositioner1);
- 		locMonSession1.Close();
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep32::doTestStepPostambleL()
-	{
-	iPositions.ResetAndDestroy();
-	iAreaInfo.ResetAndDestroy();
-	iAreaReqParams.ResetAndDestroy();
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	
-	
-	//Move to next cell in sim tsy config file to ensure
-	// the Location Monitor DB has at least information about
-	// one area/cell Id.
-	RProperty::Set(KUidPSSimTsyCategory,
-					KPSSimTsyTimersReduceTime, KReduceSimTsyTimers);
-					User::After(4000000);
-	
-	
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep32.cpp
+*/
+ 
+#include "te_locmonitorstep32.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+#include <simtsy.h>
+
+CTe_LocMonitorStep32::~CTe_LocMonitorStep32()
+	{
+	}
+
+CTe_LocMonitorStep32::CTe_LocMonitorStep32()
+	{
+	SetTestStepName(KLocMonitorStep32);
+	}
+
+TVerdict CTe_LocMonitorStep32::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	
+	// This test requires one position...
+	iPositions.Append(new(ELeave) TPositionSatelliteInfo());
+	
+	// ... and one of these
+	iAreaInfo.Append(new(ELeave) TPositionAreaExtendedInfo());
+	iAreaReqParams.Append(new(ELeave) TPosAreaReqParams());
+	iAreaReqParams[0]->iPositionAreaType =  iAreaInfo[0]->PositionClassType();
+	
+	return TestStepResult();
+	}
+
+//
+// This test checks that when the client of the 
+// Location Monitor calls GetLastKnownPositionArea
+// but the Location Monitor has no Area information
+// it will return the Last Known Position with 
+// area info set to unknown.
+// (PRECONDITION FOR THIS TEST TO PASS: the script
+// must have set a SIM TSY configuration file that
+// supplies an invalid Global Cell ID to the Location
+// Monitor)
+//
+TVerdict CTe_LocMonitorStep32::doTestStepL()
+	{
+	if (TestStepResult()==EPass)
+ 		{
+ 		TPosition receivedPosition;
+ 
+		// Open session and subsessions
+		RLbsLocMonitorSession locMonSession1;
+ 		User::LeaveIfError(locMonSession1.Connect());
+ 
+ 		RLbsLocMonitorAreaPositioner areaPositioner1;
+ 		areaPositioner1.OpenL(locMonSession1);
+		CleanupClosePushL(areaPositioner1);
+		
+		TRequestStatus status1;
+ 		areaPositioner1.GetLastKnownPositionArea(*iPositions[0], *iAreaInfo[0], *iAreaReqParams[0], status1);
+  		
+ 		User::WaitForRequest(status1);
+ 		TESTL(KErrNone == status1.Int());
+ 		// Check that the position and area information are as expected
+ 		iPositions[0]->GetPosition(receivedPosition);
+ 		
+ 		// *** The returned latitude and longitude correspond to those
+ 		// the the DB returns when the Loc Mon calls GetLast(). Therefore
+ 		// expect KLatGetLast1/KLongGetLast1 instead of 
+ 		// KLastGetPos1/KLongGetPos1 *********************************
+		INFO_PRINTF2(_L("received area info %d and expected 0"), iAreaInfo[0]->Area());
+		
+ 		INFO_PRINTF2(_L("KLongGetLast1 %d"), KLongGetLast1);
+		INFO_PRINTF2(_L("receivedLatitude %d"),(int)receivedPosition.Latitude());
+ 		INFO_PRINTF2(_L("receivedLongitude %d"),(int)receivedPosition.Longitude());
+ 		INFO_PRINTF2(_L("KLatGetLast1 %d"), KLatGetLast1);
+ 		INFO_PRINTF2(_L("KLongGetLast1 %d"), KLongGetLast1);
+ 
+ 		TESTL(KLatGetLast1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast1 == receivedPosition.Longitude());
+		
+		TESTL(TPositionAreaInfo::EAreaUnknown == iAreaInfo[0]->Area());
+
+		// Check values
+		CleanupStack::PopAndDestroy(&areaPositioner1);
+ 		locMonSession1.Close();
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep32::doTestStepPostambleL()
+	{
+	iPositions.ResetAndDestroy();
+	iAreaInfo.ResetAndDestroy();
+	iAreaReqParams.ResetAndDestroy();
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	
+	
+	//Move to next cell in sim tsy config file to ensure
+	// the Location Monitor DB has at least information about
+	// one area/cell Id.
+	RProperty::Set(KUidPSSimTsyCategory,
+					KPSSimTsyTimersReduceTime, KReduceSimTsyTimers);
+					User::After(4000000);
+	
+	
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep4.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep4.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,99 +1,99 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep4.cpp
-*/
- 
-#include "te_locmonitorstep4.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep4::~CTe_LocMonitorStep4()
-	{
-	}
-
-CTe_LocMonitorStep4::CTe_LocMonitorStep4()
-	{
-	SetTestStepName(KLocMonitorStep4);
-	}
-
-TVerdict CTe_LocMonitorStep4::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	iPosition = new(ELeave) TPositionSatelliteInfo();
-	return TestStepResult();
-	}
-
-//
-// Repeatible call to GetLastKnownPosition using a TPositionSatelliteInfo.
-//
-// This test checks that it is possible to request the last known
-// position from the Location Monitor using the above mentioned data type.
-//
-// The call to GetLastKnowPosition is conducted twice to check
-// repeatibility.
-//
-TVerdict CTe_LocMonitorStep4::doTestStepL()
-	{
-	TPosition expectedPosition, receivedPosition;
-
- 	if (TestStepResult()==EPass)
- 		{
- 		RLbsLocMonitorSession locMonSession;
- 		User::LeaveIfError(locMonSession.Connect());
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		
- 		areaPositioner.OpenL(locMonSession);
- 		CleanupClosePushL(areaPositioner);	
- 		
- 		TRequestStatus status;
- 		
- 		areaPositioner.GetLastKnownPosition(*iPosition, status);
- 			
- 		User::WaitForRequest(status);
- 		
- 		// Check that the position and area information are as expected
- 		iPosition->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast1 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast1 == receivedPosition.Longitude());
-
-		// Try again
-		areaPositioner.GetLastKnownPosition(*iPosition, status);	
- 		User::WaitForRequest(status);
-
- 		// Check that the position and area information are as expected
- 		iPosition->GetPosition(receivedPosition);
- 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
- 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
-
- 		CleanupStack::PopAndDestroy(&areaPositioner);
- 		locMonSession.Close();
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep4::doTestStepPostambleL()
-	{
-	delete iPosition;
-	
-	//delete iWaiter;
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep4.cpp
+*/
+ 
+#include "te_locmonitorstep4.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep4::~CTe_LocMonitorStep4()
+	{
+	}
+
+CTe_LocMonitorStep4::CTe_LocMonitorStep4()
+	{
+	SetTestStepName(KLocMonitorStep4);
+	}
+
+TVerdict CTe_LocMonitorStep4::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	iPosition = new(ELeave) TPositionSatelliteInfo();
+	return TestStepResult();
+	}
+
+//
+// Repeatible call to GetLastKnownPosition using a TPositionSatelliteInfo.
+//
+// This test checks that it is possible to request the last known
+// position from the Location Monitor using the above mentioned data type.
+//
+// The call to GetLastKnowPosition is conducted twice to check
+// repeatibility.
+//
+TVerdict CTe_LocMonitorStep4::doTestStepL()
+	{
+	TPosition expectedPosition, receivedPosition;
+
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		RLbsLocMonitorSession locMonSession;
+ 		User::LeaveIfError(locMonSession.Connect());
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		
+ 		areaPositioner.OpenL(locMonSession);
+ 		CleanupClosePushL(areaPositioner);	
+ 		
+ 		TRequestStatus status;
+ 		
+ 		areaPositioner.GetLastKnownPosition(*iPosition, status);
+ 			
+ 		User::WaitForRequest(status);
+ 		
+ 		// Check that the position and area information are as expected
+ 		iPosition->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast1 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast1 == receivedPosition.Longitude());
+
+		// Try again
+		areaPositioner.GetLastKnownPosition(*iPosition, status);	
+ 		User::WaitForRequest(status);
+
+ 		// Check that the position and area information are as expected
+ 		iPosition->GetPosition(receivedPosition);
+ 		TESTL(KLatGetLast2 == receivedPosition.Latitude());
+ 		TESTL(KLongGetLast2 == receivedPosition.Longitude());
+
+ 		CleanupStack::PopAndDestroy(&areaPositioner);
+ 		locMonSession.Close();
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep4::doTestStepPostambleL()
+	{
+	delete iPosition;
+	
+	//delete iWaiter;
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep5.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep5.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,65 +1,65 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep5.cpp
-*/
- 
-#include "te_locmonitorstep5.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep5::~CTe_LocMonitorStep5()
-	{
-	}
-
-CTe_LocMonitorStep5::CTe_LocMonitorStep5()
-	{
-	SetTestStepName(KLocMonitorStep5);
-	}
-
-TVerdict CTe_LocMonitorStep5::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks that attempting to call
-// RLbsLocMonitorSession::WipeOutDatabase without
-// previously connecting the session results in a panic
-//
-TVerdict CTe_LocMonitorStep5::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TRequestStatus status;
- 		RLbsLocMonitorSession locMonSession;
- 		// This should panic due to the session not
- 		// being connected.
-		locMonSession.WipeOutDatabase(status); 
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep5::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep5.cpp
+*/
+ 
+#include "te_locmonitorstep5.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep5::~CTe_LocMonitorStep5()
+	{
+	}
+
+CTe_LocMonitorStep5::CTe_LocMonitorStep5()
+	{
+	SetTestStepName(KLocMonitorStep5);
+	}
+
+TVerdict CTe_LocMonitorStep5::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks that attempting to call
+// RLbsLocMonitorSession::WipeOutDatabase without
+// previously connecting the session results in a panic
+//
+TVerdict CTe_LocMonitorStep5::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TRequestStatus status;
+ 		RLbsLocMonitorSession locMonSession;
+ 		// This should panic due to the session not
+ 		// being connected.
+		locMonSession.WipeOutDatabase(status); 
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep5::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep6.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep6.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,66 +1,66 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep6.cpp
-*/
- 
-#include "te_locmonitorstep6.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep6::~CTe_LocMonitorStep6()
-	{
-	}
-
-CTe_LocMonitorStep6::CTe_LocMonitorStep6()
-	{
-	SetTestStepName(KLocMonitorStep6);
-	}
-
-TVerdict CTe_LocMonitorStep6::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// Check that a subsession can't be opened
-// if the session wasn't connected first
-//
-TVerdict CTe_LocMonitorStep6::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TRequestStatus status;
- 		RLbsLocMonitorSession locMonSession;
- 		
- 		// This should panic due to the session not
- 		// being connected.
- 		RLbsLocMonitorAreaPositioner areaPositioner;
- 		areaPositioner.OpenL(locMonSession);
-		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep6::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep6.cpp
+*/
+ 
+#include "te_locmonitorstep6.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep6::~CTe_LocMonitorStep6()
+	{
+	}
+
+CTe_LocMonitorStep6::CTe_LocMonitorStep6()
+	{
+	SetTestStepName(KLocMonitorStep6);
+	}
+
+TVerdict CTe_LocMonitorStep6::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// Check that a subsession can't be opened
+// if the session wasn't connected first
+//
+TVerdict CTe_LocMonitorStep6::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TRequestStatus status;
+ 		RLbsLocMonitorSession locMonSession;
+ 		
+ 		// This should panic due to the session not
+ 		// being connected.
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+ 		areaPositioner.OpenL(locMonSession);
+		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep6::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep7.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep7.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,64 +1,64 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep7.cpp
-*/
- 
-#include "te_locmonitorstep7.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep7::~CTe_LocMonitorStep7()
-	{
-	}
-
-CTe_LocMonitorStep7::CTe_LocMonitorStep7()
-	{
-	SetTestStepName(KLocMonitorStep7);
-	}
-
-TVerdict CTe_LocMonitorStep7::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks that a GetLastKnowPosition request issued
-// on a subsession not previously opened panics.
-//
-TVerdict CTe_LocMonitorStep7::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPositionInfo position;
- 		TRequestStatus status;
- 		RLbsLocMonitorAreaPositioner areaPositioner;
-		// This should panic due to the subsession not being opened 		
- 		areaPositioner.GetLastKnownPosition(position,status);
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep7::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep7.cpp
+*/
+ 
+#include "te_locmonitorstep7.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep7::~CTe_LocMonitorStep7()
+	{
+	}
+
+CTe_LocMonitorStep7::CTe_LocMonitorStep7()
+	{
+	SetTestStepName(KLocMonitorStep7);
+	}
+
+TVerdict CTe_LocMonitorStep7::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks that a GetLastKnowPosition request issued
+// on a subsession not previously opened panics.
+//
+TVerdict CTe_LocMonitorStep7::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPositionInfo position;
+ 		TRequestStatus status;
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+		// This should panic due to the subsession not being opened 		
+ 		areaPositioner.GetLastKnownPosition(position,status);
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep7::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep8.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep8.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,67 +1,67 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep8.cpp
-*/
- 
-#include "te_locmonitorstep8.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep8::~CTe_LocMonitorStep8()
-	{
-	}
-
-CTe_LocMonitorStep8::CTe_LocMonitorStep8()
-	{
-	SetTestStepName(KLocMonitorStep8);
-	}
-
-TVerdict CTe_LocMonitorStep8::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks that a GetLastKnowPositionArea request issued
-// on a subsession not previously opened panics.
-//
-TVerdict CTe_LocMonitorStep8::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPositionInfo position;
- 		TPositionAreaInfo posAreaInfo;
- 		TPosAreaReqParams posAreaReqParams;
- 		TRequestStatus status;
- 		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
-		// This should panic due to the subsession not being opened 		
- 		areaPositioner.GetLastKnownPositionArea(position,posAreaInfo,posAreaReqParams,status);
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep8::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep8.cpp
+*/
+ 
+#include "te_locmonitorstep8.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep8::~CTe_LocMonitorStep8()
+	{
+	}
+
+CTe_LocMonitorStep8::CTe_LocMonitorStep8()
+	{
+	SetTestStepName(KLocMonitorStep8);
+	}
+
+TVerdict CTe_LocMonitorStep8::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks that a GetLastKnowPositionArea request issued
+// on a subsession not previously opened panics.
+//
+TVerdict CTe_LocMonitorStep8::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPositionInfo position;
+ 		TPositionAreaInfo posAreaInfo;
+ 		TPosAreaReqParams posAreaReqParams;
+ 		TRequestStatus status;
+ 		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+		// This should panic due to the subsession not being opened 		
+ 		areaPositioner.GetLastKnownPositionArea(position,posAreaInfo,posAreaReqParams,status);
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep8::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep9.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstep9.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,64 +1,64 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstep9.cpp
-*/
- 
-#include "te_locmonitorstep9.h"
-#include "te_locmonitorsuitedefs.h"
-#include <lbs/lbslocdatasourceclasstypes.h>
-
-CTe_LocMonitorStep9::~CTe_LocMonitorStep9()
-	{
-	}
-
-CTe_LocMonitorStep9::CTe_LocMonitorStep9()
-	{
-	SetTestStepName(KLocMonitorStep9);
-	}
-
-TVerdict CTe_LocMonitorStep9::doTestStepPreambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPreambleL();
-	return TestStepResult();
-	}
-
-//
-// This test checks that a SetLastKnowPosition request issued
-// on a subsession not previously opened panics.
-//
-TVerdict CTe_LocMonitorStep9::doTestStepL()
-	{
- 	if (TestStepResult()==EPass)
- 		{
- 		TPositionInfo position;
-		
- 		RLbsLocMonitorAreaPositioner areaPositioner;
-		// This should panic due to the subsession not being opened 		
- 		areaPositioner.SetLastKnownPosition(position);
- 		}
-
-	  return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStep9::doTestStepPostambleL()
-	{
-	CTe_LocMonitorStepBase::doTestStepPostambleL();
-	return TestStepResult();
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstep9.cpp
+*/
+ 
+#include "te_locmonitorstep9.h"
+#include "te_locmonitorsuitedefs.h"
+#include <lbs/lbslocdatasourceclasstypes.h>
+
+CTe_LocMonitorStep9::~CTe_LocMonitorStep9()
+	{
+	}
+
+CTe_LocMonitorStep9::CTe_LocMonitorStep9()
+	{
+	SetTestStepName(KLocMonitorStep9);
+	}
+
+TVerdict CTe_LocMonitorStep9::doTestStepPreambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPreambleL();
+	return TestStepResult();
+	}
+
+//
+// This test checks that a SetLastKnowPosition request issued
+// on a subsession not previously opened panics.
+//
+TVerdict CTe_LocMonitorStep9::doTestStepL()
+	{
+ 	if (TestStepResult()==EPass)
+ 		{
+ 		TPositionInfo position;
+		
+ 		RLbsLocMonitorAreaPositioner areaPositioner;
+		// This should panic due to the subsession not being opened 		
+ 		areaPositioner.SetLastKnownPosition(position);
+ 		}
+
+	  return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStep9::doTestStepPostambleL()
+	{
+	CTe_LocMonitorStepBase::doTestStepPostambleL();
+	return TestStepResult();
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstepbase.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorstepbase.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,332 +1,336 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file te_locmonitorstepbase.cpp
-*/
-#include "te_locmonitorstepbase.h"
-#include "te_locmonitorsuitedefs.h"
-#include "tserverstartparams.h"
-#include "cserverlaunch.h"
-#include "lbslocmonitorserverdata.h"
-#include "lbsdevloggermacros.h"
-#include <lbs/lbsextendedsatellite.h>
-
-
-TVerdict CTe_LocMonitorStepBase::doTestStepPreambleL()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPreambleL()\n");
-	// START MEMORY TEST
-	__UHEAP_MARK;
-
-	// Construct a new ActiveScheduler and install it
-	iActiveScheduler = new (ELeave) CActiveScheduler();
-	CActiveScheduler::Install(iActiveScheduler);
-
-
-	// Object used for injecting positions on different buses.
-	// (Do this before creating the testlocationmonitor process
-	//  because doing this will set in the cenrep the uid of 
-	//  this process as the one that defines the P&S properties
-	//  that conform the position buses. If we don't
-	//  then the testlocationmonitor process subscribes to the wrong
-	//  p&s property -category is different- and never gets updates)
-	iPositionInjector = CPositionInjector::NewL();
-
-
-	// Check if the process "testlocationmonitor.exe"
-	// is already started
-	_LIT(KTestLocMonFilename, "testlocationmonitor.exe");
-	_LIT(KLocMonitorServerName, "locationmonitor.exe");
-
-	// Check if the test location monitor process is running.
-	// If it is not, then start it.
-	TFindServer findServer(KLocMonitorServerName);
-	TInt err;
-	TFullName name;
-	err = findServer.Next(name);
-	
-	if ( (err!=KErrNone) && (err!=KErrAlreadyExists) )
-		{
-		// Start the "test Location Monitor" with the same server
-		// name as the real Location Monitor but different file name.
-		// This ensures the client connects to the test version.
-		TServerStartParams params;
-		params.SetServerFileName(KTestLocMonFilename);
-		params.SetServerName(KLocMonitorServerName);
-		params.SetNumberOfServerSlots(KServerFrameworkDefaultMessageSlots);
-		params.SetServerUids(KNullUid, KNullUid, TUid::Uid(0x1028227B));
-		User::LeaveIfError(CServerLaunch::ServerLaunch(params));
-		
-		// Pause for 5 second to allow the location
-		// monitor to receive network information from
-		// etel (sim tsy)
-		User::After(5000000);
-		}
-
-	// Attach to property created by the testlocationmonitor for communicating with this
-	// test.
-	err = iDbTestCommand.Attach(KTestLocMonUid, EUnitLocMonDbDelay, EOwnerThread);
-
-	// Object used to wait for feedback from the Location Monitor DB.
-	iLocMonDbListener = CLocMonDbFeedbackWaiter::NewL();
-
-	SetTestStepResult(EPass);
-	return TestStepResult();
-	}
-
-TVerdict CTe_LocMonitorStepBase::doTestStepPostambleL()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPostambleL()\n");
-	// Bring down the test version of the location monitor
-	KillLocationMonitorProcess();
-
-	delete iPositionInjector;
-	delete iLocMonDbListener;	
-	delete iActiveScheduler;
-	
-	// END MEMORY TEST
-	__UHEAP_MARKEND;
-	
-	return TestStepResult();
-	}
-
-CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()\n");
-	}
-
-CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()\n");
-	}
-
-// This method may be called by concrete test steps to inform the
-// test version of the Database in the Location Monitor that it 
-// must delay by 1 second the completion of the next request 
-// (save or get position) it receives.
-// The purpose is to allow testing of the queueing mechanisms in the 
-// Location Monitor server: since the database is 'stuck' and can only
-// handle one request at a time, the requests sent by the test while
-// the delay lasts will pile up in the server's queues.
-void CTe_LocMonitorStepBase::SetShortDbResponseDelay()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetShortDbResponseDelay()\n");
-	iLocMonDbListener->ListenForLocMonDbFeedback();
-	iDbTestCommand.Set(EDbSetupShortDelay); //1 second delay
-	// Wait for feedback from the DB confirming the delay will be applied
-	iLocMonDbListener->WaitForDbFeedback();
-	}
-	
-// This method may be called by concrete test steps to inform the
-// test version of the Database in the Location Monitor that it 
-// must delay by 15 seconds the completion of the next request 
-// (save or get position) it receives.
-// The purpose is to ensure the request times out in the Location
-// Monitor (requestor) and it is cancelled.
-void CTe_LocMonitorStepBase::SetLongDbResponseDelay()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetLongDbResponseDelay()\n");
-	iLocMonDbListener->ListenForLocMonDbFeedback();
-	iDbTestCommand.Set(EDbSetupLongDelay); //15 second delay
-	// Wait for feedback from the DB confirming the delay will be applied
-	iLocMonDbListener->WaitForDbFeedback();
-	}
-	
-// This method may be called by concrete test steps to inform the
-// test version of the Database in the Location Monitor that it 
-// must complete the next request (save or get position) it receives.
-// The completion reason will be KErrNotFound.
-void CTe_LocMonitorStepBase::SetDbFailResponse()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetDbFailResponse()\n");
-	iLocMonDbListener->ListenForLocMonDbFeedback();
-	iDbTestCommand.Set(EDbSetupFail);
-	// Wait for feedback from the DB confirming the delay will be applied
-	iLocMonDbListener->WaitForDbFeedback();
-	}
-	
-// This method is used to inform the test version of the Database
-// in the Location Monitor that the Location Monitor process has to
-// be finished. Normally called at the end of a test.
-void CTe_LocMonitorStepBase::KillLocationMonitorProcess()
-	{
-	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::KillLocationMonitorProcess()\n");
-	iLocMonDbListener->ListenForLocMonDbFeedback();
-	TInt error =  iDbTestCommand.Set(EDbKillProcess);
-	iLocMonDbListener->WaitForDbFeedback();
-	//User::After(5000000);
-	}
-/*******************************************************************************************************
-	IMPLEMENTATION OF THE DATABASE FEEDBACK LISTENER
-********************************************************************************************************/
-
-CLocMonDbFeedbackWaiter:: CLocMonDbFeedbackWaiter():
-						CActive(EPriorityStandard)
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::CLocMonDbFeedbackWaiter()\n");
-	CActiveScheduler::Add(this);
-	}
-
-CLocMonDbFeedbackWaiter* CLocMonDbFeedbackWaiter::NewL()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::NewL()\n");
-	CLocMonDbFeedbackWaiter* self = new(ELeave) CLocMonDbFeedbackWaiter();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-void CLocMonDbFeedbackWaiter::ConstructL()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::ConstructL()\n");
-	iNestedScheduler = (CActiveSchedulerWait*) new CActiveSchedulerWait;
-	iTimer = CLbsCallbackTimer::NewL(*this);
-	User::LeaveIfError(iDbFeedbackProperty.Attach(KTestLocMonUid,EUnitLocMonDbFeedback,EOwnerThread));
-	}
-	
-CLocMonDbFeedbackWaiter::~CLocMonDbFeedbackWaiter()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::~CLocMonDbFeedbackWaiter()\n");
-	Cancel();
-	delete iTimer;
-	delete iNestedScheduler;
-	iDbFeedbackProperty.Close();
-	}
-
-void CLocMonDbFeedbackWaiter::RunL()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::RunL()\n");
-	ASSERT(KErrNone == iStatus.Int());
-	iTimer->Cancel();
-	TPtr8 ptr(reinterpret_cast<TUint8*>(&iDbData), sizeof(TDbFeedback), sizeof(TDbFeedback));
-	iDbFeedbackProperty.Get(ptr);
-	iNestedScheduler->AsyncStop();
-	}
-
-TInt CLocMonDbFeedbackWaiter::RunError(TInt aError)
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::RunError()\n");
-	// Just panic
-	ASSERT(EFalse);
-	return aError;
-	}
-
-void CLocMonDbFeedbackWaiter::DoCancel()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::DoCancel()\n");
-	iTimer->Cancel();
-	iDbFeedbackProperty.Cancel();
-	iNestedScheduler->AsyncStop();
-	}
-
-
-void CLocMonDbFeedbackWaiter::ListenForLocMonDbFeedback()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::ListenForLocMonDbFeedback()\n");
-	iDbFeedbackProperty.Subscribe(iStatus);
-	SetActive();
-	}
-
-void CLocMonDbFeedbackWaiter::WaitForDbFeedback()
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::WaitForDbFeedback()\n");
-	const TInt KFiveSecs = 5000000;
-	const TInt KObserverTimerId = 1;
-	// If the DB does not provide feedback in less than 5 seconds the test will fail
-	iTimer->EventAfter(TTimeIntervalMicroSeconds32(KFiveSecs), KObserverTimerId);
-	iNestedScheduler->Start();
-	}
-
-
-void CLocMonDbFeedbackWaiter::OnTimerEventL(TInt /*aTimerId*/)
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::OnTimerEventL()\n");
-	// The DB has not provided feedback on time. Terminate the test.
-	__ASSERT_ALWAYS(EFalse, User::Invariant());	
-	}
-
-TInt CLocMonDbFeedbackWaiter::OnTimerError(TInt /*aTimerId*/, TInt /*aError*/)
-	{
-	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::OnTimerError()\n");
-	// nothing can be done
-	__ASSERT_ALWAYS(EFalse, User::Invariant());
-	return KErrTimedOut;			
-	}
-
-
-/*******************************************************************************************************
-	IMPLEMENTATION OF THE POSITION INJECTOR
-	(used to set a position in any of the internal LBS buses)
-********************************************************************************************************/
-
-CPositionInjector:: CPositionInjector()
-	{
-	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
-	}
-	
-CPositionInjector* CPositionInjector::NewL()
-	{
-	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
-	CPositionInjector* self = new(ELeave) CPositionInjector();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-void CPositionInjector::ConstructL()
-	{
-	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
-	TPositionExtendedSatelliteInfo posSatInfo;
-
-	// Create bus used to publish GPS positions
-	RLbsPositionUpdates::InitializeL(posSatInfo);
-	iGpsPositionUpdates.OpenL(KLbsGpsLocManagerUid);
-	}
-   
-CPositionInjector::~CPositionInjector()
-	{
-	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
-	RLbsPositionUpdates::ShutDownL();
-	}
-	
-void CPositionInjector::InjectGpsPosition(const TPosition& aPosition)
-	{
-	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
-	TPositionSatelliteInfo positionInfo;
-	positionInfo.SetPosition(aPosition);
-	
-	// Variables whose value is not important for the test but are
-	// needed nonetheless to inject a position in the GPS bus
-	TTime irrelevantTargetTime, unimportantActualTime; 
-	TUint insignificantAttributes, inconsecuentialGpsMode;
-	
-	// This is what the AGPS Manager does to inject a position into
-	// the GPS bus for the LocServer and NRH
-	TInt error = iGpsPositionUpdates.SetPositionInfo(KErrNone,
-									EFalse, // no conflict control flag
-									&positionInfo,
-									sizeof(TPositionSatelliteInfo),
-									irrelevantTargetTime,
-									unimportantActualTime,
-									insignificantAttributes,
-									inconsecuentialGpsMode);
-	}
-
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+ @file te_locmonitorstepbase.cpp
+*/
+#include "te_locmonitorstepbase.h"
+#include "te_locmonitorsuitedefs.h"
+#include "tserverstartparams.h"
+#include "cserverlaunch.h"
+#include "lbslocmonitorserverdata.h"
+#include "lbsdevloggermacros.h"
+#include <lbs/lbsextendedsatellite.h>
+
+
+TVerdict CTe_LocMonitorStepBase::doTestStepPreambleL()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPreambleL()\n");
+	// START MEMORY TEST
+	__UHEAP_MARK;
+
+	// Construct a new ActiveScheduler and install it
+	iActiveScheduler = new (ELeave) CActiveScheduler();
+	CActiveScheduler::Install(iActiveScheduler);
+
+
+	// Object used for injecting positions on different buses.
+	// (Do this before creating the testlocationmonitor process
+	//  because doing this will set in the cenrep the uid of 
+	//  this process as the one that defines the P&S properties
+	//  that conform the position buses. If we don't
+	//  then the testlocationmonitor process subscribes to the wrong
+	//  p&s property -category is different- and never gets updates)
+	iPositionInjector = CPositionInjector::NewL();
+
+
+	// Check if the process "testlocationmonitor.exe"
+	// is already started
+	_LIT(KTestLocMonFilename, "testlocationmonitor.exe");
+	_LIT(KLocMonitorServerName, "locationmonitor.exe");
+
+	// Check if the test location monitor process is running.
+	// If it is not, then start it.
+	TFindServer findServer(KLocMonitorServerName);
+	TInt err;
+	TFullName name;
+	err = findServer.Next(name);
+	
+	if ( (err!=KErrNone) && (err!=KErrAlreadyExists) )
+		{
+		// Start the "test Location Monitor" with the same server
+		// name as the real Location Monitor but different file name.
+		// This ensures the client connects to the test version.
+		TServerStartParams params;
+		params.SetServerFileName(KTestLocMonFilename);
+		params.SetServerName(KLocMonitorServerName);
+		params.SetNumberOfServerSlots(KServerFrameworkDefaultMessageSlots);
+		params.SetServerUids(KNullUid, KNullUid, TUid::Uid(0x1028227B));
+		User::LeaveIfError(CServerLaunch::ServerLaunch(params));
+		
+		// Pause for 5 second to allow the location
+		// monitor to receive network information from
+		// etel (sim tsy)
+		User::After(5000000);
+		}
+
+	// Attach to property created by the testlocationmonitor for communicating with this
+	// test.
+	err = iDbTestCommand.Attach(KTestLocMonUid, EUnitLocMonDbDelay, EOwnerThread);
+
+	// Object used to wait for feedback from the Location Monitor DB.
+	iLocMonDbListener = CLocMonDbFeedbackWaiter::NewL();
+
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTe_LocMonitorStepBase::doTestStepPostambleL()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::doTestStepPostambleL()\n");
+	// Bring down the test version of the location monitor
+	KillLocationMonitorProcess();
+
+	delete iPositionInjector;
+	delete iLocMonDbListener;	
+	delete iActiveScheduler;
+	
+	// END MEMORY TEST
+	__UHEAP_MARKEND;
+	
+	return TestStepResult();
+	}
+
+CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::~CTe_LocMonitorStepBase()\n");
+	}
+
+CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::CTe_LocMonitorStepBase()\n");
+	}
+
+// This method may be called by concrete test steps to inform the
+// test version of the Database in the Location Monitor that it 
+// must delay by 1 second the completion of the next request 
+// (save or get position) it receives.
+// The purpose is to allow testing of the queueing mechanisms in the 
+// Location Monitor server: since the database is 'stuck' and can only
+// handle one request at a time, the requests sent by the test while
+// the delay lasts will pile up in the server's queues.
+void CTe_LocMonitorStepBase::SetShortDbResponseDelay()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetShortDbResponseDelay()\n");
+	iLocMonDbListener->ListenForLocMonDbFeedback();
+	iDbTestCommand.Set(EDbSetupShortDelay); //1 second delay
+	// Wait for feedback from the DB confirming the delay will be applied
+	iLocMonDbListener->WaitForDbFeedback();
+	}
+	
+// This method may be called by concrete test steps to inform the
+// test version of the Database in the Location Monitor that it 
+// must delay by 15 seconds the completion of the next request 
+// (save or get position) it receives.
+// The purpose is to ensure the request times out in the Location
+// Monitor (requestor) and it is cancelled.
+void CTe_LocMonitorStepBase::SetLongDbResponseDelay()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetLongDbResponseDelay()\n");
+	iLocMonDbListener->ListenForLocMonDbFeedback();
+	iDbTestCommand.Set(EDbSetupLongDelay); //15 second delay
+	// Wait for feedback from the DB confirming the delay will be applied
+	iLocMonDbListener->WaitForDbFeedback();
+	}
+	
+// This method may be called by concrete test steps to inform the
+// test version of the Database in the Location Monitor that it 
+// must complete the next request (save or get position) it receives.
+// The completion reason will be KErrNotFound.
+void CTe_LocMonitorStepBase::SetDbFailResponse()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::SetDbFailResponse()\n");
+	iLocMonDbListener->ListenForLocMonDbFeedback();
+	iDbTestCommand.Set(EDbSetupFail);
+	// Wait for feedback from the DB confirming the delay will be applied
+	iLocMonDbListener->WaitForDbFeedback();
+	}
+	
+// This method is used to inform the test version of the Database
+// in the Location Monitor that the Location Monitor process has to
+// be finished. Normally called at the end of a test.
+void CTe_LocMonitorStepBase::KillLocationMonitorProcess()
+	{
+	LBSLOG(ELogP1, "CTe_LocMonitorStepBase::KillLocationMonitorProcess()\n");
+	iLocMonDbListener->ListenForLocMonDbFeedback();
+	TInt error =  iDbTestCommand.Set(EDbKillProcess);
+	iLocMonDbListener->WaitForDbFeedback();
+	//User::After(5000000);
+	}
+/*******************************************************************************************************
+	IMPLEMENTATION OF THE DATABASE FEEDBACK LISTENER
+********************************************************************************************************/
+
+CLocMonDbFeedbackWaiter:: CLocMonDbFeedbackWaiter():
+						CActive(EPriorityStandard)
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::CLocMonDbFeedbackWaiter()\n");
+	CActiveScheduler::Add(this);
+	}
+
+CLocMonDbFeedbackWaiter* CLocMonDbFeedbackWaiter::NewL()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::NewL()\n");
+	CLocMonDbFeedbackWaiter* self = new(ELeave) CLocMonDbFeedbackWaiter();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CLocMonDbFeedbackWaiter::ConstructL()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::ConstructL()\n");
+	iNestedScheduler = (CActiveSchedulerWait*) new CActiveSchedulerWait;
+	iTimer = CLbsCallbackTimer::NewL(*this);
+	User::LeaveIfError(iDbFeedbackProperty.Attach(KTestLocMonUid,EUnitLocMonDbFeedback,EOwnerThread));
+	}
+	
+CLocMonDbFeedbackWaiter::~CLocMonDbFeedbackWaiter()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::~CLocMonDbFeedbackWaiter()\n");
+	Cancel();
+	delete iTimer;
+	delete iNestedScheduler;
+	iDbFeedbackProperty.Close();
+	}
+
+void CLocMonDbFeedbackWaiter::RunL()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::RunL()\n");
+	ASSERT(KErrNone == iStatus.Int());
+	iTimer->Cancel();
+	TPtr8 ptr(reinterpret_cast<TUint8*>(&iDbData), sizeof(TDbFeedback), sizeof(TDbFeedback));
+	iDbFeedbackProperty.Get(ptr);
+	iNestedScheduler->AsyncStop();
+	}
+
+TInt CLocMonDbFeedbackWaiter::RunError(TInt aError)
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::RunError()\n");
+	// Just panic
+	ASSERT(EFalse);
+	return aError;
+	}
+
+void CLocMonDbFeedbackWaiter::DoCancel()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::DoCancel()\n");
+	iTimer->Cancel();
+	iDbFeedbackProperty.Cancel();
+	iNestedScheduler->AsyncStop();
+	}
+
+
+void CLocMonDbFeedbackWaiter::ListenForLocMonDbFeedback()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::ListenForLocMonDbFeedback()\n");
+	iDbFeedbackProperty.Subscribe(iStatus);
+	SetActive();
+	}
+
+void CLocMonDbFeedbackWaiter::WaitForDbFeedback()
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::WaitForDbFeedback()\n");
+	const TInt KFiveSecs = 5000000;
+	const TInt KObserverTimerId = 1;
+	// If the DB does not provide feedback in less than 5 seconds the test will fail
+	iTimer->EventAfter(TTimeIntervalMicroSeconds32(KFiveSecs), KObserverTimerId);
+	iNestedScheduler->Start();
+	}
+
+
+void CLocMonDbFeedbackWaiter::OnTimerEventL(TInt /*aTimerId*/)
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::OnTimerEventL()\n");
+	// The DB has not provided feedback on time. Terminate the test.
+	__ASSERT_ALWAYS(EFalse, User::Invariant());	
+	}
+
+TInt CLocMonDbFeedbackWaiter::OnTimerError(TInt /*aTimerId*/, TInt /*aError*/)
+	{
+	LBSLOG(ELogP1, "CLocMonDbFeedbackWaiter::OnTimerError()\n");
+	// nothing can be done
+	__ASSERT_ALWAYS(EFalse, User::Invariant());
+	return KErrTimedOut;			
+	}
+
+
+/*******************************************************************************************************
+	IMPLEMENTATION OF THE POSITION INJECTOR
+	(used to set a position in any of the internal LBS buses)
+********************************************************************************************************/
+
+CPositionInjector:: CPositionInjector()
+	{
+	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
+	}
+	
+CPositionInjector* CPositionInjector::NewL()
+	{
+	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
+	CPositionInjector* self = new(ELeave) CPositionInjector();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CPositionInjector::ConstructL()
+	{
+	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
+	TPositionExtendedSatelliteInfo posSatInfo;
+
+	// Create bus used to publish GPS positions
+	RLbsPositionUpdates::InitializeL(posSatInfo);
+	iGpsPositionUpdates.OpenL(KLbsGpsLocManagerUid);
+	}
+   
+CPositionInjector::~CPositionInjector()
+	{
+	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
+	TRAPD(err,RLbsPositionUpdates::ShutDownL());
+	if(err!=KErrNone)
+	    {
+        LBSLOG2(ELogP3, "RLbsPositionUpdates::ShutDownL()left with error  = %d\n", err);
+	    }
+	}
+	
+void CPositionInjector::InjectGpsPosition(const TPosition& aPosition)
+	{
+	LBSLOG(ELogP1, "CPositionInjector::doTestStepPostambleL()\n");
+	TPositionSatelliteInfo positionInfo;
+	positionInfo.SetPosition(aPosition);
+	
+	// Variables whose value is not important for the test but are
+	// needed nonetheless to inject a position in the GPS bus
+	TTime irrelevantTargetTime, unimportantActualTime; 
+	TUint insignificantAttributes, inconsecuentialGpsMode;
+	
+	// This is what the AGPS Manager does to inject a position into
+	// the GPS bus for the LocServer and NRH
+	TInt error = iGpsPositionUpdates.SetPositionInfo(KErrNone,
+									EFalse, // no conflict control flag
+									&positionInfo,
+									sizeof(TPositionSatelliteInfo),
+									irrelevantTargetTime,
+									unimportantActualTime,
+									insignificantAttributes,
+									inconsecuentialGpsMode);
+	}
+
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorsuiteserver.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/src/te_locmonitorsuiteserver.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,187 +1,187 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "lbsdevloggermacros.h"
-
-#include "te_locmonitorsuiteserver.h"
-#include "te_locmonitorstep1.h"
-#include "te_locmonitorstep2.h"
-#include "te_locmonitorstep3.h"
-#include "te_locmonitorstep4.h"
-#include "te_locmonitorstep5.h"
-#include "te_locmonitorstep6.h"
-#include "te_locmonitorstep7.h"
-#include "te_locmonitorstep8.h"
-#include "te_locmonitorstep9.h"
-#include "te_locmonitorstep10.h"
-#include "te_locmonitorstep11.h"
-#include "te_locmonitorstep12.h"
-#include "te_locmonitorstep13.h"
-#include "te_locmonitorstep14.h"
-#include "te_locmonitorstep15.h"
-#include "te_locmonitorstep16.h"
-#include "te_locmonitorstep17.h"
-#include "te_locmonitorstep18.h"
-#include "te_locmonitorstep19.h"
-#include "te_locmonitorstep20.h"
-#include "te_locmonitorstep21.h"
-#include "te_locmonitorstep22.h"
-#include "te_locmonitorstep23.h"
-#include "te_locmonitorstep24.h"
-#include "te_locmonitorstep25.h"
-#include "te_locmonitorstep26.h"
-#include "te_locmonitorstep27.h"
-#include "te_locmonitorstep28.h"
-#include "te_locmonitorstep31.h"
-#include "te_locmonitorstep32.h"
-
-_LIT(KServerName,"te_locmonitorsuite");
-
-CTe_LocMonitorSuite* CTe_LocMonitorSuite::NewL()
-	{
-	CTe_LocMonitorSuite * server = new (ELeave) CTe_LocMonitorSuite();
-	CleanupStack::PushL(server);
-
-	server->ConstructL(KServerName);
-	CleanupStack::Pop(server);
-	return server;
-	}
-
-void CTe_LocMonitorSuite::ConstructL(const TDesC& aName)
-	{
-	CTestServer::ConstructL(aName);
-	}
-
-CTe_LocMonitorSuite::~CTe_LocMonitorSuite()
-	{
-	}
-
-LOCAL_C void MainL()
-	{
-	// Leave the hooks in for platform security
-#if (defined __DATA_CAGING__)
-	RProcess().DataCaging(RProcess::EDataCagingOn);
-	RProcess().DataCaging(RProcess::ESecureApiOn);
-#endif
-	CActiveScheduler* sched=NULL;
-	sched=new(ELeave) CActiveScheduler;
-	CActiveScheduler::Install(sched);
-	CTe_LocMonitorSuite* server = NULL;
-	// Create the CTestServer derived server
-	TRAPD(err,server = CTe_LocMonitorSuite::NewL());
-	if(!err)
-		{
-		// Sync with the client and enter the active scheduler
-		RProcess::Rendezvous(KErrNone);
-		sched->Start();
-		}
-	delete server;
-	delete sched;
-	}
-
-
-GLDEF_C TInt E32Main()
-/**
- * @return - Standard Epoc error code on process exit
- * Secure variant only
- * Process entry point. Called by client using RProcess API
- */
-	{
-	LBSLOG_BEGIN();
-	LBSLOG(ELogP3, "te_locmonitorsuite Start()\n");
-	__UHEAP_MARK;
-	CTrapCleanup* cleanup = CTrapCleanup::New();
-	if(cleanup == NULL)
-		{
-		return KErrNoMemory;
-		}
-	TRAPD(err,MainL());
-	delete cleanup;
-	__UHEAP_MARKEND;
-	return err;
-    }
-
-CTestStep* CTe_LocMonitorSuite::CreateTestStep(const TDesC& aStepName)
-/**
- * @return - A CTestStep derived instance
- * Secure and non-secure variants
- * Implementation of CTestServer pure virtual
- */
-	{
-	CTestStep* testStep = NULL;
-	if(aStepName == KLocMonitorStep1)
-	            testStep = new CTe_LocMonitorStep1();
-	else if(aStepName == KLocMonitorStep2)
-	            testStep = new CTe_LocMonitorStep2();
-	else if(aStepName == KLocMonitorStep3)
-	            testStep = new CTe_LocMonitorStep3();
-	else if(aStepName == KLocMonitorStep4)
-	            testStep = new CTe_LocMonitorStep4();
-	else if(aStepName == KLocMonitorStep5)
-	            testStep = new CTe_LocMonitorStep5();
-	else if(aStepName == KLocMonitorStep6)
-	            testStep = new CTe_LocMonitorStep6();
-	else if(aStepName == KLocMonitorStep7)
-	            testStep = new CTe_LocMonitorStep7();
-	else if(aStepName == KLocMonitorStep8)
-	            testStep = new CTe_LocMonitorStep8();
-	else if(aStepName == KLocMonitorStep9)
-	            testStep = new CTe_LocMonitorStep9();
-	else if(aStepName == KLocMonitorStep10)
-	            testStep = new CTe_LocMonitorStep10();
-	else if(aStepName == KLocMonitorStep11)
-	            testStep = new CTe_LocMonitorStep11();
-	else if(aStepName == KLocMonitorStep12)
-	            testStep = new CTe_LocMonitorStep12();
-	else if(aStepName == KLocMonitorStep13)
-	            testStep = new CTe_LocMonitorStep13();	
-	else if(aStepName == KLocMonitorStep14)
-	            testStep = new CTe_LocMonitorStep14();
-	else if(aStepName == KLocMonitorStep15)
-	            testStep = new CTe_LocMonitorStep15();
-	else if(aStepName == KLocMonitorStep16)
-	            testStep = new CTe_LocMonitorStep16();
-	else if(aStepName == KLocMonitorStep17)
-	            testStep = new CTe_LocMonitorStep17();
-	else if(aStepName == KLocMonitorStep18)
-	            testStep = new CTe_LocMonitorStep18();
-	else if(aStepName == KLocMonitorStep19)
-	            testStep = new CTe_LocMonitorStep19();
-	else if(aStepName == KLocMonitorStep20)
-	            testStep = new CTe_LocMonitorStep20();
-	else if(aStepName == KLocMonitorStep21)
-	            testStep = new CTe_LocMonitorStep21();
-	else if(aStepName == KLocMonitorStep22)
-	            testStep = new CTe_LocMonitorStep22();
-	else if(aStepName == KLocMonitorStep23)
-	            testStep = new CTe_LocMonitorStep23();
-	else if(aStepName == KLocMonitorStep24)
-	            testStep = new CTe_LocMonitorStep24();
-	else if(aStepName == KLocMonitorStep25)
-	            testStep = new CTe_LocMonitorStep25();	
-	else if(aStepName == KLocMonitorStep26)
-	            testStep = new CTe_LocMonitorStep26();
-	else if(aStepName == KLocMonitorStep27)
-	            testStep = new CTe_LocMonitorStep27();
-	else if(aStepName == KLocMonitorStep28)
-	            testStep = new CTe_LocMonitorStep28();
-	else if(aStepName == KLocMonitorStep31)
-	            testStep = new CTe_LocMonitorStep31();
-	else if(aStepName == KLocMonitorStep32)
-	            testStep = new CTe_LocMonitorStep32();
-	return testStep;
-	}
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "lbsdevloggermacros.h"
+
+#include "te_locmonitorsuiteserver.h"
+#include "te_locmonitorstep1.h"
+#include "te_locmonitorstep2.h"
+#include "te_locmonitorstep3.h"
+#include "te_locmonitorstep4.h"
+#include "te_locmonitorstep5.h"
+#include "te_locmonitorstep6.h"
+#include "te_locmonitorstep7.h"
+#include "te_locmonitorstep8.h"
+#include "te_locmonitorstep9.h"
+#include "te_locmonitorstep10.h"
+#include "te_locmonitorstep11.h"
+#include "te_locmonitorstep12.h"
+#include "te_locmonitorstep13.h"
+#include "te_locmonitorstep14.h"
+#include "te_locmonitorstep15.h"
+#include "te_locmonitorstep16.h"
+#include "te_locmonitorstep17.h"
+#include "te_locmonitorstep18.h"
+#include "te_locmonitorstep19.h"
+#include "te_locmonitorstep20.h"
+#include "te_locmonitorstep21.h"
+#include "te_locmonitorstep22.h"
+#include "te_locmonitorstep23.h"
+#include "te_locmonitorstep24.h"
+#include "te_locmonitorstep25.h"
+#include "te_locmonitorstep26.h"
+#include "te_locmonitorstep27.h"
+#include "te_locmonitorstep28.h"
+#include "te_locmonitorstep31.h"
+#include "te_locmonitorstep32.h"
+
+_LIT(KServerName,"te_locmonitorsuite");
+
+CTe_LocMonitorSuite* CTe_LocMonitorSuite::NewL()
+	{
+	CTe_LocMonitorSuite * server = new (ELeave) CTe_LocMonitorSuite();
+	CleanupStack::PushL(server);
+
+	server->ConstructL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+void CTe_LocMonitorSuite::ConstructL(const TDesC& aName)
+	{
+	CTestServer::ConstructL(aName);
+	}
+
+CTe_LocMonitorSuite::~CTe_LocMonitorSuite()
+	{
+	}
+
+LOCAL_C void MainL()
+	{
+	// Leave the hooks in for platform security
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().DataCaging(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CTe_LocMonitorSuite* server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CTe_LocMonitorSuite::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	LBSLOG_BEGIN();
+	LBSLOG(ELogP3, "te_locmonitorsuite Start()\n");
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return err;
+    }
+
+CTestStep* CTe_LocMonitorSuite::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Secure and non-secure variants
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep* testStep = NULL;
+	if(aStepName == KLocMonitorStep1)
+	            testStep = new CTe_LocMonitorStep1();
+	else if(aStepName == KLocMonitorStep2)
+	            testStep = new CTe_LocMonitorStep2();
+	else if(aStepName == KLocMonitorStep3)
+	            testStep = new CTe_LocMonitorStep3();
+	else if(aStepName == KLocMonitorStep4)
+	            testStep = new CTe_LocMonitorStep4();
+	else if(aStepName == KLocMonitorStep5)
+	            testStep = new CTe_LocMonitorStep5();
+	else if(aStepName == KLocMonitorStep6)
+	            testStep = new CTe_LocMonitorStep6();
+	else if(aStepName == KLocMonitorStep7)
+	            testStep = new CTe_LocMonitorStep7();
+	else if(aStepName == KLocMonitorStep8)
+	            testStep = new CTe_LocMonitorStep8();
+	else if(aStepName == KLocMonitorStep9)
+	            testStep = new CTe_LocMonitorStep9();
+	else if(aStepName == KLocMonitorStep10)
+	            testStep = new CTe_LocMonitorStep10();
+	else if(aStepName == KLocMonitorStep11)
+	            testStep = new CTe_LocMonitorStep11();
+	else if(aStepName == KLocMonitorStep12)
+	            testStep = new CTe_LocMonitorStep12();
+	else if(aStepName == KLocMonitorStep13)
+	            testStep = new CTe_LocMonitorStep13();	
+	else if(aStepName == KLocMonitorStep14)
+	            testStep = new CTe_LocMonitorStep14();
+	else if(aStepName == KLocMonitorStep15)
+	            testStep = new CTe_LocMonitorStep15();
+	else if(aStepName == KLocMonitorStep16)
+	            testStep = new CTe_LocMonitorStep16();
+	else if(aStepName == KLocMonitorStep17)
+	            testStep = new CTe_LocMonitorStep17();
+	else if(aStepName == KLocMonitorStep18)
+	            testStep = new CTe_LocMonitorStep18();
+	else if(aStepName == KLocMonitorStep19)
+	            testStep = new CTe_LocMonitorStep19();
+	else if(aStepName == KLocMonitorStep20)
+	            testStep = new CTe_LocMonitorStep20();
+	else if(aStepName == KLocMonitorStep21)
+	            testStep = new CTe_LocMonitorStep21();
+	else if(aStepName == KLocMonitorStep22)
+	            testStep = new CTe_LocMonitorStep22();
+	else if(aStepName == KLocMonitorStep23)
+	            testStep = new CTe_LocMonitorStep23();
+	else if(aStepName == KLocMonitorStep24)
+	            testStep = new CTe_LocMonitorStep24();
+	else if(aStepName == KLocMonitorStep25)
+	            testStep = new CTe_LocMonitorStep25();	
+	else if(aStepName == KLocMonitorStep26)
+	            testStep = new CTe_LocMonitorStep26();
+	else if(aStepName == KLocMonitorStep27)
+	            testStep = new CTe_LocMonitorStep27();
+	else if(aStepName == KLocMonitorStep28)
+	            testStep = new CTe_LocMonitorStep28();
+	else if(aStepName == KLocMonitorStep31)
+	            testStep = new CTe_LocMonitorStep31();
+	else if(aStepName == KLocMonitorStep32)
+	            testStep = new CTe_LocMonitorStep32();
+	return testStep;
+	}
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfig.txt	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfig.txt	Fri May 28 18:01:03 2010 +0100
@@ -1,51 +1,51 @@
-// lbslocmonunitconfig.txt
-//
-// Copyright (c) 2009 Symbian Software Ltd.  All rights reserved.
-//
-// sim.tsy config used for simulating only the network registration
-// status
-//
-//! This config is used for all last known pos area tests that require only one cellid
-// Original file name: lbslocmonunitconfig.txt
-
-[TEST0]
-#single
-# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
-PhoneId =    Generic,       123,    1.1,        1234567890
-
-#single
-#SubscriberId = <Id>, <err>
-SubscriberId = 56789012345678
-
-# multiple
-# Current Network Name
-# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName> , <NetworkAccess> "
-NetworkInfo = 0,              0,          Unknown,      UnKn,               Unknown_Network,    0
-NetworkInfo = 234,            15,         Vodafone,     Voda,               Vodafone_UK,        0
-
-# multiple
-# <NetworkIndex> is one of above
-# RegStatus = <Duration>, <RegStatus>, <NetworkIndex>
-RegStatus =    5000,       5,           0
-RegStatus =    5000,       5,           1
-
-# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true and 0 for false?! 
-LocationArea =    0,           0,                 0
-LocationArea =    -1,          1911,              36464
-
-
-# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
-ONStore=    5,                       50,                             60
-# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>,<name>
-ONStoreEntry =   1,       447511699393,       2,                           0,                            8,       OwnNumber1
-
-
-# <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
-# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
-# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
-# for getting CellId by our code. We use LocationArea records and GetCurrentNetwork/NotifyCurrentNetworkChange instead.
-# <CellInfoStatus> - The status of cell info. Look at TCellInfoStatus for the list of values.
-# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance>, <CellInfoStatus> .
-CellInfo =    0,         2,             0,        0,               2
-CellInfo =    0,         2,             0,        0,               2
-
+// lbslocmonunitconfig.txt
+//
+// Copyright (c) 2009 Symbian Software Ltd.  All rights reserved.
+//
+// sim.tsy config used for simulating only the network registration
+// status
+//
+//! This config is used for all last known pos area tests that require only one cellid
+// Original file name: lbslocmonunitconfig.txt
+
+[TEST0]
+#single
+# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
+PhoneId =    Generic,       123,    1.1,        1234567890
+
+#single
+#SubscriberId = <Id>, <err>
+SubscriberId = 56789012345678
+
+# multiple
+# Current Network Name
+# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName> , <NetworkAccess> "
+NetworkInfo = 0,              0,          Unknown,      UnKn,               Unknown_Network,    0
+NetworkInfo = 234,            15,         Vodafone,     Voda,               Vodafone_UK,        0
+
+# multiple
+# <NetworkIndex> is one of above
+# RegStatus = <Duration>, <RegStatus>, <NetworkIndex>
+RegStatus =    5000,       5,           0
+RegStatus =    5000,       5,           1
+
+# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true and 0 for false?! 
+LocationArea =    0,           0,                 0
+LocationArea =    -1,          1911,              36464
+
+
+# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
+ONStore=    5,                       50,                             60
+# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>,<name>
+ONStoreEntry =   1,       447511699393,       2,                           0,                            8,       OwnNumber1
+
+
+# <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
+# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
+# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
+# for getting CellId by our code. We use LocationArea records and GetCurrentNetwork/NotifyCurrentNetworkChange instead.
+# <CellInfoStatus> - The status of cell info. Look at TCellInfoStatus for the list of values.
+# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance>, <CellInfoStatus> .
+CellInfo =    0,         2,             0,        0,               2
+CellInfo =    0,         2,             0,        0,               2
+
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfigbad.txt	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/lbslocmonunitconfigbad.txt	Fri May 28 18:01:03 2010 +0100
@@ -1,47 +1,47 @@
-// config.txt
-//
-// Copyright (c) 2006 Symbian Software Ltd.  All rights reserved.
-//
-// sim.tsy config used for simulating unavailability of LAC
-// for negative unit test of Location Monitor
-//
-
-[TEST0]
-# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
-PhoneId = Generic, 123, 1.1, 1234567890
-
-#SubscriberId=  = <Id>, <err>
-SubscriberId= 56789012345678
-
-# Current Network Name
-# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName>, <NetworkAccess>, <NetworkMode>
-# <NetworkMode> is a network mode. GSM - 2, Unregistered - 1, WCDMA - 6
-NetworkInfo= 123, 456, Vodafone, Voda, Vodafone_UK, 0, 2
-
-# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true #and 0 for false. 
-#LocationArea= 1, 1, 1
-
-# RegStatus = <Timeout>, <RegStatus>, <RecordIndex> . 
-# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown. 
-# <RegStatus> - A registration status. Look at TMobilePhoneRegistrationStatus for the list of values.
-# <RecordIndex> is an index of (NetworkInfo+LocationArea) array. It starts from 0.
-
-# Initial status. Wait for 15 sec here to allow the test to startup. 
-RegStatus= 15,5,0
-
-
-
-# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance> .
-# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
-# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
-# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
-# for getting CellId by our code. We use LocationArea records an GetCurrentNetwork/NotifyCurrentNetworkChange instead.
-# Test 0
-CellInfo= 23,2,0,0
-
-
-# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
-ONStore= 5, 50, 60
-# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>, <name>
-ONStoreEntry= 1, 07747012341, 2, 0, 8, OwnNumber1
-
+// config.txt
+//
+// Copyright (c) 2006 Symbian Software Ltd.  All rights reserved.
+//
+// sim.tsy config used for simulating unavailability of LAC
+// for negative unit test of Location Monitor
+//
+
+[TEST0]
+# PhoneId = <manufacturer>,<model>,<revision>, <serialnumber>, <error>
+PhoneId = Generic, 123, 1.1, 1234567890
+
+#SubscriberId=  = <Id>, <err>
+SubscriberId= 56789012345678
+
+# Current Network Name
+# NetworkInfo= <CountryCode>, <NetworkId>, <DisplayTag>, <NetworkShortName>, <NetworkLongName>, <NetworkAccess>, <NetworkMode>
+# <NetworkMode> is a network mode. GSM - 2, Unregistered - 1, WCDMA - 6
+NetworkInfo= 123, 456, Vodafone, Voda, Vodafone_UK, 0, 2
+
+# LocationArea = <AreaKnown>, <LocationAreaCode>, <CellId> . Where <AreaKnown> is -1 for true #and 0 for false. 
+#LocationArea= 1, 1, 1
+
+# RegStatus = <Timeout>, <RegStatus>, <RecordIndex> . 
+# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown. 
+# <RegStatus> - A registration status. Look at TMobilePhoneRegistrationStatus for the list of values.
+# <RecordIndex> is an index of (NetworkInfo+LocationArea) array. It starts from 0.
+
+# Initial status. Wait for 15 sec here to allow the test to startup. 
+RegStatus= 15,5,0
+
+
+
+# CellInfo = <Timeout>, <NetworkMode>, <CellId>, <TimingAdvance> .
+# Where <Timeout> is time in sec while this status is valid. The last record lasts until shutdown.
+# <NetworkMode> - the set here has no effect. Please use NetworkInfo records instead.
+# <CellId> set here applies only to GetCellInfo/NotifyCellInfoChanges calls, which are not used. 
+# for getting CellId by our code. We use LocationArea records an GetCurrentNetwork/NotifyCurrentNetworkChange instead.
+# Test 0
+CellInfo= 23,2,0,0
+
+
+# ONStore= <max number of entries>, <max size of telephone number>, <max text length>
+ONStore= 5, 50, 60
+# ONStoreEntry= <index>, <telephone number>, <TMobileTON type of number>, <TMobileService service type>, <Number Plan>, <name>
+ONStoreEntry= 1, 07747012341, 2, 0, 8, OwnNumber1
+
--- a/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/te_locmonitorsuite.ini	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/te_locmonitorsuite/testdata/te_locmonitorsuite.ini	Fri May 28 18:01:03 2010 +0100
@@ -1,75 +1,75 @@
-
-[Section0]
-TheString=locmon0
-TheInt=0
-TheBool=False
-
-[Section1]
-TheString=locmon1
-TheInt=1
-TheBool=True
-
-[Section2]
-TheString=locmon2
-TheInt=2
-TheBool=False
-
-[Section3]
-TheString=locmon3
-TheInt=3
-TheBool=True
-
-[Section4]
-TheString=locmon4
-TheInt=4
-TheBool=False
-
-[Section5]
-TheString=locmon5
-TheInt=5
-TheBool=True
-
-[Section6]
-TheString=locmon6
-TheInt=6
-TheBool=False
-
-[Section7]
-TheString=locmon7
-TheInt=7
-TheBool=True
-
-[Section8]
-TheString=locmon8
-TheInt=8
-TheBool=False
-
-[Section9]
-TheString=locmon9
-TheInt=9
-TheBool=True
-
-[Section10]
-TheString=locmon10
-TheInt=10
-TheBool=False
-
-[Section11]
-TheString=locmon11
-TheInt=11
-TheBool=True
-
-[Section12]
-TheString=locmon12
-TheInt=12
-TheBool=True
-
-[Section13]
-TheString=locmon13
-TheInt=13
-TheBool=True
-
-[Section14]
-TheString=locmon14
-TheInt=14
-TheBool=True
+
+[Section0]
+TheString=locmon0
+TheInt=0
+TheBool=False
+
+[Section1]
+TheString=locmon1
+TheInt=1
+TheBool=True
+
+[Section2]
+TheString=locmon2
+TheInt=2
+TheBool=False
+
+[Section3]
+TheString=locmon3
+TheInt=3
+TheBool=True
+
+[Section4]
+TheString=locmon4
+TheInt=4
+TheBool=False
+
+[Section5]
+TheString=locmon5
+TheInt=5
+TheBool=True
+
+[Section6]
+TheString=locmon6
+TheInt=6
+TheBool=False
+
+[Section7]
+TheString=locmon7
+TheInt=7
+TheBool=True
+
+[Section8]
+TheString=locmon8
+TheInt=8
+TheBool=False
+
+[Section9]
+TheString=locmon9
+TheInt=9
+TheBool=True
+
+[Section10]
+TheString=locmon10
+TheInt=10
+TheBool=False
+
+[Section11]
+TheString=locmon11
+TheInt=11
+TheBool=True
+
+[Section12]
+TheString=locmon12
+TheInt=12
+TheBool=True
+
+[Section13]
+TheString=locmon13
+TheInt=13
+TheBool=True
+
+[Section14]
+TheString=locmon14
+TheInt=14
+TheBool=True
--- a/locationmgmt/locmonitor/test/testlocationmonitor/group/bld.inf	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/group/bld.inf	Fri May 28 18:01:03 2010 +0100
@@ -1,25 +1,25 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-PRJ_EXPORTS
-
-PRJ_TESTEXPORTS
-./testlocationmonitor.iby   					/epoc32/rom/include/testlocationmonitor.iby
-
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_EXPORTS
+
+PRJ_TESTEXPORTS
+./testlocationmonitor.iby   					/epoc32/rom/include/testlocationmonitor.iby
+
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
 testlocationmonitor.mmp
\ No newline at end of file
--- a/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.iby	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.iby	Fri May 28 18:01:03 2010 +0100
@@ -1,23 +1,23 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TESTLOCATIONMONITOR_IBY__
-#define __TESTLOCATIONMONITOR_IBY__
-
-file=ABI_DIR\DEBUG_DIR\testlocationmonitor.exe		sys\bin\testlocationmonitor.exe
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __TESTLOCATIONMONITOR_IBY__
+#define __TESTLOCATIONMONITOR_IBY__
+
+file=ABI_DIR\DEBUG_DIR\testlocationmonitor.exe		sys\bin\testlocationmonitor.exe
+
+#endif
--- a/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp	Fri May 28 18:01:03 2010 +0100
@@ -1,103 +1,122 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-TARGET        testlocationmonitor.exe
-TARGETTYPE    exe
-
-UID			0x1000007A 0x102869E4
-VENDORID	0x70000001
-
-CAPABILITY ReadDeviceData WriteDeviceData Location
-
-MACRO ENABLE_LBS_DEV_LOGGER
-MACRO UNIT_TEST_LOCMONITOR
-
-// Top level
-SOURCEPATH ../src
-SOURCE	testrlbslocmonitordb.cpp
-
-// Files from real Location Monitor server
-SOURCEPATH	../../../lbslocmonitorserver/src
-SOURCE clbslocmonitormain.cpp
-SOURCE clbslocmonitorserver.cpp
-SOURCE clbslocmonitorsession.cpp
-SOURCE clbsareapositionersubsession.cpp
-SOURCE clbslocmonitorareainfofinder.cpp
-SOURCE clbslocmonitornetworkinfofinder.cpp
-SOURCE clbslocmonitorgpsbus.cpp
-SOURCE clbslocmonitorposlistener.cpp
-SOURCE clbslocmonitorutils.cpp
-SOURCE lbslocmonitorareainfodefs.cpp
-SOURCE clbslocmonitorrequesthandler.cpp
-
-// Panic codes
-//SOURCE lbslocmonitorpanic.cpp
-
-SOURCEPATH	../../../../locationcore/LbsLocCommon/ServerFramework/src
-
-//
-// Generic server source
-//
-SOURCE csecureasbase.cpp
-SOURCE csecureserverbase.cpp
-SOURCE csecuresessionbase.cpp
-SOURCE csecuresessionsubsessionbase.cpp
-SOURCE cshutdowntimer.cpp
-SOURCE csubsessionbase.cpp
-SOURCE messageutils.cpp
-SOURCE tserverstartparams.cpp
-SOURCE tstartparamsbase.cpp
-
-
-USERINCLUDE   ../inc
-USERINCLUDE   ../../../../locationcore/lbsrootapi/inc
-USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
-USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
-USERINCLUDE   ../../../../locationcore/LbsLocDataSource/inc
-USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
-USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
-USERINCLUDE   ../../../../locationcore/LbsDebug/inc
-USERINCLUDE	  ../../../../locationcore/LbsLogging/inc
-USERINCLUDE   ../../../../locationcore/LbsCommonInternalDataTypes/inc
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY		euser.lib
-LIBRARY		estor.lib
-LIBRARY		lbs.lib
-LIBRARY		lbsloccommon.lib
-LIBRARY		lbslocdatasource.lib
-LIBRARY		lbsadmin.lib
-LIBRARY		lbspartnercommon.lib
-LIBRARY		etel.lib
-LIBRARY		etelmm.lib
-LIBRARY		commsdat.lib
-
-LIBRARY		lbsinternalapi.lib
-LIBRARY		lbsnetinternalapi.lib
-
-//
-// For interface with LBS Root process
-//
-LIBRARY		lbsrootapi.lib
-LIBRARY		lbsnetprotocol.lib
-
-//
-// Logging
-//
-LIBRARY		lbsloggerapi.lib
-
-SMPSAFE
-
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+TARGET        testlocationmonitor.exe
+TARGETTYPE    exe
+
+UID			0x1000007A 0x102869E4
+VENDORID	0x70000001
+
+CAPABILITY ReadDeviceData WriteDeviceData Location
+
+MACRO ENABLE_LBS_DEV_LOGGER
+MACRO UNIT_TEST_LOCMONITOR
+
+// Top level
+SOURCEPATH ../src
+SOURCE	testrlbslocmonitordb.cpp
+
+SOURCEPATH	../../../lbslocmonitorapis/ConversionDataTypes/src
+SOURCE          lbslocationcommon.cpp
+SOURCE          lbslocationinfo.cpp
+SOURCE          lbslocationposinfo.cpp 
+SOURCE          lbslocationgsminfo.cpp
+SOURCE          lbslocationwcdmainfo.cpp
+SOURCE          lbslocationwlaninfo.cpp 
+SOURCE          lbslocationwcdmaneighbourinfo.cpp 
+SOURCE          lbslocationgsmneighbourinfo.cpp
+
+SOURCEPATH	../../../lbslocmonitorapis/ConversionApi\ConversionPluginApi\src
+SOURCE lbslocinfoconverterpluginbase.cpp
+SOURCE lbslocinfoconverterplugincommon.cpp
+
+// Files from real Location Monitor server
+SOURCEPATH	../../../lbslocmonitorserver/src
+SOURCE clbslocmonitormain.cpp
+SOURCE clbslocmonitorserver.cpp
+SOURCE clbslocmonitorsession.cpp
+SOURCE clbsareapositionersubsession.cpp
+SOURCE clbslocmonitorareainfofinder.cpp
+SOURCE clbslocmonitornetworkinfofinder.cpp
+SOURCE clbslocmonitorgpsbus.cpp
+SOURCE clbslocmonitorposlistener.cpp
+SOURCE clbslocmonitorutils.cpp
+SOURCE lbslocmonitorareainfodefs.cpp
+SOURCE clbslocmonitorrequesthandler.cpp
+SOURCE clbslocmonitorpluginresolver.cpp
+SOURCE clbsconversionpositionersubsession.cpp
+SOURCE clbslocmonitorconversionhandler.cpp
+
+// Panic codes
+//SOURCE lbslocmonitorpanic.cpp
+
+SOURCEPATH	../../../../locationcore/LbsLocCommon/ServerFramework/src
+
+//
+// Generic server source
+//
+SOURCE csecureasbase.cpp
+SOURCE csecureserverbase.cpp
+SOURCE csecuresessionbase.cpp
+SOURCE csecuresessionsubsessionbase.cpp
+SOURCE cshutdowntimer.cpp
+SOURCE csubsessionbase.cpp
+SOURCE messageutils.cpp
+SOURCE tserverstartparams.cpp
+SOURCE tstartparamsbase.cpp
+
+
+USERINCLUDE   ../inc
+USERINCLUDE   ../../../../locationcore/lbsrootapi/inc
+USERINCLUDE   ../../../../locationcore/LbsInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsNetInternalApi/inc
+USERINCLUDE   ../../../../locationcore/LbsLocDataSource/inc
+USERINCLUDE   ../../../../locationcore/LbsPartnerCommon/inc
+USERINCLUDE   ../../../../locationcore/LbsLocCommon/ServerFramework/inc
+USERINCLUDE   ../../../../locationcore/LbsDebug/inc
+USERINCLUDE   ../../../../locationcore/LbsLogging/inc
+USERINCLUDE   ../../../../locationcore/LbsCommonInternalDataTypes/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY		euser.lib
+LIBRARY		estor.lib
+LIBRARY		lbs.lib
+LIBRARY		lbsloccommon.lib
+LIBRARY		lbslocdatasource.lib
+LIBRARY		lbsadmin.lib
+LIBRARY		lbspartnercommon.lib
+LIBRARY		etel.lib
+LIBRARY		etelmm.lib
+LIBRARY		commsdat.lib
+LIBRARY		ecom.lib
+LIBRARY		centralrepository.lib
+
+LIBRARY		lbsinternalapi.lib
+LIBRARY		lbsnetinternalapi.lib
+
+//
+// For interface with LBS Root process
+//
+LIBRARY		lbsrootapi.lib
+LIBRARY		lbsnetprotocol.lib
+
+//
+// Logging
+//
+LIBRARY		lbsloggerapi.lib
+
+SMPSAFE
+
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbsareapositionersubsession.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbsareapositionersubsession.h	Fri May 28 18:01:03 2010 +0100
@@ -1,88 +1,88 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORPOSITIONERSUBSESSION_H
-#define CLBSLOCMONITORPOSITIONERSUBSESSION_H
-
-/**
-@file
-@internalComponent
-@released
-*/
-
-#include <e32property.h>
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-#include "clbslocmonitorutils.h"
-#include "clbslocmonitorserver.h"
-
-class CLbsLocMonitorServer;
-
-/*
-  Server side subsession of the Location Monitor server.
-  This subsession handles client's requests for the
-  last known position and also the last known position
-  for the current area information (e.g Global Cell ID).
-  This subsession is also used by clients to supply an 
-  accurate position (e.g, a position obtained with GPS) so
-  that the position is kept in a database together with 
-  area information. 
-*/
-class CLbsAreaPositionerSubsession : public CBase, public MSubSessionImpl, public MLocMonServerDestructObserver
-	{
-
-public:
-    static CLbsAreaPositionerSubsession* NewL();
-    ~CLbsAreaPositionerSubsession();
-    
-    // From MSubSessionImpl
-    virtual void DispatchL(const RMessage2& aMessage);
-    virtual void DispatchError(const RMessage2& aMessage, TInt aError);
-    virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
-    virtual void CloseSubSession();
-
-	// via MSubSessionImpl::MRelease	
-	void VirtualRelease();
-	// from MLocMonServerDestructObserver
-	void LocMonServerDestructed();
-protected:
-
-    CLbsAreaPositionerSubsession();
-    void ConstructL();
-
-    //
-    // action methods.
-    //
-    void GetPositionL(const RMessage2& aMessage);
-    void CancelGetPositionL(const RMessage2& aMessage);
-    void SetLastKnownPositionL(const RMessage2& aMessage);
-    
-private:
-
-    const CLbsLocMonitorServer* iLocMonitorServer;
-
-    // Unique ID of this subsession
-    CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
-    };
-
-#endif //CLBSLOCMONITORPOSITIONERSUBSESSION_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORPOSITIONERSUBSESSION_H
+#define CLBSLOCMONITORPOSITIONERSUBSESSION_H
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "clbslocmonitorutils.h"
+#include "clbslocmonitorserver.h"
+
+class CLbsLocMonitorServer;
+
+/*
+  Server side subsession of the Location Monitor server.
+  This subsession handles client's requests for the
+  last known position and also the last known position
+  for the current area information (e.g Global Cell ID).
+  This subsession is also used by clients to supply an 
+  accurate position (e.g, a position obtained with GPS) so
+  that the position is kept in a database together with 
+  area information.	
+*/
+class CLbsAreaPositionerSubsession : public CBase, public MSubSessionImpl, public MLocMonServerDestructObserver
+	{
+
+public:
+	static CLbsAreaPositionerSubsession* NewL();
+    ~CLbsAreaPositionerSubsession();
+    
+	// From MSubSessionImpl
+	virtual void DispatchL(const RMessage2& aMessage);
+	virtual void DispatchError(const RMessage2& aMessage, TInt aError);
+	virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
+	virtual void CloseSubSession();
+
+	// via MSubSessionImpl::MRelease	
+	void VirtualRelease();
+	// from MLocMonServerDestructObserver
+	void LocMonServerDestructed();
+protected:
+
+	CLbsAreaPositionerSubsession();
+	void ConstructL();
+
+	//
+	// action methods.
+	//
+	void GetPositionL(const RMessage2& aMessage);
+	void CancelGetPositionL(const RMessage2& aMessage);
+	void SetLastKnownPositionL(const RMessage2& aMessage);
+	
+private:
+
+	const CLbsLocMonitorServer* iLocMonitorServer;
+
+	// Unique ID of this subsession
+	CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
+	};
+
+#endif //CLBSLOCMONITORPOSITIONERSUBSESSION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbsconversionpositionersubsession.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSCONVERSIONPOSITIONERSUBSESSION_H_
+#define CLBSCONVERSIONPOSITIONERSUBSESSION_H_
+
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "clbslocmonitorutils.h"
+
+class CLbsLocMonitorServer;
+
+/*
+  Server side subsession of the Location Monitor server.
+  This subsession handles client's requests for the
+  location info conversion.
+*/
+class CLbsConversionPositionerSubsession : public CBase, 
+                                           public MSubSessionImpl
+   {
+public:
+   static CLbsConversionPositionerSubsession* NewL();
+   
+   ~CLbsConversionPositionerSubsession();
+   
+   // From MSubSessionImpl
+   virtual void DispatchL(const RMessage2& aMessage);
+   virtual void DispatchError(const RMessage2& aMessage, TInt aError);
+   virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
+   virtual void CloseSubSession();
+   
+   // via MSubSessionImpl::MRelease    
+   void VirtualRelease(); 
+     
+protected:
+   CLbsConversionPositionerSubsession();
+   void ConstructL();
+
+   //
+   // action methods.
+   //
+   void GetPositionL(const RMessage2& aMessage);
+   void CancelGetPositionL(const RMessage2& aMessage);
+   void SetLastKnownPositionL(const RMessage2& aMessage);
+    
+private:
+
+   CLbsLocMonitorServer* iLocMonitorServer;
+
+   // Unique ID of this subsession
+   CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
+   };
+
+#endif /*CLBSCONVERSIONPOSITIONERSUBSESSION_H_*/
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorareainfofinder.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorareainfofinder.h	Fri May 28 18:01:03 2010 +0100
@@ -1,60 +1,60 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORAREAINFOFINDER_H
-#define CLBSLOCMONITORAREAINFOFINDER_H
-
-#include "tserverstartparams.h"
-#include "LbsInternalInterface.h"
-#include "lbslogger.h"
-#include "mlbslocmonitorareainfofinderobserver.h"
-
-class TLbsLocMonitorAreaInfoBase;
-
-/**
-Base class for all the classes used by the Location Monitor to 
-find area information (e.g. one such subclass is the 
-CLbsLocMonitorCellInfoFinder that obtains cell information 
-from ETEL)
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorAreaInfoFinder : public CActive
-	{
-
-public:
-	void RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver);
-	
-	virtual TInt RunError(TInt aError) = 0;
-	virtual void RunL() = 0;
-	virtual void DoCancel() = 0;
-	
-	~CLbsLocMonitorAreaInfoFinder();
-
-protected:
-	CLbsLocMonitorAreaInfoFinder();
-	
-	void NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate);
-	
-private:
-
-	RPointerArray<MLbsLocMonitorAreaInfoFinderObserver> iObservers;
-	};
-	
-#endif //CLBSLOCMONITORAREAINFOFINDER_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORAREAINFOFINDER_H
+#define CLBSLOCMONITORAREAINFOFINDER_H
+
+#include "tserverstartparams.h"
+#include "LbsInternalInterface.h"
+#include "lbslogger.h"
+#include "mlbslocmonitorareainfofinderobserver.h"
+
+class TLbsLocMonitorAreaInfoBase;
+
+/**
+Base class for all the classes used by the Location Monitor to 
+find area information (e.g. one such subclass is the 
+CLbsLocMonitorCellInfoFinder that obtains cell information 
+from ETEL)
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorAreaInfoFinder : public CActive
+	{
+
+public:
+	void RegisterObserverL(const MLbsLocMonitorAreaInfoFinderObserver& aObserver);
+	
+	virtual TInt RunError(TInt aError) = 0;
+	virtual void RunL() = 0;
+	virtual void DoCancel() = 0;
+	
+	~CLbsLocMonitorAreaInfoFinder();
+
+protected:
+	CLbsLocMonitorAreaInfoFinder();
+	
+	void NotifyObservers(const TLbsLocMonitorAreaInfoBase& aAreaUpdate);
+	
+private:
+
+	RPointerArray<MLbsLocMonitorAreaInfoFinderObserver> iObservers;
+	};
+	
+#endif //CLBSLOCMONITORAREAINFOFINDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorconversionhandler.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,254 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CLbsLocMonitorConversionHandler class.
+*
+*/
+
+#ifndef CLBSLOCMONITORCONVERSIONHANDLER_H_
+#define CLBSLOCMONITORCONVERSIONHANDLER_H_
+
+#include <e32base.h>
+#include <lbs/lbslocinfoconverterpluginbase.h>
+#include <lbs/lbslocationinfo.h>
+#include "mlbsconversioncompleteobserver.h"
+#include "rlbslocmonitordb.h"
+
+/**
+ * This class is responsible for requesting location conversion from 
+ * the plug in and later to handle the converted information.
+ */
+class CLbsLocMonitorConversionHandler : public CActive,
+                                        public MLbsLocInfoConverterPluginObserver
+    {
+public:
+    /**
+     * Validation info assosciated with each client
+     */
+    struct TValidationInfo
+        {
+        TSecureId  iClientSecureId;
+        };    /**
+     * This represent different state of conversion handler. 
+     */
+    enum TState
+        {
+        EStateIdle,
+        EStateValidation,
+        EStateConversion,
+        EStateCacheSave,
+        EStateCacheSaveComplete
+        };
+    
+public:
+    /**
+     * Creates new instance of CLbsLocMonitorConversionHandler object. 
+     */ 
+    static CLbsLocMonitorConversionHandler* NewL( 
+                               MLbsConversionCompleteObserver& 
+                               aConversionCompleteObserver,
+                               TUid aConversionPluginUid );
+    
+    /**
+     * Destructor
+     */
+    ~CLbsLocMonitorConversionHandler();
+    
+    /**
+     * Returns the size of converted location information to the client.
+     */
+    void GetConvertLocationInfoSizeL(const RMessage2& aMessage);
+    
+    /**
+     * Returns the converted location information to the client.
+     */
+    void GetConvertedLocationInfoL(const RMessage2& aMessage);
+    
+    /**
+     * Cancel location info conversion.
+     */
+    void CancelLocationInfoConversionL(const RMessage2& aMessage);
+    
+    /**
+     * Returns Uid of conversion plugin that is loaded.
+     */
+    TUid ConversionPluginUid();
+    
+    /**
+     * Returns ETrue is any message corresponding to subsession id 
+     * is present in the handler.
+     */
+    TBool IsMessagePresent(const RMessage2& aMessage);
+    
+    /**
+     * Returns ETrue if secure id and subsession id matches else EFalse.
+     */
+    TBool CompareMessage(const RMessage2& aSrc,const RMessage2& aDes);
+    
+    
+    TReal32 AccuracyFromMatchLevel(TPositionAreaExtendedInfo::TArea aMatchlevel);
+    
+   
+    
+public: // from MLbsLocInfoConverterPluginObserver
+    virtual void OnConversionComplete(TInt aStatusCode);
+    
+    virtual void OnValidationComplete(TInt aStatusCode);
+    
+protected: // from CActive
+    void RunL();
+    void DoCancel();
+    
+private:
+    /**
+     * Constructor.
+     */
+    CLbsLocMonitorConversionHandler(MLbsConversionCompleteObserver& 
+                                     aConversionCompleteObserver);
+    
+    /**
+     * Symbian 2 phase constructor.
+     */
+    void ConstructL(TUid aConversionPluginUid);
+    
+    /**
+     * Processes the request which is recently validated.
+     */
+    TInt ProcessRequestL();
+    
+    /**
+     * Loads the conversion module specified by client.
+     */
+    void LoadConversionPluginL(TUid aConversionModuleId);
+    
+    /**
+     * Writes converted position information to the stream.
+     */
+    void WriteAreaInfoL(RBufWriteStream& aWriteStream,
+                         CLbsLocationInfo::TAreaInfoMask aAreaInfoMask);
+
+    /**
+     * Completes client's message.
+     */
+    void CompleteRequest(const RMessage2& aMessage,TInt aReason);
+    
+    /**
+     * This is called after each conversion request complete
+     */
+    void RequestCompleteL();
+    
+    
+    void WriteResultToBufferL();
+    
+    
+    /**
+     * Fills in partial results from cache where they are better than those returned from the plugin
+     */
+    void FillInPartialL();
+    
+    /**
+     * Sends requests from iRequestedInfo to the cacne and uses the result to
+     * fill in iCacheLookupResults, the RunL will decide which responses to 
+     * write back into iRequestedInfo and send back to the client
+     */
+    TBool CacheLookupL();
+    
+    /*
+     * Writes any cellid + location pairs received as part of a query back into 
+     * the cache 
+     */
+    TBool CacheSaveL();
+    
+private: // Member variables
+    /**
+     * Handle to conversion complete observer
+     */
+    MLbsConversionCompleteObserver& iConversionCompleteObserver;
+    
+    /**
+     * Conversion request.
+     */
+    RMessage2 iConversionRequest;
+     
+    /**
+     * Validation request array.
+     */
+    RArray<RMessage2> iValidationRequestQueue;
+     
+    /**
+     * Pointer to conversion plugin
+     */
+    CLbsLocInfoConverterPluginBase* iLocInfoConverterPlugIn;
+    
+    /**
+     * Handle to buffer that contains converted information.
+     */
+    CBufFlat* iBuffer;
+    
+    /**
+     * Client specified request info
+     */
+    TLbsConversionOutputInfoMask iRequestedInfo;
+    
+    /**
+     * Location information array passed from client.
+     */
+    RLbsLocationInfoArray  iLocationInfoArray;
+    
+    
+    /**
+     * A subset of location information array passed from client.
+     * requests that have been solved by the cache are ommitted
+     * this array DOES NOT OWN its contents and should not destroy them.
+     * as the ownership remains with iLocationInfoArray
+     */
+    RLbsLocationInfoArray  iSubsetLocationInfoArray;
+    
+    /**
+     * Uid of currently loaded conversion plug in
+     */
+    TUid iConversionPluginId;
+    
+    /**
+     * State of conversion handler.
+     */
+    TState iState;
+    
+    /**
+     * Secure id of client that has outstanding request
+     */
+    TSecureId iCurrentRequestSecureId;
+    
+    /**
+     * Subsession id of client that has outstanding request
+     */
+    TInt iCurrentRequestSubsessionId;
+
+    
+    /*
+     * Cache lookup results
+     */
+    RArray<TLocality> iCachePartialResults;
+    
+    
+    /**
+     * Cache for lookups
+     */
+    RLbsLocMonitorDb iCache;
+    
+    
+    TInt iSavedToCacheCount;
+    
+    };
+
+#endif /*CLBSLOCMONITORCONVERSIONHANDLER_H_*/
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitordbengine.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitordbengine.h	Fri May 28 18:01:03 2010 +0100
@@ -1,84 +1,89 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBS_LOCMONITORDBENGINE_H
-#define LBS_LOCMONITORDBENGINE_H
-
-
-//-------------------------------------------------------------------------------
-#include <e32base.h>
-#include <SqlDb.h> 
-#include <LbsPositionInfo.h> 
-#include <e32capability.h>
-//TODO remove
-#include "rlbslocmonitordb.h"
-
-//-------------------------------------------------------------------------------
-/** 
-*/
-class CLbsLocMonitorDbEngine : public CActive
-	{
-
-public:		
-	static CLbsLocMonitorDbEngine* NewL();
-	virtual ~CLbsLocMonitorDbEngine();
-	TInt SavePosition(TUint aMcc, TUint aMnc, TUint aLac, 
-			TUint aCid, const TPosition& aPosition, TRequestStatus& aStatus);
-	TInt GetPosition(TUint aMcc, TUint aMnc, TUint aLac, 
-			TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
-	TInt GetPosition(TPosition& aPosition, TRequestStatus& aStatus);
-	TInt ClearDatabase();
-	static TInt FlushTimerCallback(TAny* aPtr);
-
-
-private:
-	CLbsLocMonitorDbEngine();
-	void ConstructL();
-	void InitDbL();
-	TBool Select(TPosition& aPosition, TPtrC aQuery, 
-			TInt aMcc = KErrNotFound, TInt aMnc = KErrNotFound, 
-			TInt aLac = KErrNotFound, TInt aCid = KErrNotFound);
-	void CheckFlush();
-	void Flush(TBool aShutdown);
-	TPositionAreaExtendedInfo CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid);
-	TInt Insert(TBool aShutdown);
-	TInt DbSize();
-	virtual void RunL();
-	virtual void DoCancel();
-	
-private:
-	RSqlDatabase iDatabase;
-	CPeriodic* iPeriodic;
-	TTimeIntervalMicroSeconds32 iFlushInterval;
-	TInt iCount;
-	RSqlStatement iSqlSaveStatement;
-	TRequestStatus* iClientStatus;
-	
-	TInt iLastMcc;
-	TInt iLastMnc;
-	TInt iLastLac;
-	TInt iLastCid;
-	TPosition iLastPosition;
-	TTime iLastTime;
-	TBool iIsLastValid;
-	};
-	
-
-
-
-#endif //LBS_LOCATIONMONITORDATABASE_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBS_LOCMONITORDBENGINE_H
+#define LBS_LOCMONITORDBENGINE_H
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+#include <sqldb.h> 
+#include <lbspositioninfo.h> 
+#include <e32capability.h>
+#include "rlbslocmonitordb.h"
+#include "clbslocmonitordbtimer.h"
+
+//-------------------------------------------------------------------------------
+/** 
+*/
+class CLbsLocMonitorDbEngine : public CActive, MLocMonitorDBCallback
+	{
+
+public:		
+	static CLbsLocMonitorDbEngine* NewL();
+	virtual ~CLbsLocMonitorDbEngine();
+	TInt SavePosition(TUint aMcc, TUint aMnc, TUint aLac, 
+			TUint aCid, const TPosition& aPosition, TBool aUserPosition, TRequestStatus& aStatus);
+	TInt GetPosition(TUint aMcc, TUint aMnc, TUint aLac, 
+			TUint aCid, TPosition& aPosition, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
+	TInt GetPosition(TPosition& aPosition, TRequestStatus& aStatus);
+	TInt ClearDatabase();
+	
+   // from CLbsLocMonitorDbTimer
+    void FlushTimerCallback();
+
+
+private:
+	CLbsLocMonitorDbEngine();
+	void ConstructL();
+	void InitDbL();
+	TBool Select(TPosition& aPosition, TPtrC aQuery, 
+			TInt aMcc = KErrNotFound, TInt aMnc = KErrNotFound, 
+			TInt aLac = KErrNotFound, TInt aCid = KErrNotFound);
+	void CheckFlush();
+	void Flush(TBool aShutdown);
+	TPositionAreaExtendedInfo CacheMatchLevel(TInt aMcc, TInt aMnc, TInt aLac, TInt aCid);
+	TInt Insert(TBool aShutdown);
+	TInt DbSize();
+	virtual void RunL();
+	virtual void DoCancel();
+	
+private:
+	RSqlDatabase iDatabase;
+	TTimeIntervalMicroSeconds32 iFlushInterval;
+	TInt iCount;
+	RSqlStatement iSqlSaveStatement;
+	TRequestStatus* iClientStatus;
+	CLbsLocMonitorDbTimer* iDbTimer;
+	
+	TBool iSaveLastPos;
+	TBool iDBInitialised;
+	TInt iLastMcc;
+	TInt iLastMnc;
+	TInt iLastLac;
+	TInt iLastCid;
+	TPosition iLastPosition;
+	TPosition iLastKnownPosition;
+	TTime iLastTime;
+	TBool iIsLastValid;
+	};
+	
+
+
+
+#endif //LBS_LOCATIONMONITORDATABASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitordbtimer.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef LBS_LOCMONITORDBTIMER_H
+#define LBS_LOCMONITORDBTIMER_H
+
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+
+
+//-------------------------------------------------------------------------------
+/** 
+*/
+
+class MLocMonitorDBCallback
+    {
+public:
+    virtual void FlushTimerCallback() = 0; 
+    };
+
+
+
+class CLbsLocMonitorDbTimer : public CActive
+	{
+
+public:		
+	static CLbsLocMonitorDbTimer* NewL(MLocMonitorDBCallback& aObserver);
+	virtual ~CLbsLocMonitorDbTimer();
+	TBool IsRunning();
+	TBool StartTimer(TTimeIntervalSeconds aTimeInterval);
+
+
+private:
+	CLbsLocMonitorDbTimer(MLocMonitorDBCallback& aObserver);
+	void ConstructL();
+	virtual void RunL();
+	virtual void DoCancel();
+	
+	
+private:
+	MLocMonitorDBCallback& iObserver;
+	RTimer iTimer;
+	TBool iRunning;
+	};
+	
+
+
+
+#endif //LBS_LOCATIONMONITORDBTIMER_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h	Fri May 28 18:01:03 2010 +0100
@@ -1,77 +1,77 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
-@file
-@internalComponent
-@released
-*/
-#ifndef CLBSLOCMONITORGPSBUS_H
-#define CLBSLOCMONITORGPSBUS_H
-
-#include <e32base.h>
-#include "LbsInternalInterface.h"
-
-class MLbsLocMonitorGpsBusObserver;
-
-/**
- Active object to listen on GPS updates bus
-*/
-class CLbsLocMonitorGpsBus : public CActive
-	{
-
-public:
-
-	static CLbsLocMonitorGpsBus* NewL(MLbsLocMonitorGpsBusObserver& aObserver);
-	~CLbsLocMonitorGpsBus();
-
-private:
-
-	CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver);
-	void ConstructL();
-
-private:
-
-	// from CActive
-	void RunL();
-	void DoCancel();
-	TInt RunError(TInt aError);
-
-private:
-
-	/** Data bus to subscribe to in order to receive
-	 notifications of gps-calculated positions.
-	 */
-	RLbsPositionUpdates			iGpsPositionBus;	
-
-	MLbsLocMonitorGpsBusObserver& iObserver;
-	};
-
-/**
-The Mixin observer interface for the location data bus object.
-
-@internalComponent
-@released
-*/
-class MLbsLocMonitorGpsBusObserver
-	{
-public:
-	virtual void GpsPositionAvailable(const TPosition& aPosition) = 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:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+#ifndef CLBSLOCMONITORGPSBUS_H
+#define CLBSLOCMONITORGPSBUS_H
+
+#include <e32base.h>
+#include "LbsInternalInterface.h"
+
+class MLbsLocMonitorGpsBusObserver;
+
+/**
+ Active object to listen on GPS updates bus
+*/
+class CLbsLocMonitorGpsBus : public CActive
+	{
+
+public:
+
+	static CLbsLocMonitorGpsBus* NewL(MLbsLocMonitorGpsBusObserver& aObserver);
+	~CLbsLocMonitorGpsBus();
+
+private:
+
+	CLbsLocMonitorGpsBus(MLbsLocMonitorGpsBusObserver& aObserver);
+	void ConstructL();
+
+private:
+
+	// from CActive
+	void RunL();
+	void DoCancel();
+	TInt RunError(TInt aError);
+
+private:
+
+	/** Data bus to subscribe to in order to receive
+	 notifications of gps-calculated positions.
+	 */
+	RLbsPositionUpdates			iGpsPositionBus;	
+
+	MLbsLocMonitorGpsBusObserver& iObserver;
+	};
+
+/**
+The Mixin observer interface for the location data bus object.
+
+@internalComponent
+@released
+*/
+class MLbsLocMonitorGpsBusObserver
+	{
+public:
+	virtual void GpsPositionAvailableL(const TPosition& aPosition) = 0;
+	};
+
 #endif // CLBSLOCMONITORGPSBUS_H
\ No newline at end of file
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitornetworkinfofinder.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitornetworkinfofinder.h	Fri May 28 18:01:03 2010 +0100
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORNETWORKINFOFINDER_H
-#define CLBSLOCMONITORNETWORKINFOFINDER_H
-
-#include <etelmm.h>
-#include "clbslocmonitorareainfofinder.h"
-#include "lbslogger.h"
-
-
-/**
-Class used to keep track of the current global cell id
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorNetworkInfoFinder: public CLbsLocMonitorAreaInfoFinder
-{
-
-public:
-	/** CLbsLocMonitorNetworkInfoFinder states.
-	*/
-	enum TLbsLocMonitorNetworkInfoFinderState
-		{
-		/** Not valid */
-		EStateNull = 0,
-		/** Waiting for Comms RootServer to be up and running */
-		EStateInitializing = 1,
-		/** Getting network info from ETEL with GetCurrentNetwork */
-		EStateGettingNetInfo = 2,
-		EStateNetInfoChangeMon = 3
-		};
-
-public:
-
-	~CLbsLocMonitorNetworkInfoFinder();
-	static CLbsLocMonitorNetworkInfoFinder* CLbsLocMonitorNetworkInfoFinder::NewL();
-	
-	void StartGettingNetworkInfoL();
-
-	
-	virtual TInt RunError(TInt aError);
-	virtual void RunL();
-	virtual void DoCancel();
-
-private:
-
-	CLbsLocMonitorNetworkInfoFinder();
-	void ConstructL();
-	void GetNetworkInfoL();
-	void InitialisePhoneL();
-	TBool ValidateNetInfo(TLbsLocMonitorAreaInfoGci& areaInfo);
-	void MonitorNetworkChange();
-	void GetCommDbTSYnameL(TDes& aTsyName);
-
-
-private:
-
-	RTelServer iTelServer;
-	RProperty iConfigurationProperty;
-
-	/** iNetPhone monitors changes to Network Info */
-	RMobilePhone iNetPhone;
-	RMobilePhone::TMobilePhoneNetworkInfoV1 iNetworkInfo;
-	RMobilePhone::TMobilePhoneNetworkInfoV1Pckg iNetworkInfoPckg;
-	RMobilePhone::TMobilePhoneLocationAreaV1 iLocArea;
-	
-	TLbsLocMonitorNetworkInfoFinderState iState;
-};
-
-#endif //CLBSLOCMONITORNETWORKINFOFINDER_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORNETWORKINFOFINDER_H
+#define CLBSLOCMONITORNETWORKINFOFINDER_H
+
+#include <etelmm.h>
+#include "clbslocmonitorareainfofinder.h"
+#include "LbsLogger.h"
+
+
+/**
+Class used to keep track of the current global cell id
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorNetworkInfoFinder: public CLbsLocMonitorAreaInfoFinder
+{
+
+public:
+	/** CLbsLocMonitorNetworkInfoFinder states.
+	*/
+	enum TLbsLocMonitorNetworkInfoFinderState
+		{
+		/** Not valid */
+		EStateNull = 0,
+		/** Waiting for Comms RootServer to be up and running */
+		EStateInitializing = 1,
+		/** Getting network info from ETEL with GetCurrentNetwork */
+		EStateGettingNetInfo = 2,
+		EStateNetInfoChangeMon = 3
+		};
+
+public:
+
+	~CLbsLocMonitorNetworkInfoFinder();
+	static CLbsLocMonitorNetworkInfoFinder* NewL();
+	
+	void StartGettingNetworkInfoL();
+
+	
+	virtual TInt RunError(TInt aError);
+	virtual void RunL();
+	virtual void DoCancel();
+
+private:
+
+	CLbsLocMonitorNetworkInfoFinder();
+	void ConstructL();
+	void GetNetworkInfoL();
+	void InitialisePhoneL();
+	TBool ValidateNetInfo(TLbsLocMonitorAreaInfoGci& areaInfo);
+	void MonitorNetworkChange();
+	void GetCommDbTSYnameL(TDes& aTsyName);
+
+
+private:
+
+	RTelServer iTelServer;
+	RProperty iConfigurationProperty;
+
+	/** iNetPhone monitors changes to Network Info */
+	RMobilePhone iNetPhone;
+	RMobilePhone::TMobilePhoneNetworkInfoV1 iNetworkInfo;
+	RMobilePhone::TMobilePhoneNetworkInfoV1Pckg iNetworkInfoPckg;
+	RMobilePhone::TMobilePhoneLocationAreaV1 iLocArea;
+	
+	TLbsLocMonitorNetworkInfoFinderState iState;
+};
+
+#endif //CLBSLOCMONITORNETWORKINFOFINDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorpluginresolver.h	Fri May 28 18:01:03 2010 +0100
@@ -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: Declaration of CLbsLocMonitorPluginResolver class
+*
+*/
+
+#ifndef CLBSLOCMONITORPLUGINRESOLVER_H_
+#define CLBSLOCMONITORPLUGINRESOLVER_H_
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+
+/**
+ * This class is responsible for choosing the default converter plugin based
+ * on vendorid and plugin priority.
+ * 
+ */
+class CLbsLocMonitorPluginResolver : public CActive
+    {
+public:
+    /**
+     * Constructs new object of CLbsLocMonitorPluginResolver.
+     */
+    static CLbsLocMonitorPluginResolver* NewL();
+    
+    /**
+     * Destructor. 
+     */
+    ~CLbsLocMonitorPluginResolver();
+    
+    /**
+     * Returns uid of default converter. 
+     * @param[out] aConverterPluginUid Default converter plugin id.
+     * @return KErrNotFound If none of converter plugin available.
+     */
+    TInt DefaultConverterUid(TUid& aConverterPluginUid); 
+    
+protected: // From CActive
+    void RunL();
+    void DoCancel();
+    
+
+private:
+    /**
+     * Default constructor. 
+     */
+    CLbsLocMonitorPluginResolver();
+    
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL();
+    
+    /**
+     * Finds default converter plugin
+     */
+    void FindDefaultConverterPluginL(); 
+    
+    /**
+     * 
+     */
+    TInt PriorityInfo(const TDesC8& aOpaqueData);
+private: // Member variables
+    
+    /**
+     * Pointer to ecom session 
+     */
+    REComSession* iEcomSession;
+    
+    /**
+     * Default converter plugin uid.
+     */
+    TUid iDefaultConverterPluginId;
+    };
+#endif /* CLBSLOCMONITORPLUGINRESOLVER_H_ */
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h	Fri May 28 18:01:03 2010 +0100
@@ -1,67 +1,67 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef LBSLOCMONITORPOSLISTENER_H
-#define LBSLOCMONITORPOSLISTENER_H
-
-#include <e32base.h>
-#include "lbsnetinternalapi.h"
-#include "clbslocmonitorgpsbus.h"
-class MLbsLocMonitorPosListenerObserver
-	{
-public:
-	virtual void PositionAvailable(const TPosition& aPosition) = 0;	
-	};
-
-/**
-A class that subscribes to all the sources of position
-information available within LBS (currently this is the
-gps  bus)
-
-@see CLbsLocMonitorServer
-@internalComponent
-@prototype
-*/
-class CLbsLocMonitorPosListener :	public MLbsLocMonitorGpsBusObserver
-	{
-	
-public:
-
-	static CLbsLocMonitorPosListener* NewL(MLbsLocMonitorPosListenerObserver& aObserver);
-	~CLbsLocMonitorPosListener();
-
-	// From MLbsLocMonitorGpsBusObserver
-	void GpsPositionAvailable(const TPosition& aPosition);
-private:
-
-	CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver);
-	void ConstructL();
-
-private:
-
-	//Bus used to broadcast position within LBS
-	CLbsLocMonitorGpsBus*			iGpsBus;
-private:
-
-	// Observer interested in knowing about newly arrived
-	// positions (the Location Monitor)
-	MLbsLocMonitorPosListenerObserver& iObserver;
-	
-	TPosition iLastGpsPosition;
-	};
-	
-	
-#endif //LBSLOCMONITORPOSLISTENER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef LBSLOCMONITORPOSLISTENER_H
+#define LBSLOCMONITORPOSLISTENER_H
+
+#include <e32base.h>
+#include "lbsnetinternalapi.h"
+#include "clbslocmonitorgpsbus.h"
+class MLbsLocMonitorPosListenerObserver
+	{
+public:
+	virtual void PositionAvailableL(const TPosition& aPosition) = 0;	
+	};
+
+/**
+A class that subscribes to all the sources of position
+information available within LBS (currently this is the
+gps  bus)
+
+@see CLbsLocMonitorServer
+@internalComponent
+@prototype
+*/
+class CLbsLocMonitorPosListener :	public MLbsLocMonitorGpsBusObserver
+	{
+	
+public:
+
+	static CLbsLocMonitorPosListener* NewL(MLbsLocMonitorPosListenerObserver& aObserver);
+	~CLbsLocMonitorPosListener();
+
+	// From MLbsLocMonitorGpsBusObserver
+	void GpsPositionAvailableL(const TPosition& aPosition);
+private:
+
+	CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver);
+	void ConstructL();
+
+private:
+
+	//Bus used to broadcast position within LBS
+	CLbsLocMonitorGpsBus*			iGpsBus;
+private:
+
+	// Observer interested in knowing about newly arrived
+	// positions (the Location Monitor)
+	MLbsLocMonitorPosListenerObserver& iObserver;
+	
+	TPosition iLastGpsPosition;
+	};
+	
+	
+#endif //LBSLOCMONITORPOSLISTENER_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorrequesthandler.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorrequesthandler.h	Fri May 28 18:01:03 2010 +0100
@@ -1,187 +1,187 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLbsLocMonitorRequestHandler_H
-#define CLbsLocMonitorRequestHandler_H
-
-#include "lbstimer.h"
-#include "tserverstartparams.h"
-#include "messageutils.h"
-#include "LbsInternalInterface.h"
-#include "lbslogger.h"
-#include "mlbslocmonitorareainfofinderobserver.h"
-#include "clbslocmonitorposlistener.h"
-#include "clbslocmonitorutils.h"
-#include "rlbslocmonitordb.h"
-#include "lbslocmonitorserverdata.h"
-
-/**
-This class accepts requests for retrieving positions from a database that had been
-previosly stored in association with current area information (e.g. global cell id).
-The requests are of two types: get the last know position and get the last known
-position with location area information.
-
-The requests originate in subsessions (clients) of the Location Monitor and are kept
-in a queue provided by this class.
-
-All of the queued requests of the same type are completed when a position is
-retrieved from the database.
-
-This class is an active object because the requests it sends to the database may be
-asynchronous.
-
-The class derives from MLbsLocMonitorAreaInfoFinderObserver so that it can be notified
-of current area information (e.g, global cell id) from any of the Location Monitor's
-area information "finder" objects (currently only one such object exits to collect
-global cell information).
-
-@internalComponent
-@released
-*/
-class CLbsLocMonitorRequestHandler : public CActive,
-									public MLbsLocMonitorAreaInfoFinderObserver,
-									public MLbsLocMonitorPosListenerObserver,
-									public MLbsCallbackTimerObserver
-	{
-
-	enum TAreaInfoType
-		{
-		EGlobalCellIdType = 0,
-		ELastAreaInfoType,	
-		};
-		
-	enum EDbOperationType
-		{
-		ELocMonDbOperationNone,
-		ELocMonDbSavePos,
-		ELocMonDbSaveLastPos,
-		ELocMonDbGetPosArea,
-		ELocMonDbGetLast,
-		};
-
-public:
-	
-	static CLbsLocMonitorRequestHandler* NewL();
-	~CLbsLocMonitorRequestHandler();
-	
-	//
-	// Methods called from server and server subsessions to save
-	// or retrieve positions from the database.
-	//
-
-	void PositionRequestL(const RMessage2& aMessage);
-
-	void CancelPositionRequestL(const RMessage2& aMessage);
-	
-	void StoreLastKnownPosition(const TPosition& aPosition);
-
-	/*
-	Called when a subsession is closed (its outstanding requests
-	have to be completed/destroyed)
-	*/
-	void ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId);
-	
-	/*
-	This method is called by sessions of the location monitor to delete
-	the database of positions.
-	*/
-	TInt DeleteDatabaseL();
-		
-	/*
-	Cancel a previous request to delete the database.
-	*/
-	void CancelDeleteDatabaseL(const RMessage2& aMessage);
-	
-	//
-	// Methods derived from MLbsLocMonitorAreaInfoFinderObserver
-	//
-	
-	/*
-	Method called to inform this class of an updated of area information
-	(e.g, new current global cell id)
-	*/
-	void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo);
-	
-	//
-	// Methods derived from MLbsLocMonitorPosListenerObserver
-	//
-	
-	/* Method called to request that a position is
-	stored in the database. This method is called
-	as a consequence of a new position being observed
-	on an internal position bus.
-	*/
-	void PositionAvailable(const TPosition& aPosition);
-	
-private:
-
-	CLbsLocMonitorRequestHandler();
-	void ConstructL();
-	
-	void ProcessNextRequest();
-	void CompleteClientRequest(TInt aIndex, TInt aCompletionCode);
-	TInt CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError);
-	void ClearRequestVariables();
-	TInt DbReadOperationToOpCode(EDbOperationType aDbOperationType);
-	void HandleDbAccessError(TInt aError);
-
-	// From MLbsCallbackTimerObserver
-	void OnTimerEventL(TInt aTimerId);
-	TInt OnTimerError(TInt aTimerId, TInt aError);
-
-	// Derived from CActive
-	void RunL();
-	TInt RunError(TInt aError);
-	void DoCancel();
-
-private:
-
-	//Interface to positions DB
-	RLbsLocMonitorDb iDb; 
-	
-	// Type of async DB operation in progress
-	EDbOperationType iOperationInProgress; 
-
-	//Requests from different clients.
-	RArray<RMessage2> iRequestQueue; 
-
-	// An array with current area info from different sources (one entry per source).
-	// Currently only one element in the array as only cell-information is used.
-	RPointerArray<TLbsLocMonitorAreaInfoBase>  iCurrentAreaInfo;
-	
-	TBool iAreaInfoAvailable;
-	
-	// A queue of positions waiting to be written to the database. 
-	RArray<TPosition> iPositionsQueue;
-
-	// Temporary store for the LKP communicated by the LS
-	TPosition iLastKnownPosition;
-	// Whether a last known position is available for storing.
-	TBool iLastKnownPositionAvailable;
-
-	// The following variables are data members so that no memory from the heap
-	// has to be allocated for them (keeping a static memory footprint)
-	TPosition iPosition; // Position read from the DB
-	TPositionAreaExtendedInfo iAreaMatchInfo; // Area Information read from the DB
-	TPositionInfo iPositionInfo; // Used to write position info back to client
-	TPosAreaReqParams iRequestParams; // Used to find out the type of client's area info
-	
-	CLbsCallbackTimer* iDbOperationTimer;	
-	};
-	
-#endif //CLbsLocMonitorRequestHandler_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLbsLocMonitorRequestHandler_H
+#define CLbsLocMonitorRequestHandler_H
+
+#include "lbstimer.h"
+#include "tserverstartparams.h"
+#include "messageutils.h"
+#include "LbsInternalInterface.h"
+#include "lbslogger.h"
+#include "mlbslocmonitorareainfofinderobserver.h"
+#include "clbslocmonitorposlistener.h"
+#include "clbslocmonitorutils.h"
+#include "rlbslocmonitordb.h"
+#include "lbslocmonitorserverdata.h"
+
+/**
+This class accepts requests for retrieving positions from a database that had been
+previosly stored in association with current area information (e.g. global cell id).
+The requests are of two types: get the last know position and get the last known
+position with location area information.
+
+The requests originate in subsessions (clients) of the Location Monitor and are kept
+in a queue provided by this class.
+
+All of the queued requests of the same type are completed when a position is
+retrieved from the database.
+
+This class is an active object because the requests it sends to the database may be
+asynchronous.
+
+The class derives from MLbsLocMonitorAreaInfoFinderObserver so that it can be notified
+of current area information (e.g, global cell id) from any of the Location Monitor's
+area information "finder" objects (currently only one such object exits to collect
+global cell information).
+
+@internalComponent
+@released
+*/
+class CLbsLocMonitorRequestHandler : public CActive,
+									public MLbsLocMonitorAreaInfoFinderObserver,
+									public MLbsLocMonitorPosListenerObserver,
+									public MLbsCallbackTimerObserver
+	{
+
+	enum TAreaInfoType
+		{
+		EGlobalCellIdType = 0,
+		ELastAreaInfoType,	
+		};
+		
+	enum EDbOperationType
+		{
+		ELocMonDbOperationNone,
+		ELocMonDbSavePos,
+		ELocMonDbSaveLastPos,
+		ELocMonDbGetPosArea,
+		ELocMonDbGetLast,
+		};
+
+public:
+	
+	static CLbsLocMonitorRequestHandler* NewL();
+	~CLbsLocMonitorRequestHandler();
+	
+	//
+	// Methods called from server and server subsessions to save
+	// or retrieve positions from the database.
+	//
+
+	void PositionRequestL(const RMessage2& aMessage);
+
+	void CancelPositionRequestL(const RMessage2& aMessage);
+	
+	void StoreLastKnownPosition(const TPosition& aPosition);
+
+	/*
+	Called when a subsession is closed (its outstanding requests
+	have to be completed/destroyed)
+	*/
+	void ClientTerminated(const CLbsLocMonitorUtils::sessionAndSubSessionId& aSubsessionId);
+	
+	/*
+	This method is called by sessions of the location monitor to delete
+	the database of positions.
+	*/
+	TInt DeleteDatabaseL();
+		
+	/*
+	Cancel a previous request to delete the database.
+	*/
+	void CancelDeleteDatabaseL(const RMessage2& aMessage);
+	
+	//
+	// Methods derived from MLbsLocMonitorAreaInfoFinderObserver
+	//
+	
+	/*
+	Method called to inform this class of an updated of area information
+	(e.g, new current global cell id)
+	*/
+	void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo);
+	
+	//
+	// Methods derived from MLbsLocMonitorPosListenerObserver
+	//
+	
+	/* Method called to request that a position is
+	stored in the database. This method is called
+	as a consequence of a new position being observed
+	on an internal position bus.
+	*/
+	void PositionAvailableL(const TPosition& aPosition);
+	
+private:
+
+	CLbsLocMonitorRequestHandler();
+	void ConstructL();
+	
+	void ProcessNextRequest();
+	void CompleteClientRequest(TInt aIndex, TInt aCompletionCode);
+	TInt CompleteSameTypeMessages(EDbOperationType aDbReadOperation, TInt aError);
+	void ClearRequestVariables();
+	TInt DbReadOperationToOpCode(EDbOperationType aDbOperationType);
+	void HandleDbAccessError(TInt aError);
+
+	// From MLbsCallbackTimerObserver
+	void OnTimerEventL(TInt aTimerId);
+	TInt OnTimerError(TInt aTimerId, TInt aError);
+
+	// Derived from CActive
+	void RunL();
+	TInt RunError(TInt aError);
+	void DoCancel();
+
+private:
+
+	//Interface to positions DB
+	RLbsLocMonitorDb iDb; 
+	
+	// Type of async DB operation in progress
+	EDbOperationType iOperationInProgress; 
+
+	//Requests from different clients.
+	RArray<RMessage2> iRequestQueue; 
+
+	// An array with current area info from different sources (one entry per source).
+	// Currently only one element in the array as only cell-information is used.
+	RPointerArray<TLbsLocMonitorAreaInfoBase>  iCurrentAreaInfo;
+	
+	TBool iAreaInfoAvailable;
+	
+	// A queue of positions waiting to be written to the database. 
+	RArray<TPosition> iPositionsQueue;
+
+	// Temporary store for the LKP communicated by the LS
+	TPosition iLastKnownPosition;
+	// Whether a last known position is available for storing.
+	TBool iLastKnownPositionAvailable;
+
+	// The following variables are data members so that no memory from the heap
+	// has to be allocated for them (keeping a static memory footprint)
+	TPosition iPosition; // Position read from the DB
+	TPositionAreaExtendedInfo iAreaMatchInfo; // Area Information read from the DB
+	TPositionInfo iPositionInfo; // Used to write position info back to client
+	TPosAreaReqParams iRequestParams; // Used to find out the type of client's area info
+	
+	CLbsCallbackTimer* iDbOperationTimer;	
+	};
+	
+#endif //CLbsLocMonitorRequestHandler_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,144 +1,160 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CLBSLOCMONITORSERVER_H
-#define CLBSLOCMONITORSERVER_H
-
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-#include "lbslogger.h"
-#include "clbslocmonitorrequesthandler.h"
-#include "clbslocmonitorareainfofinder.h"
-#include "clbslocmonitornetworkinfofinder.h"
-#include "clbslocmonitorposlistener.h"
-#include "lbsrootapi.h"
-#include "lbsprocesssupervisor.h"
-
-
-// forward classes
-//class CLbsLocMonitorPositonWriter;
-class CSession2;
-
-/**
-Observer class for Location Monitor Server
-
-@internalTechnology
-@released
-*/
-class MLocMonServerDestructObserver
-    {
-public:
-    //Pure virtual implemented by classes which inherit from MLocMonServerDestructObserver
-    virtual void LocMonServerDestructed() = 0;
-    };
-
-
-/**
-This class implements MCreateServerImpl.
-
-A class that defines a call to CreateServerLC
-is required by LBS' ServerFramwork. Its only purpose
-is to provide a means to launch the creation of the
-real server class (CLbsLocMonitorServer)
-
-@see MCreateServerImpl
-@see CLbsLocMonitorServer
-@internalComponent
-@released
-*/
-class CLbsLocMonitorCreator : public CBase, public MCreateServerImpl
-	{
-public:
-	virtual void CreateServerLC(TServerStartParams& aParams);	
-	};
-	
-/**
-This class defines the Location Monitor server.
-
-It derives from CSecureServerBase to make use of the functionality
-provided by LBS' ServerFramework for server, session and subsession 
-creation and destruction.
-
-It derives from MLbsEavesDropperObserver to receive positions
-observed by the CLbsEavesDropper on any of LBS' internal position buses.
-
-It derives from MLbsAreaInfoObserver to current receive area information
-from different sources (e.g. from CLbsCurrentCellInfoFinder)
-
-@see MCreateServerImpl
-@internalComponent
-@released
-*/
-class CLbsLocMonitorServer : public CSecureServerBase,
-							 public MLbsProcessCloseDown
-	{
-	
-	enum TAreaInfoFinder
-		{
-		ENetworkInfoFinder = 0
-		};
-	
-public:
-
-	CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy);
-	~CLbsLocMonitorServer();
-	void ConstructL(const TDesC& aServerName);
-
-	CSession2* DoNewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
-
-	TVersion GetServerVersion() const;
-
-	// Methods called by the server subsessions to gain access
-	// to database for writting and reading positions and area info.
-	CLbsLocMonitorRequestHandler& ReadRequestHandler() const;
-	
-	void SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver);
-	void UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver);
-	
-public: // From MLbsProcessCloseDown
-    void OnProcessCloseDown();	
-	
-protected:
-
-	// From CSecureServerBase (from CPolicyServer)
-	CPolicyServer::TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-	TBool FindRootProcess();
-	
-protected:
-
-	TVersion  iVersion;
-
-	// Sources of area information.
-	// Currently only one element in the array as only cell-information is sought.
-	RPointerArray<CLbsLocMonitorAreaInfoFinder>  iAreaInfoFinders;
-
-	CLbsLocMonitorPosListener*	iPosListener;
-	
-	CLbsLocMonitorRequestHandler* iRequestHandler;
-
-	CLbsCloseDownRequestDetector* iCloseDownRequestDetector;
-	
-	RPointerArray<MLocMonServerDestructObserver> iDestructionObservers;
-	};
-	
-#endif //CLBSLOCMONITORSERVER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef CLBSLOCMONITORSERVER_H
+#define CLBSLOCMONITORSERVER_H
+
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+#include "lbslogger.h"
+#include "clbslocmonitorrequesthandler.h"
+#include "clbslocmonitorareainfofinder.h"
+#include "clbslocmonitornetworkinfofinder.h"
+#include "clbslocmonitorposlistener.h"
+#include "lbsrootapi.h"
+#include "lbsprocesssupervisor.h"
+#include "mlbsconversioncompleteobserver.h"
+#include "clbslocmonitorconversionhandler.h"
+#include "clbslocmonitorpluginresolver.h"
+
+
+
+class CSession2;
+
+/**
+Observer class for Location Monitor Server
+
+@internalTechnology
+@released
+*/
+class MLocMonServerDestructObserver
+    {
+public:
+    //Pure virtual implemented by classes which inherit from MLocMonServerDestructObserver
+    virtual void LocMonServerDestructed() = 0;
+    };
+
+
+/**
+This class implements MCreateServerImpl.
+
+A class that defines a call to CreateServerLC
+is required by LBS' ServerFramwork. Its only purpose
+is to provide a means to launch the creation of the
+real server class (CLbsLocMonitorServer)
+
+@see MCreateServerImpl
+@see CLbsLocMonitorServer
+@internalComponent
+@released
+*/
+class CLbsLocMonitorCreator : public CBase, public MCreateServerImpl
+	{
+public:
+	virtual void CreateServerLC(TServerStartParams& aParams);	
+	};
+	
+/**
+This class defines the Location Monitor server.
+
+It derives from CSecureServerBase to make use of the functionality
+provided by LBS' ServerFramework for server, session and subsession 
+creation and destruction.
+
+It derives from MLbsEavesDropperObserver to receive positions
+observed by the CLbsEavesDropper on any of LBS' internal position buses.
+
+It derives from MLbsAreaInfoObserver to current receive area information
+from different sources (e.g. from CLbsCurrentCellInfoFinder)
+
+@see MCreateServerImpl
+@internalComponent
+@released
+*/
+class CLbsLocMonitorServer : public CSecureServerBase,
+							 public MLbsProcessCloseDown,
+							 public MLbsConversionCompleteObserver
+	{
+	
+	enum TAreaInfoFinder
+		{
+		ENetworkInfoFinder = 0
+		};
+	
+public:
+
+	CLbsLocMonitorServer(TInt aPriority, const CPolicyServer::TPolicy& aSecurityPolicy);
+	~CLbsLocMonitorServer();
+	void ConstructL(const TDesC& aServerName);
+
+	CSession2* DoNewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
+
+	TVersion GetServerVersion() const;
+
+	// Methods called by the server subsessions to gain access
+	// to database for writting and reading positions and area info.
+	CLbsLocMonitorRequestHandler& ReadRequestHandler() const;
+	
+	CLbsLocMonitorConversionHandler* ConversionHandlerL( TUid aConversionPluginId );
+	
+	CLbsLocMonitorConversionHandler* ConversionHandler( const RMessage2& aMessage );
+	
+	CLbsLocMonitorPluginResolver* PluginResolver();
+	
+	void SetLocMonServerDestructObserverL(const MLocMonServerDestructObserver& aDestructObserver);
+	void UnsetLocMonServerDestructObserver(const MLocMonServerDestructObserver& aDestructObserver);
+	
+public: // From MLbsProcessCloseDown
+    void OnProcessCloseDown();	
+    
+public: // From MLbsConversionCompleteObserver
+    void HandleConversionComplete( CLbsLocMonitorConversionHandler*
+                                   aConversionHandler );
+	
+protected:
+
+	// From CSecureServerBase (from CPolicyServer)
+	CPolicyServer::TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
+	TBool FindRootProcess();
+
+protected:
+
+	TVersion  iVersion;
+
+	// Sources of area information.
+	// Currently only one element in the array as only cell-information is sought.
+	RPointerArray<CLbsLocMonitorAreaInfoFinder>  iAreaInfoFinders;
+
+	CLbsLocMonitorPosListener*	iPosListener;
+	
+	CLbsLocMonitorRequestHandler* iRequestHandler;
+
+	CLbsCloseDownRequestDetector* iCloseDownRequestDetector;
+	
+	RPointerArray<CLbsLocMonitorConversionHandler> iConversionHandlerArray;
+	
+	CLbsLocMonitorPluginResolver* iPluginResolver;
+	RPointerArray<MLocMonServerDestructObserver> iDestructionObservers;
+	};
+	
+#endif //CLBSLOCMONITORSERVER_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorsession.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorsession.h	Fri May 28 18:01:03 2010 +0100
@@ -1,63 +1,62 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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
-@internalComponent
-@released
-*/
-
-#ifndef CLBSLOCMONITORSESSION_H
-#define CLBSLOCMONITORSESSION_H
-
-#include <e32property.h>
-//#include <e32base.h>
-#include "tserverstartparams.h"
-#include "csecureasbase.h"
-#include "csecureserverbase.h"
-#include "csecuresessionbase.h"
-#include "csecuresessionsubsessionbase.h"
-#include "csubsessionbase.h"
-#include "messageutils.h"
-
-/*
-Client side session of the Location Monitor server.
-
-It derives from the class CSecureSessionSubSessionBase (from Server Framework)
-which means that it is a session with support for subsessions (not a subsession).
-
-*/
-class CLbsLocMonitorSession : public CSecureSessionSubSessionBase
-	{
-
-public:
-
-	void CreateL();				   
-	void ServiceMessageL(const RMessage2& aMessage);
-	void ServiceMessageError(const RMessage2& aMessage, const TInt aError);
-
-private:
-
-	void HandleDatabaseWipeoutL(const RMessage2& aMessage);
-
-protected:
-	// property
-	TVersion iVersion;
-	};
-
-#endif //CLBSLOCMONITORSESSION_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#ifndef CLBSLOCMONITORSESSION_H
+#define CLBSLOCMONITORSESSION_H
+
+#include <e32property.h>
+#include "tserverstartparams.h"
+#include "csecureasbase.h"
+#include "csecureserverbase.h"
+#include "csecuresessionbase.h"
+#include "csecuresessionsubsessionbase.h"
+#include "csubsessionbase.h"
+#include "messageutils.h"
+
+/**
+Client side session of the Location Monitor server.
+
+It derives from the class CSecureSessionSubSessionBase (from Server Framework)
+which means that it is a session with support for subsessions (not a subsession).
+
+*/
+class CLbsLocMonitorSession : public CSecureSessionSubSessionBase
+	{
+
+public:
+
+	void CreateL();				   
+	void ServiceMessageL(const RMessage2& aMessage);
+	void ServiceMessageError(const RMessage2& aMessage, const TInt aError);
+
+private:
+
+	void HandleDatabaseWipeoutL(const RMessage2& aMessage);
+
+protected:
+	// property
+	TVersion iVersion;
+	};
+
+#endif //CLBSLOCMONITORSESSION_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorutils.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorutils.h	Fri May 28 18:01:03 2010 +0100
@@ -1,73 +1,73 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-	
-#include <e32base.h>
-#include "clbslocmonitorsession.h"
-
-/**
- @file
- @internalTechnology
-*/
-
-#ifndef CLBSLOCMONITORUTILS_H
-#define CLBSLOCMONITORUTILS_H
-
-
-/*
-This class is only used to give a scope to a collection of 
-static methods required by other classes in the Location 
-Monitor server
-*/
-class CLbsLocMonitorUtils
-	{
-	
-public:
-
-	/*
-	Struct with the information needed to uniquely
-	identify the client that sent an RMessage2.
-	*/
-	struct sessionAndSubSessionId
-		{
-		CLbsLocMonitorSession* iSessionPtr;
-		TInt iSubsessionId;
-		};
-public:
-
-	/*
-	Method to check whether an RMessage2 was sent by the client defined
-	by aClientId.
-	*/
-	static TBool MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage);
-
-	/*
-	Method to check whether the operation requested in aMessage is the same as the
-	operation requested in aOperationType (regardless of originating client)
-	*/
-	static TBool MatchOperation(const TInt* aOperationType, const RMessage2& aMessage);
-	
-	/*
-	Method to check whether the aRequestMessage is a request that is to be
-	terminated as a consequence of the cancel operation in aCancelMessage
-	(both must originate in the same client and have related opcodes)
-	*/
-	static TBool MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage);
-	};
-	
-
-#endif // CLBSLOCMONITORUTILS_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+	
+#include <e32base.h>
+#include "clbslocmonitorsession.h"
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#ifndef CLBSLOCMONITORUTILS_H
+#define CLBSLOCMONITORUTILS_H
+
+
+/*
+This class is only used to give a scope to a collection of 
+static methods required by other classes in the Location 
+Monitor server
+*/
+class CLbsLocMonitorUtils
+	{
+	
+public:
+
+	/*
+	Struct with the information needed to uniquely
+	identify the client that sent an RMessage2.
+	*/
+	struct sessionAndSubSessionId
+		{
+		CLbsLocMonitorSession* iSessionPtr;
+		TInt iSubsessionId;
+		};
+public:
+
+	/*
+	Method to check whether an RMessage2 was sent by the client defined
+	by aClientId.
+	*/
+	static TBool MatchClient(const sessionAndSubSessionId* aClientId, const RMessage2& aMessage);
+
+	/*
+	Method to check whether the operation requested in aMessage is the same as the
+	operation requested in aOperationType (regardless of originating client)
+	*/
+	static TBool MatchOperation(const TInt* aOperationType, const RMessage2& aMessage);
+	
+	/*
+	Method to check whether the aRequestMessage is a request that is to be
+	terminated as a consequence of the cancel operation in aCancelMessage
+	(both must originate in the same client and have related opcodes)
+	*/
+	static TBool MatchCancelAndRequest(const RMessage2& aCancelMessage, const RMessage2& aRequestMessage);
+	};
+	
+
+#endif // CLBSLOCMONITORUTILS_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorareainfodefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorareainfodefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,81 +1,81 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file
- @internalTechnology
-*/
-
-#ifndef LBSLOCMONITORAREAINFODEFS_H
-#define LBSLOCMONITORAREAINFODEFS_H
-
-#include <e32def.h>
-
-
-/**
-The base class for classes used to store area information
-
-@internalComponent
-@released
- */
-class TLbsLocMonitorAreaInfoBase
-	{
-public:
-	/**
-	TLbsLocMonitorAreaInfoBase derived classes class types
-
-	@publishedAll
-	@released
-	 */
-	enum TAreaInfoClassType
-		{
-		EAreaInfoInfoUnknownClass		= 0,
-		/** Global Cell Id */
-		EAreaGciClass					= 0x01,
-		};
-
-public:
-
-	TUint32 AreaInfoClassType() const;
-
-protected:
-
-	TLbsLocMonitorAreaInfoBase();
-
-protected:
-	/** The type of the derived class */
-	TUint32 iAreaInfoClassType;
-	};
-
-/*
-Global Cell Id (GCI)
-*/
-class TLbsLocMonitorAreaInfoGci: public TLbsLocMonitorAreaInfoBase
-{
-public:
-
-	TLbsLocMonitorAreaInfoGci();
-
-public:
-	TUint iMcc; 
-	TUint iMnc; 
-	TUint iLac; 
-	TUint iCid;
-};
-
-#endif // LBSLOCMONITORAREAINFODEFS_H
\ No newline at end of file
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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
+ @internalTechnology
+*/
+
+#ifndef LBSLOCMONITORAREAINFODEFS_H
+#define LBSLOCMONITORAREAINFODEFS_H
+
+#include <e32def.h>
+
+
+/**
+The base class for classes used to store area information
+
+@internalComponent
+@released
+ */
+class TLbsLocMonitorAreaInfoBase
+	{
+public:
+	/**
+	TLbsLocMonitorAreaInfoBase derived classes class types
+
+	@publishedAll
+	@released
+	 */
+	enum TAreaInfoClassType
+		{
+		EAreaInfoInfoUnknownClass		= 0,
+		/** Global Cell Id */
+		EAreaGciClass					= 0x01,
+		};
+
+public:
+
+	TUint32 AreaInfoClassType() const;
+
+protected:
+
+	TLbsLocMonitorAreaInfoBase();
+
+protected:
+	/** The type of the derived class */
+	TUint32 iAreaInfoClassType;
+	};
+
+/*
+Global Cell Id (GCI)
+*/
+class TLbsLocMonitorAreaInfoGci: public TLbsLocMonitorAreaInfoBase
+{
+public:
+
+	TLbsLocMonitorAreaInfoGci();
+
+public:
+	TUint iMcc; 
+	TUint iMnc; 
+	TUint iLac; 
+	TUint iCid;
+};
+
+#endif // LBSLOCMONITORAREAINFODEFS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorclientconsts.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBSLOCMONITORCLIENTCONSTS_H_
+#define LBSLOCMONITORCLIENTCONSTS_H_
+
+#include <lbs/lbslocationinfoconvertercommon.h>
+#include <e32cmn.h>
+
+/**
+ * Message parameters index in a message of RMessage2. The server has to use
+ * the parameter index defined below to write and read data into the IPC message.
+ */
+
+// This position in the IPC is used by the client library to receive 
+// buffer size.
+const TInt KParamBufferSize = 0;
+
+
+// This position in the IPC is used by the client library to send location
+// information.
+const TInt KParamLocationInfo = 1;
+
+// This position in the IPC is used by the client library to send client preferences.
+const TInt KParamClientPrefs = 2;
+
+// This position in the IPC is used by the server to send converted info
+const TInt KParamConvertedInfo = 0;
+
+/**
+ * This structure holds conversion prefs,location info mask and 
+ * the conversion module id.
+ */
+struct TLbsClientPrefs
+    {
+    TLbsConversionPrefs iConversionPrefs;
+    
+    TLbsConversionOutputInfoMask iRequestedInfo;
+    
+    TUid iConverterModuleId;
+    };
+
+#endif /*LBSLOCMONITORCLIENTCONSTS_H_*/
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitordbenginedefs.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitordbenginedefs.h	Fri May 28 18:01:03 2010 +0100
@@ -1,75 +1,84 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBS_LOCMONITORDBENGINEDEFS_H
-#define LBS_LOCMONITORDBENGINEDEFS_H
-
-const TInt KTempFlushSize = 50;
-const TInt KMaxDbSize = 1000;
-
-const TTimeIntervalMicroSeconds32 KInitialPeriod = 200000000;
-const TTimeIntervalMicroSeconds32 KFlushPeriod = 30000000;
-
-// Secure database name MUST contain UID of process that owns it 
-#ifndef LBS_LOCMONITORDB_TEST
-_LIT(KSecureLocMonDB, "[102869DF]lastknownlocarea.db");
-#else
-_LIT(KSecureLocMonDB, "[102869E2]lastknownlocarea.db");
-#endif
-
-_LIT(KCreateTable, "CREATE TABLE monitorstore (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
-_LIT(KCreateIndex4, "CREATE UNIQUE INDEX four_idx1 ON monitorstore(mcc,mnc,lac,cid);");
-_LIT(KCreateIndex3, "CREATE INDEX three_idx1 ON monitorstore(mcc,mnc,lac);");
-
-_LIT(KCreateTempTable, "CREATE TEMP TABLE monitorstore_temp (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
-_LIT(KCreateTempIndex4, "CREATE UNIQUE INDEX four_temp_idx1 ON monitorstore_temp(mcc,mnc,lac,cid);");
-
-_LIT(KUpsertRow, "INSERT OR REPLACE INTO monitorstore_temp (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
-_LIT(KUpsertRowActual, "INSERT OR REPLACE INTO monitorstore (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
-
-_LIT(KSelectRow4, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
-_LIT(KSelectRow3, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRow2, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRow1, "SELECT data FROM monitorstore WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectRowLatest, "SELECT data FROM monitorstore ORDER BY date DESC LIMIT 1;");
-
-_LIT(KSelectTempRow4, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
-_LIT(KSelectTempRow3, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRow2, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRow1, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
-_LIT(KSelectTempRowLatest, "SELECT data FROM monitorstore_temp ORDER BY date DESC LIMIT 1;");
-
-_LIT(KCount, "SELECT COUNT(*) FROM monitorstore;");
-_LIT(KPrune, "DELETE FROM monitorstore WHERE ROWID IN (SELECT rowid FROM monitorstore ORDER BY date LIMIT 100)");
-
-_LIT(KBegin, "BEGIN;");
-_LIT(KCommit, "COMMIT;");
-_LIT(KCopy, "INSERT OR REPLACE INTO monitorstore SELECT * FROM monitorstore_temp;");
-_LIT(KClear, "DELETE FROM monitorstore_temp;");
-
-_LIT(KMcc, ":mcc");
-_LIT(KMnc, ":mnc");
-_LIT(KLac, ":lac");
-_LIT(KCid, ":cid");
-_LIT(KData, ":data");
-_LIT(KStamp, ":timestamp");
-
-_LIT(KDataColumn, "data");
-_LIT(KCountColumn, "COUNT(*)");
-
-#endif
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBS_LOCMONITORDBENGINEDEFS_H
+#define LBS_LOCMONITORDBENGINEDEFS_H
+
+const TInt KTempFlushSize = 50;
+const TInt KMaxDbSize = 1000;
+
+const TTimeIntervalMicroSeconds32 KInitialPeriod = 200000000;
+const TTimeIntervalSeconds KFlushPeriod = 7200; // 2 Hours in seconds
+
+
+#if defined (LBS_LOCMONITORDB_TEST) && defined (__WINS__)  // Unit test emulator
+_LIT(KSecureLocMonDB, "C:\\lastknownlocarea.db");
+#elif defined (LBS_LOCMONITORDB_TEST) && !defined (__WINSCW__) // Unit test hw
+_LIT(KSecureLocMonDB, "E:\\lastknownlocarea.db");
+#else // production code
+_LIT(KSecureLocMonDB, "[102869DF]lastknownlocarea.db");
+#endif
+
+_LIT(KCreateTable, "CREATE TABLE monitorstore (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
+_LIT(KCreateLastPosTable, "CREATE TABLE lastpos (rowid INTEGER PRIMARY KEY ASC, date INTEGER, data TEXT);");
+
+_LIT(KCreateIndex4, "CREATE UNIQUE INDEX four_idx1 ON monitorstore(mcc,mnc,lac,cid);");
+_LIT(KCreateIndex3, "CREATE INDEX three_idx1 ON monitorstore(mcc,mnc,lac);");
+
+_LIT(KCreateTempTable, "CREATE TEMP TABLE monitorstore_temp (mcc INTEGER, mnc INTEGER, lac INTEGER, cid INTEGER, date INTEGER, data TEXT);");
+_LIT(KCreateLastPosTempTable, "CREATE TEMP TABLE lastpos_temp (date INTEGER, data TEXT);");
+_LIT(KCreateTempIndex4, "CREATE UNIQUE INDEX four_temp_idx1 ON monitorstore_temp(mcc,mnc,lac,cid);");
+
+_LIT(KUpsertRow, "INSERT OR REPLACE INTO monitorstore_temp (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
+_LIT(KUpsertLastPosRow, "INSERT OR REPLACE INTO lastpos_temp (rowid, date, data) VALUES (1, :timestamp, :data);");
+//_LIT(KUpsertRowActual, "INSERT OR REPLACE INTO monitorstore (mcc, mnc, lac, cid, date, data) VALUES (:mcc, :mnc, :lac, :cid, :timestamp, :data);");
+//_LIT(KUpsertLastPosRowActual, "INSERT OR REPLACE INTO lastpos (rowid, date, data) VALUES (1, :timestamp, :data);");
+
+_LIT(KSelectRow4, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
+_LIT(KSelectRow3, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRow2, "SELECT data FROM monitorstore WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRow1, "SELECT data FROM monitorstore WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectRowLatest, "SELECT data FROM lastpos ORDER BY date DESC LIMIT 1;");
+
+_LIT(KSelectTempRow4, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac AND cid = :cid;");
+_LIT(KSelectTempRow3, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc AND lac = :lac ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRow2, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc AND mnc = :mnc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRow1, "SELECT data FROM monitorstore_temp WHERE mcc = :mcc ORDER BY date DESC LIMIT 1;");
+_LIT(KSelectTempRowLatest, "SELECT data FROM lastpos_temp ORDER BY date DESC LIMIT 1;");
+
+_LIT(KCount, "SELECT COUNT(*) FROM monitorstore;");
+_LIT(KPrune, "DELETE FROM monitorstore WHERE ROWID IN (SELECT rowid FROM monitorstore ORDER BY date LIMIT 100)");
+
+_LIT(KBegin, "BEGIN;");
+_LIT(KCommit, "COMMIT;");
+_LIT(KCopy, "INSERT OR REPLACE INTO monitorstore SELECT * FROM monitorstore_temp;");
+_LIT(KLastPosCopy, "INSERT OR REPLACE INTO lastpos SELECT rowid, date, data FROM lastpos_temp limit 1;");
+_LIT(KClear, "DELETE FROM monitorstore_temp;");
+_LIT(KLastPosClear, "DELETE FROM lastpos_temp;");
+
+_LIT(KMcc, ":mcc");
+_LIT(KMnc, ":mnc");
+_LIT(KLac, ":lac");
+_LIT(KCid, ":cid");
+_LIT(KData, ":data");
+_LIT(KStamp, ":timestamp");
+
+_LIT(KDataColumn, "data");
+_LIT(KCountColumn, "COUNT(*)");
+
+#endif
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorserverdata.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/lbslocmonitorserverdata.h	Fri May 28 18:01:03 2010 +0100
@@ -1,115 +1,132 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
-@file
-@internalComponent
-@released
-*/
-
-#include "lbsmessageenums.h"
-
-#ifndef LBSLOCMONITORSERVERDATA_H
-#define LBSLOCMONITORSERVERDATA_H
-
-/**
- * Define the file and process name of the Location Monitor
- */
-_LIT(KLocMonitorExeName, "\\sys\\bin\\locationmonitor.exe");
-_LIT(KLocMonitorServerName, "locationmonitor.exe");
-
-/* Current version number of the Network Request Handler Server.
-*/
-const TInt8 KLbsLocMonitorMajorVersionNumber 	= 1;
-const TInt8 KLbsLocMonitorMinorVersionNumber 	= 0;
-const TInt16 KLbsLocMonitorBuildVersionNumber	= 0;
-
-
-// IDs for IPC messages for Location Monitor server sessions and subsessions
-// (these are in addition to the IDs used by the LBS Server Framework that 
-// are defined in lbsmessageenums.h)
-//
-// As the Location Monitor uses the Server Framework, the opcodes for its sessions
-// must be in the range [(ESecureSubSessionBaseClose + 1) - (ELastSessionMessageId-1)]
-// and opcodes for subsessions must be greater than ELastSessionMessageId 
-// (ELastSessionMessageId = KMaxInt32/2 = Decimal 16383 = 0x3FFFFFFF).
-// 
-enum ELbsLocMonitorMsgEnums
-	{
-	
-	// Start of IDs for IPC messages for sessions of the Location Monitor 
-	// 
-	ELocMonitorSessionFirstMsgId =		ESecureSubSessionBaseClose + 1,
-
-	EWipeOutDb =		ELocMonitorSessionFirstMsgId,
-	ECancelDbWipeOut =	ELocMonitorSessionFirstMsgId + 1,
-	
-	// Start of IDs for IPC messages for subsessions of the Location Monitor
-	// of the type RLbsLocMonitorAreaPositioner.
-	//
-	// Any new RLbsLocMonitorAreaPositioner message IDs should be added between 
-	// EAreaPositionerFirstMsgId and 
-	// EAreaPositionerLastMsgId.
-	EAreaPositionerFirstMsgId =			ELastSessionMessageId + 1,
-	
-	ESetLastKnownPosition = 			EAreaPositionerFirstMsgId,
-	EGetLastKnownPosition =			 	EAreaPositionerFirstMsgId + 1,
-	EGetLastKnownPositionArea =		 	EAreaPositionerFirstMsgId + 2,
-	ECancelGetLastKnownPosition =	 	EAreaPositionerFirstMsgId + 3,
-	ECancelGetLastKnownPositionArea =	EAreaPositionerFirstMsgId + 4,
-
-	// Add here any new message IDs for subsession type AreaPositioner
-	EAreaPositionerLastMessageId,
-
-	// Add below message IDs for new subsession types
-	};
-
-/* Enum that defines the types of subsession
-   supported by the Location Monitor.
-   
-   One of these is passed in as the first
-   RMessage2 argument when creating a sub-session.
-*/
-enum TLbsLocMonitorSubSessionType
-	{
-	ELocMonitorSubSessionTypeUnknown = 0,
-	ELocMonitorSubSessionTypeAreaPositioner,
-	};
-
-/* Initialisation data sent to the Location Monitor server
-   when creating a new Area Positioner subsession.
-*/
-class TLbsLocMonitorAreaPositionerData
-	{
-public:
-	TInt aUnused; /* Reserved for future use */
-	};
-
-/*
-	Parameters sent from client to server in a 
-	GetLastKnownPositionArea request
-*/
-class TPosAreaReqParams
-	{
-public:
-	TUint32 iPositionAreaType;
-	};	
-	
-
-#endif // LBSLOCMONITORSERVERDATA_H
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#include "lbsmessageenums.h"
+
+#ifndef LBSLOCMONITORSERVERDATA_H
+#define LBSLOCMONITORSERVERDATA_H
+
+/**
+ * Define the file and process name of the Location Monitor
+ */
+_LIT(KLocMonitorExeName, "\\sys\\bin\\locationmonitor.exe");
+_LIT(KLocMonitorServerName, "locationmonitor.exe");
+
+/* Current version number of the Network Request Handler Server.
+*/
+const TInt8 KLbsLocMonitorMajorVersionNumber 	= 1;
+const TInt8 KLbsLocMonitorMinorVersionNumber 	= 0;
+const TInt16 KLbsLocMonitorBuildVersionNumber	= 0;
+
+
+// IDs for IPC messages for Location Monitor server sessions and subsessions
+// (these are in addition to the IDs used by the LBS Server Framework that 
+// are defined in lbsmessageenums.h)
+//
+// As the Location Monitor uses the Server Framework, the opcodes for its sessions
+// must be in the range [(ESecureSubSessionBaseClose + 1) - (ELastSessionMessageId-1)]
+// and opcodes for subsessions must be greater than ELastSessionMessageId 
+// (ELastSessionMessageId = KMaxInt32/2 = Decimal 16383 = 0x3FFFFFFF).
+// 
+enum ELbsLocMonitorMsgEnums
+	{
+	
+	// Start of IDs for IPC messages for sessions of the Location Monitor 
+	// 
+	ELocMonitorSessionFirstMsgId =		ESecureSubSessionBaseClose + 1,
+
+	EWipeOutDb =		ELocMonitorSessionFirstMsgId,
+	ECancelDbWipeOut =	ELocMonitorSessionFirstMsgId + 1,
+	
+	// Start of IDs for IPC messages for subsessions of the Location Monitor
+	// of the type RLbsLocMonitorAreaPositioner.
+	//
+	// Any new RLbsLocMonitorAreaPositioner message IDs should be added between 
+	// EAreaPositionerFirstMsgId and 
+	// EAreaPositionerLastMsgId.
+	EAreaPositionerFirstMsgId =			ELastSessionMessageId + 1,
+	
+	ESetLastKnownPosition = 			EAreaPositionerFirstMsgId,
+	EGetLastKnownPosition =			 	EAreaPositionerFirstMsgId + 1,
+	EGetLastKnownPositionArea =		 	EAreaPositionerFirstMsgId + 2,
+	ECancelGetLastKnownPosition =	 	EAreaPositionerFirstMsgId + 3,
+	ECancelGetLastKnownPositionArea =	EAreaPositionerFirstMsgId + 4,
+	
+	EConvertSingleLocationInfoBufferSize = EAreaPositionerFirstMsgId + 5,
+    EGetSingleLocationInfo = EAreaPositionerFirstMsgId + 6,
+    EConvertMultipleLocationInfoBufferSize = EAreaPositionerFirstMsgId + 7,
+    EGetMultipleLocationInfo = EAreaPositionerFirstMsgId + 8,
+    ECancelConvertLocationInfo = EAreaPositionerFirstMsgId + 9,
+	
+	// Add here any new message IDs for subsession type AreaPositioner
+	EAreaPositionerLastMessageId,
+
+	// Add below message IDs for new subsession types
+	};
+
+/* Enum that defines the types of subsession
+   supported by the Location Monitor.
+   
+   One of these is passed in as the first
+   RMessage2 argument when creating a sub-session.
+*/
+enum TLbsLocMonitorSubSessionType
+	{
+	ELocMonitorSubSessionTypeUnknown = 0,
+	ELocMonitorSubSessionTypeAreaPositioner,
+	ELocMonitorSubSessionTypeConversionPositiner,
+	ELocMonitorSubSessionTypeLocInfoConverter,
+	};
+
+/* Initialisation data sent to the Location Monitor server
+   when creating a new Area Positioner subsession.
+*/
+class TLbsLocMonitorAreaPositionerData
+	{
+public:
+	TInt iUnused; /* Reserved for future use */
+	};
+
+/* Initialisation data sent to the Location Monitor server
+   when creating a new conversion Positioner subsession.
+*/
+class TLbsLocMonitorConversionPositionerData
+    {
+public:
+    TInt iUnused; /* Reserved for future use */
+    };
+
+/*
+	Parameters sent from client to server in a 
+	GetLastKnownPositionArea request
+*/
+class TPosAreaReqParams
+	{
+public:
+	TUint32 iPositionAreaType;
+	};	
+	
+
+#endif // LBSLOCMONITORSERVERDATA_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/locmonitorsettingskeys.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 cenrep keys of location monitor
+*
+*/
+
+
+#ifndef LOCMONITORSETTINGSKEYS_H
+#define LOCMONITORSETTINGSKEYS_H
+
+// CONSTANTS
+
+// ENUMERATION FOR CENTRAL REPOSITORY KEYS
+enum TCenRepKeys
+	{
+	EPhoneVendorId = 0x00000001,
+	};
+
+// CENTRAL REPOSITORY UID
+const TUid KCRUidLocMonitorSettings = {0x20026814};
+
+
+#endif // LOCMONITORSETTINGSKEYS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/mlbsconversioncompleteobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef MLBSCONVERSIONCOMPLETEOBSERVER_H_
+#define MLBSCONVERSIONCOMPLETEOBSERVER_H_
+
+// Forward declarations
+class CLbsLocMonitorConversionHandler;
+
+/**
+ * Class that needs to implement this interface to listen
+ * to conversion complete event from the handler.
+ *
+ */
+class MLbsConversionCompleteObserver 
+    {
+public:
+    virtual void HandleConversionComplete( CLbsLocMonitorConversionHandler*
+                                           aConversionHandler ) = 0;
+    };
+
+
+#endif /*MLBSCONVERSIONCOMPLETEOBSERVER_H_*/
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/mlbslocmonitorareainfofinderobserver.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/mlbslocmonitorareainfofinderobserver.h	Fri May 28 18:01:03 2010 +0100
@@ -1,45 +1,45 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
-#define MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
-
-#include "tserverstartparams.h"
-#include "LbsInternalInterface.h"
-#include "lbslogger.h"
-#include "lbslocmonitorareainfodefs.h"
-
-
-/**
-Mix-in class that all observers of a CLbsLocMonitorAreaInfoFinder
-objects will derive from in order to obtain updates on area information
-(e.g, global cell id)
-
-@internalComponent
-@released
-*/
-class MLbsLocMonitorAreaInfoFinderObserver
-	{
-	
-public:
-
-	virtual void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo) = 0;
-
-	};
-	
-#endif //MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+#define MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
+
+#include "tserverstartparams.h"
+#include "LbsInternalInterface.h"
+#include "lbslogger.h"
+#include "lbslocmonitorareainfodefs.h"
+
+
+/**
+Mix-in class that all observers of a CLbsLocMonitorAreaInfoFinder
+objects will derive from in order to obtain updates on area information
+(e.g, global cell id)
+
+@internalComponent
+@released
+*/
+class MLbsLocMonitorAreaInfoFinderObserver
+	{
+	
+public:
+
+	virtual void AreaInfoUpdate(const TLbsLocMonitorAreaInfoBase& aAreaInfo) = 0;
+
+	};
+	
+#endif //MLBSLOCMONITORAREAINFOFINDEROBSERVER_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/rlbslocmonitordb.h	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/rlbslocmonitordb.h	Fri May 28 18:01:03 2010 +0100
@@ -1,114 +1,114 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef LBSLOCMONITORDB_H
-#define LBSLOCMONITORDB_H
-
-
-//-------------------------------------------------------------------------------
-#include <e32base.h>
-#include <LbsPositionInfo.h> 
-#include <LbsCommon.h>
-#include <lbsareainfo.h>
-#include <e32property.h>
-#include "lbslocmonitorareainfodefs.h"
-#include "../../../../locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuitedefs.h"
-
-class CTestCommandListener;
-//-------------------------------------------------------------------------------
-
-
-class RLbsLocMonitorDb
-	{
-
-public: // Real interface methods
-		
-	IMPORT_C RLbsLocMonitorDb();
-	IMPORT_C ~RLbsLocMonitorDb();
-	IMPORT_C void OpenL();
-	IMPORT_C void Close();
-	IMPORT_C TInt SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TRequestStatus& aStatus);
-	IMPORT_C TInt GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus);
-	IMPORT_C TInt CancelSavePosition();
-	IMPORT_C TInt CancelGetPosition();
-	IMPORT_C TInt GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus);
-	IMPORT_C TInt CancelGetLastStoredPosition();
-	IMPORT_C TInt ClearDatabase();
-	
-public: // For Loc Monitor UNIT test only
-
-    static TInt StopWaiting(TAny*);
-    void ShortDelayNextRequest();
-    void LongDelayNextRequest();
-    void FailNextRequest();
-    void KillProcess();
-	
-private:// For Loc Monitor UNIT test only
-
-    void DoStopWaiting();
-
-private:// For Loc Monitor UNIT test only
-
-	TUint iCallCount; // for testcase that call DB methods multiple times
-
-	// Required for testcases that need to delay the completion of an
-	// asynchronous request.
-	CTestCommandListener* iTestCommandListener;
-	TBool iShortDelayNextRequest; // the test request this via P&S
-	TBool iLongDelayNextRequest;
-	TBool iFailNextRequest;
-	CPeriodic* iTimer; 
-
-	// Client request data that needs to be remembered when	the request
-	// is put on hold (when iDelayNextRequest is true).
-	TPosition* iClientPosition;
-	TLbsLocMonitorAreaInfoGci* iClientAreaInfo;
-	TPositionAreaExtendedInfo* iClientMatchAreaInfo;
-	TRequestStatus* iClientStatus;
-		
-	};
-
-
-// This AO just waits for a delay to be published
-// by the test in a P&S Property. If that happens,
-// this object will inform the owning RLbsLocMonitorDb.
-class CTestCommandListener : public CActive
-{
-public:
-
-	static CTestCommandListener* NewL(RLbsLocMonitorDb& aDbInterface);
-	~CTestCommandListener();
-
-private:
-
-	CTestCommandListener(RLbsLocMonitorDb& aDbInterface);
-	void ConstructL();
-	
-	// From CActive
-	void RunL();
-	void DoCancel();
-	TInt RunError(TInt aError);
-	
-private:
-
-	RProperty iDelayProperty;
-	RLbsLocMonitorDb& iDbInterface;
-};
-
-
-#endif //LBLOCATIONMONITORDATABASE_H
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef LBSLOCMONITORDB_H
+#define LBSLOCMONITORDB_H
+
+
+//-------------------------------------------------------------------------------
+#include <e32base.h>
+#include <LbsPositionInfo.h> 
+#include <LbsCommon.h>
+#include <lbsareainfo.h>
+#include <e32property.h>
+#include "lbslocmonitorareainfodefs.h"
+#include "../../../../locmonitor/test/te_locmonitorsuite/inc/te_locmonitorsuitedefs.h"
+
+class CTestCommandListener;
+//-------------------------------------------------------------------------------
+
+
+class RLbsLocMonitorDb
+	{
+
+public: // Real interface methods
+		
+	IMPORT_C RLbsLocMonitorDb();
+	IMPORT_C ~RLbsLocMonitorDb();
+	IMPORT_C void OpenL();
+	IMPORT_C void Close();
+	IMPORT_C TInt SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TBool aUserPosition, TRequestStatus& aStatus);
+	IMPORT_C TInt GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& aAreaInfo, TPositionAreaExtendedInfo& aMatchingAreaInfo,TRequestStatus& aStatus);
+	IMPORT_C TInt CancelSavePosition();
+	IMPORT_C TInt CancelGetPosition();
+	IMPORT_C TInt GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus);
+	IMPORT_C TInt CancelGetLastStoredPosition();
+	IMPORT_C TInt ClearDatabase();
+	
+public: // For Loc Monitor UNIT test only
+
+    static TInt StopWaiting(TAny*);
+    void ShortDelayNextRequest();
+    void LongDelayNextRequest();
+    void FailNextRequest();
+    void KillProcess();
+	
+private:// For Loc Monitor UNIT test only
+
+    void DoStopWaiting();
+
+private:// For Loc Monitor UNIT test only
+
+	TUint iCallCount; // for testcase that call DB methods multiple times
+
+	// Required for testcases that need to delay the completion of an
+	// asynchronous request.
+	CTestCommandListener* iTestCommandListener;
+	TBool iShortDelayNextRequest; // the test request this via P&S
+	TBool iLongDelayNextRequest;
+	TBool iFailNextRequest;
+	CPeriodic* iTimer; 
+
+	// Client request data that needs to be remembered when	the request
+	// is put on hold (when iDelayNextRequest is true).
+	TPosition* iClientPosition;
+	TLbsLocMonitorAreaInfoGci* iClientAreaInfo;
+	TPositionAreaExtendedInfo* iClientMatchAreaInfo;
+	TRequestStatus* iClientStatus;
+		
+	};
+
+
+// This AO just waits for a delay to be published
+// by the test in a P&S Property. If that happens,
+// this object will inform the owning RLbsLocMonitorDb.
+class CTestCommandListener : public CActive
+{
+public:
+
+	static CTestCommandListener* NewL(RLbsLocMonitorDb& aDbInterface);
+	~CTestCommandListener();
+
+private:
+
+	CTestCommandListener(RLbsLocMonitorDb& aDbInterface);
+	void ConstructL();
+	
+	// From CActive
+	void RunL();
+	void DoCancel();
+	TInt RunError(TInt aError);
+	
+private:
+
+	RProperty iDelayProperty;
+	RLbsLocMonitorDb& iDbInterface;
+};
+
+
+#endif //LBLOCATIONMONITORDATABASE_H
--- a/locationmgmt/locmonitor/test/testlocationmonitor/src/testrlbslocmonitordb.cpp	Fri Apr 09 17:19:12 2010 +0100
+++ b/locationmgmt/locmonitor/test/testlocationmonitor/src/testrlbslocmonitordb.cpp	Fri May 28 18:01:03 2010 +0100
@@ -1,425 +1,425 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-#include "clbslocmonitordbengine.h"
-#include "lbsdevloggermacros.h"
-#include "lbsposition.h"
-
-#include "../inc/rlbslocmonitordb.h"
-
-/** Default constructor 
-@released*/
-RLbsLocMonitorDb::RLbsLocMonitorDb()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::RLbsLocMonitorDb()");
-	iShortDelayNextRequest = EFalse;
-	iLongDelayNextRequest = EFalse; 
-	iFailNextRequest = EFalse;
-	iCallCount = 0;
-	iTestCommandListener = NULL;
-	iTimer = NULL; 
-	iClientPosition = NULL;
-	iClientAreaInfo = NULL;
-	iClientMatchAreaInfo = NULL;
-	iClientStatus = NULL;
-	}
-
-/** Default destructor */
-RLbsLocMonitorDb::~RLbsLocMonitorDb()
-	{
-	LBSLOG(ELogP9, "->S RLbsLocMonitorDb::~RLbsLocMonitorDb() \n");
-	}
-
-void RLbsLocMonitorDb::OpenL()
-	{
-	//This shouldn't be called more than once
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::Open()");
-	iTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-	
-	// Properties for communications with the test
-	static _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy);
-	User::LeaveIfError(RProperty::Define(EUnitLocMonDbDelay,RProperty::EInt,KAllowAllPolicy,KAllowAllPolicy));
-	User::LeaveIfError(RProperty::Define(EUnitLocMonDbFeedback,RProperty::ELargeByteArray,KAllowAllPolicy,KAllowAllPolicy));
-	
-	iTestCommandListener = CTestCommandListener::NewL(*this);
-	}
-
-void RLbsLocMonitorDb::Close()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::Close()");
-	iCallCount = 0;
-	delete iTimer;
-	delete iTestCommandListener;
-	__ASSERT_ALWAYS(KErrNone == RProperty::Delete(EUnitLocMonDbDelay), User::Invariant());//failed to delete property?
-    __ASSERT_ALWAYS(KErrNone == RProperty::Delete(EUnitLocMonDbFeedback), User::Invariant());//failed to delete property?	
-	}
-
-/*
- This method publishes to a P&S property the aPosition and the first item in aAreaInfo 
- array for the test to validate.
- 
- In some testcases, the completion of the client request is delayed (this allowed the build up of requests
- in the Location Monitor or waiting for cancel requests).
-*/
-TInt RLbsLocMonitorDb::SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& /*aAreaInfo*/, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::SavePosition()");
-	
-	TInt completionCode = KErrNone;
-	aStatus = KRequestPending;
-	iCallCount ++;
-	
-	if (iFailNextRequest)
-		{
-		completionCode = KErrNotFound;
-		iFailNextRequest = EFalse;
-		}
-	else
-		{
-		TDbFeedback feedbackItem;
-		feedbackItem.iPosition = aPosition;
-		TPtr8 ptr(reinterpret_cast<TUint8*>(&feedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
-			
-		RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);
-		}
-	TRequestStatus* status = &aStatus;
-	User::RequestComplete(status, completionCode);
-	return KErrNone;	
-	}
-
-/*
-This method returns a position and area info to the client.
-*/
-TInt RLbsLocMonitorDb::GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& /*aAreaInfo*/, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
-	TInt completionCode = KErrNone;
-	aStatus = KRequestPending;
-	iCallCount ++;
-	
-	if (iFailNextRequest)
-		{
-		completionCode = KErrNotFound;
-		iFailNextRequest = EFalse;	
-		}
-	else if(iShortDelayNextRequest || iLongDelayNextRequest)
-		{
-		// Remember client request's return params and
-		// force a delay.
-		iClientPosition = &aPosition;
-		iClientMatchAreaInfo = &aMatchingAreaInfo;
-		iClientStatus = &aStatus;
-		if (!iTimer->IsActive())
-			{
-			TInt delayInMicroSecs = iLongDelayNextRequest?15000000:1000000; // 1 or 15 seconds
-			iTimer->Start(delayInMicroSecs, delayInMicroSecs, TCallBack(StopWaiting, this));	
-			}
-		else
-			{
-			// A delay has already been applied. Nothing to do.
-			}
-		
-		iShortDelayNextRequest = EFalse;
-		iLongDelayNextRequest = EFalse;
-		
-		return KErrNone;	
-		}
-	else
-		{
-		switch (iCallCount)
-			{
-			case 1:
-			// Set a position as if it came from the DB
-			aPosition.SetCoordinate(KLatGetPos1, KLongGetPos1);
-			
-			// Set a match level as if it was found in the DB
-			aMatchingAreaInfo.SetArea(TPositionAreaInfo::EAreaCity);
-			aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-			aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
-			aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
-			aMatchingAreaInfo.SetCellIdMatch(ETrue);	
-			break;
-
-			// Return different values for second and later requests
-			// that occurred in the same test.
-			default:
-			aPosition.SetCoordinate(KLatGetPos2, KLongGetPos2);
-			// Set a match level as if it was found in the DB
-			aMatchingAreaInfo.SetArea(TPositionAreaInfo::EAreaCountry);
-			aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
-			aMatchingAreaInfo.SetMobileNetworkCodeMatch(EFalse);
-			aMatchingAreaInfo.SetLocationAreaCodeMatch(EFalse);
-			aMatchingAreaInfo.SetCellIdMatch(EFalse);
-			break;
-			}
-		}
-	TRequestStatus* status = &aStatus;
-	User::RequestComplete(status, completionCode);
-	return KErrNone;
-	}
-
-
-TInt RLbsLocMonitorDb::CancelGetPosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
-	User::RequestComplete(iClientStatus, KErrCancel);
-	iTimer->Cancel();
-	return KErrNone;
-	}
-
-/*
-This method returns a position to the client. In some testcases, the completion of the 
-asynchronous request may be delayed.
-*/
-TInt RLbsLocMonitorDb::GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus)
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetLastStoredPosition()");
-
-	TInt completionCode = KErrNone;
-	aStatus = KRequestPending;
-	iCallCount ++;
-	
-	if (iFailNextRequest)
-		{
-		completionCode = KErrNotFound;
-		iFailNextRequest = EFalse;	
-		}
-	else if(iShortDelayNextRequest || iLongDelayNextRequest)
-		{
-		// Remember client request's return parms and
-		// force a delay.
-		iClientPosition = &aPosition;
-		iClientStatus = &aStatus;
-		if (!iTimer->IsActive())
-			{
-			TInt delayInMicroSecs = iLongDelayNextRequest?15000000:1000000; // 15 or 1 second
-			iTimer->Start(delayInMicroSecs, delayInMicroSecs, TCallBack(StopWaiting, this));	
-			}
-		else
-			{
-			// A delay has already been applied. Nothing to do.
-			}
-			
-		iShortDelayNextRequest = EFalse;
-		iLongDelayNextRequest = EFalse;
-		return KErrNone;	
-		}
-	else
-		{
-		switch (iCallCount)
-			{
-			case 1:
-			// Set a position as if it came from the DB
-			aPosition.SetCoordinate(KLatGetLast1, KLongGetLast1);
-			break;
-
-			// Return different values for second and later requests
-			// that occurred in the same test.
-			default:
-			aPosition.SetCoordinate(KLatGetLast2, KLongGetLast2);
-			break;
-			}
-		}
-	TRequestStatus* status = &aStatus;
-	User::RequestComplete(status, completionCode);
-	return KErrNone;
-	}
-
-
-// Called by the timer when the delay finishes
-TInt RLbsLocMonitorDb::StopWaiting(TAny* aPtr)
-	{
-	//Need to call DoStopWaiting on real object (this method is static)
-	RLbsLocMonitorDb* thisInstance = static_cast<RLbsLocMonitorDb*>(aPtr);
-	if (thisInstance)
-		{
-		thisInstance->DoStopWaiting();
-		}
-	return KErrNone;
-	}
-
-
-void RLbsLocMonitorDb::DoStopWaiting()
-	{
-	if (*iClientStatus == KRequestPending)
-		{
-		// Set a position as if it came from a DB (set predetermined coordinates
-		// for first request call since the test only applies a delay to the first
-		// request it injects).
-		iClientPosition->SetCoordinate(KLatGetPos1, KLongGetPos1);
-		
-		// All the tests request a delay of a call to GetLastKnownPositionArea
-		// so iClientMatchAreaInfo should be available
-		if (iClientMatchAreaInfo)
-			{
-			// Set a match level as if it was found in the DB
-			iClientMatchAreaInfo->SetArea(TPositionAreaInfo::EAreaCity);
-			iClientMatchAreaInfo->SetMobileCountryCodeMatch(ETrue);
-			iClientMatchAreaInfo->SetMobileNetworkCodeMatch(ETrue);
-			iClientMatchAreaInfo->SetLocationAreaCodeMatch(ETrue);
-			iClientMatchAreaInfo->SetCellIdMatch(ETrue);	
-			}
-
-		iTimer->Cancel();
-		User::RequestComplete(iClientStatus, KErrNone);
-		}
-	}
-
-TInt RLbsLocMonitorDb::CancelGetLastStoredPosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetLastStoredPosition()");
-	User::RequestComplete(iClientStatus, KErrCancel);
-	iTimer->Cancel();
-	return KErrNone;
-	}
-
-TInt RLbsLocMonitorDb::CancelSavePosition()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelSavePosition()");
-	return KErrNone;
-	}
-
-TInt RLbsLocMonitorDb::ClearDatabase()
-	{
-	LBSLOG(ELogP1, "RLbsLocMonitorDb::ClearDatabase()");
-	TDbFeedback feedbackItem;
-	TPtr8 ptr(reinterpret_cast<TUint8*>(&feedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
-
-	feedbackItem.iDbDeleted = ETrue;
-
-	iCallCount++;
-	
-	RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);
-	return KErrNone;
-	}
-
-void RLbsLocMonitorDb::ShortDelayNextRequest()
-	{
-	iShortDelayNextRequest = ETrue;		
-	}
-void RLbsLocMonitorDb::LongDelayNextRequest()
-	{
-	iLongDelayNextRequest = ETrue;		
-	}
-void RLbsLocMonitorDb::FailNextRequest()
-	{
-	iFailNextRequest = ETrue;		
-	}
-
-// Called at the start of a test to reset 'state variables'
-// that may have been altered by a previous test
-void RLbsLocMonitorDb::KillProcess()
-	{
-	iCallCount = 0;		
-	}
-
-/*******************************************************************************
- CTestCommandListener
-********************************************************************************/
-
-CTestCommandListener::CTestCommandListener(RLbsLocMonitorDb& aDbInterface):
-						CActive(EPriorityStandard),
-						iDbInterface (aDbInterface)
-	{
-	CActiveScheduler::Add(this);
-	
-	}
-
-CTestCommandListener* CTestCommandListener::NewL(RLbsLocMonitorDb& aDbInterface)
-	{
-	CTestCommandListener* self = new(ELeave) CTestCommandListener(aDbInterface);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-void CTestCommandListener::ConstructL()
-	{
-	User::LeaveIfError(iDelayProperty.Attach(KTestLocMonUid,EUnitLocMonDbDelay,EOwnerThread));
-	iDelayProperty.Subscribe(iStatus);
-	SetActive();
-	}
-	
-CTestCommandListener::~CTestCommandListener()
-	{
-	Cancel();
-	iDelayProperty.Close();
-	}
-
-void CTestCommandListener::RunL()
-	{
-	if (KErrNone == iStatus.Int())
-		{
-		TInt command;
-		iDelayProperty.Subscribe(iStatus);
-		SetActive();
-		
-		iDelayProperty.Get(command);
-
-		switch (command)
-			{
-			case EDbSetupShortDelay:
-				// Inform the DB that a short delay is required
-				iDbInterface.ShortDelayNextRequest();
-			break;
-			
-			case EDbSetupLongDelay:
-				// Inform the DB that a short delay is required
-				iDbInterface.LongDelayNextRequest();
-			break;
-			
-			case EDbSetupFail:
-				// Inform the DB that a it must fail the next request
-				iDbInterface.FailNextRequest();
-			break;
-			
-			case EDbKillProcess:
-				// Inform the DB that a new test is starting
-				iDbInterface.KillProcess();
-			break;
-			
-			default:
-				ASSERT(EFalse);
-			break;
-			}
-
-		// Publish "dummy feedback" as a means to 
-		// let the Test know that the DB got the 
-		// message and a delay will be applied on the
-		// processing of the next request.
-		TDbFeedback AckFeedbackItem;
-		TPtr8 ptr(reinterpret_cast<TUint8*>(&AckFeedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
-		RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);		
-		}
-	}
-
-
-TInt CTestCommandListener::RunError(TInt aError)
-	{
-	// Just panic
-	ASSERT(EFalse);
-	return aError;
-	}
-
-void CTestCommandListener::DoCancel()
-	{
-	iDelayProperty.Cancel();
-	}
-
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include "clbslocmonitordbengine.h"
+#include "lbsdevloggermacros.h"
+#include "lbsposition.h"
+
+#include "../inc/rlbslocmonitordb.h"
+
+/** Default constructor 
+@released*/
+RLbsLocMonitorDb::RLbsLocMonitorDb()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::RLbsLocMonitorDb()");
+	iShortDelayNextRequest = EFalse;
+	iLongDelayNextRequest = EFalse; 
+	iFailNextRequest = EFalse;
+	iCallCount = 0;
+	iTestCommandListener = NULL;
+	iTimer = NULL; 
+	iClientPosition = NULL;
+	iClientAreaInfo = NULL;
+	iClientMatchAreaInfo = NULL;
+	iClientStatus = NULL;
+	}
+
+/** Default destructor */
+RLbsLocMonitorDb::~RLbsLocMonitorDb()
+	{
+	LBSLOG(ELogP9, "->S RLbsLocMonitorDb::~RLbsLocMonitorDb() \n");
+	}
+
+void RLbsLocMonitorDb::OpenL()
+	{
+	//This shouldn't be called more than once
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::Open()");
+	iTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+	
+	// Properties for communications with the test
+	static _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy);
+	User::LeaveIfError(RProperty::Define(EUnitLocMonDbDelay,RProperty::EInt,KAllowAllPolicy,KAllowAllPolicy));
+	User::LeaveIfError(RProperty::Define(EUnitLocMonDbFeedback,RProperty::ELargeByteArray,KAllowAllPolicy,KAllowAllPolicy));
+	
+	iTestCommandListener = CTestCommandListener::NewL(*this);
+	}
+
+void RLbsLocMonitorDb::Close()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::Close()");
+	iCallCount = 0;
+	delete iTimer;
+	delete iTestCommandListener;
+	__ASSERT_ALWAYS(KErrNone == RProperty::Delete(EUnitLocMonDbDelay), User::Invariant());//failed to delete property?
+    __ASSERT_ALWAYS(KErrNone == RProperty::Delete(EUnitLocMonDbFeedback), User::Invariant());//failed to delete property?	
+	}
+
+/*
+ This method publishes to a P&S property the aPosition and the first item in aAreaInfo 
+ array for the test to validate.
+ 
+ In some testcases, the completion of the client request is delayed (this allowed the build up of requests
+ in the Location Monitor or waiting for cancel requests).
+*/
+TInt RLbsLocMonitorDb::SavePosition(const TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& /*aAreaInfo*/, TBool /*aUserPosition*/, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::SavePosition()");
+	
+	TInt completionCode = KErrNone;
+	aStatus = KRequestPending;
+	iCallCount ++;
+	
+	if (iFailNextRequest)
+		{
+		completionCode = KErrNotFound;
+		iFailNextRequest = EFalse;
+		}
+	else
+		{
+		TDbFeedback feedbackItem;
+		feedbackItem.iPosition = aPosition;
+		TPtr8 ptr(reinterpret_cast<TUint8*>(&feedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
+			
+		RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);
+		}
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, completionCode);
+	return KErrNone;	
+	}
+
+/*
+This method returns a position and area info to the client.
+*/
+TInt RLbsLocMonitorDb::GetPosition(TPosition& aPosition, const RPointerArray<TLbsLocMonitorAreaInfoBase>& /*aAreaInfo*/, TPositionAreaExtendedInfo& aMatchingAreaInfo, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
+	TInt completionCode = KErrNone;
+	aStatus = KRequestPending;
+	iCallCount ++;
+	
+	if (iFailNextRequest)
+		{
+		completionCode = KErrNotFound;
+		iFailNextRequest = EFalse;	
+		}
+	else if(iShortDelayNextRequest || iLongDelayNextRequest)
+		{
+		// Remember client request's return params and
+		// force a delay.
+		iClientPosition = &aPosition;
+		iClientMatchAreaInfo = &aMatchingAreaInfo;
+		iClientStatus = &aStatus;
+		if (!iTimer->IsActive())
+			{
+			TInt delayInMicroSecs = iLongDelayNextRequest?15000000:1000000; // 1 or 15 seconds
+			iTimer->Start(delayInMicroSecs, delayInMicroSecs, TCallBack(StopWaiting, this));	
+			}
+		else
+			{
+			// A delay has already been applied. Nothing to do.
+			}
+		
+		iShortDelayNextRequest = EFalse;
+		iLongDelayNextRequest = EFalse;
+		
+		return KErrNone;	
+		}
+	else
+		{
+		switch (iCallCount)
+			{
+			case 1:
+			// Set a position as if it came from the DB
+			aPosition.SetCoordinate(KLatGetPos1, KLongGetPos1);
+			
+			// Set a match level as if it was found in the DB
+			aMatchingAreaInfo.SetArea(TPositionAreaInfo::EAreaCity);
+			aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+			aMatchingAreaInfo.SetMobileNetworkCodeMatch(ETrue);
+			aMatchingAreaInfo.SetLocationAreaCodeMatch(ETrue);
+			aMatchingAreaInfo.SetCellIdMatch(ETrue);	
+			break;
+
+			// Return different values for second and later requests
+			// that occurred in the same test.
+			default:
+			aPosition.SetCoordinate(KLatGetPos2, KLongGetPos2);
+			// Set a match level as if it was found in the DB
+			aMatchingAreaInfo.SetArea(TPositionAreaInfo::EAreaCountry);
+			aMatchingAreaInfo.SetMobileCountryCodeMatch(ETrue);
+			aMatchingAreaInfo.SetMobileNetworkCodeMatch(EFalse);
+			aMatchingAreaInfo.SetLocationAreaCodeMatch(EFalse);
+			aMatchingAreaInfo.SetCellIdMatch(EFalse);
+			break;
+			}
+		}
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, completionCode);
+	return KErrNone;
+	}
+
+
+TInt RLbsLocMonitorDb::CancelGetPosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetPosition()");
+	User::RequestComplete(iClientStatus, KErrCancel);
+	iTimer->Cancel();
+	return KErrNone;
+	}
+
+/*
+This method returns a position to the client. In some testcases, the completion of the 
+asynchronous request may be delayed.
+*/
+TInt RLbsLocMonitorDb::GetLastStoredPosition(TPosition& aPosition, TRequestStatus& aStatus)
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::GetLastStoredPosition()");
+
+	TInt completionCode = KErrNone;
+	aStatus = KRequestPending;
+	iCallCount ++;
+	
+	if (iFailNextRequest)
+		{
+		completionCode = KErrNotFound;
+		iFailNextRequest = EFalse;	
+		}
+	else if(iShortDelayNextRequest || iLongDelayNextRequest)
+		{
+		// Remember client request's return parms and
+		// force a delay.
+		iClientPosition = &aPosition;
+		iClientStatus = &aStatus;
+		if (!iTimer->IsActive())
+			{
+			TInt delayInMicroSecs = iLongDelayNextRequest?15000000:1000000; // 15 or 1 second
+			iTimer->Start(delayInMicroSecs, delayInMicroSecs, TCallBack(StopWaiting, this));	
+			}
+		else
+			{
+			// A delay has already been applied. Nothing to do.
+			}
+			
+		iShortDelayNextRequest = EFalse;
+		iLongDelayNextRequest = EFalse;
+		return KErrNone;	
+		}
+	else
+		{
+		switch (iCallCount)
+			{
+			case 1:
+			// Set a position as if it came from the DB
+			aPosition.SetCoordinate(KLatGetLast1, KLongGetLast1);
+			break;
+
+			// Return different values for second and later requests
+			// that occurred in the same test.
+			default:
+			aPosition.SetCoordinate(KLatGetLast2, KLongGetLast2);
+			break;
+			}
+		}
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, completionCode);
+	return KErrNone;
+	}
+
+
+// Called by the timer when the delay finishes
+TInt RLbsLocMonitorDb::StopWaiting(TAny* aPtr)
+	{
+	//Need to call DoStopWaiting on real object (this method is static)
+	RLbsLocMonitorDb* thisInstance = static_cast<RLbsLocMonitorDb*>(aPtr);
+	if (thisInstance)
+		{
+		thisInstance->DoStopWaiting();
+		}
+	return KErrNone;
+	}
+
+
+void RLbsLocMonitorDb::DoStopWaiting()
+	{
+	if (*iClientStatus == KRequestPending)
+		{
+		// Set a position as if it came from a DB (set predetermined coordinates
+		// for first request call since the test only applies a delay to the first
+		// request it injects).
+		iClientPosition->SetCoordinate(KLatGetPos1, KLongGetPos1);
+		
+		// All the tests request a delay of a call to GetLastKnownPositionArea
+		// so iClientMatchAreaInfo should be available
+		if (iClientMatchAreaInfo)
+			{
+			// Set a match level as if it was found in the DB
+			iClientMatchAreaInfo->SetArea(TPositionAreaInfo::EAreaCity);
+			iClientMatchAreaInfo->SetMobileCountryCodeMatch(ETrue);
+			iClientMatchAreaInfo->SetMobileNetworkCodeMatch(ETrue);
+			iClientMatchAreaInfo->SetLocationAreaCodeMatch(ETrue);
+			iClientMatchAreaInfo->SetCellIdMatch(ETrue);	
+			}
+
+		iTimer->Cancel();
+		User::RequestComplete(iClientStatus, KErrNone);
+		}
+	}
+
+TInt RLbsLocMonitorDb::CancelGetLastStoredPosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelGetLastStoredPosition()");
+	User::RequestComplete(iClientStatus, KErrCancel);
+	iTimer->Cancel();
+	return KErrNone;
+	}
+
+TInt RLbsLocMonitorDb::CancelSavePosition()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::CancelSavePosition()");
+	return KErrNone;
+	}
+
+TInt RLbsLocMonitorDb::ClearDatabase()
+	{
+	LBSLOG(ELogP1, "RLbsLocMonitorDb::ClearDatabase()");
+	TDbFeedback feedbackItem;
+	TPtr8 ptr(reinterpret_cast<TUint8*>(&feedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
+
+	feedbackItem.iDbDeleted = ETrue;
+
+	iCallCount++;
+	
+	RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);
+	return KErrNone;
+	}
+
+void RLbsLocMonitorDb::ShortDelayNextRequest()
+	{
+	iShortDelayNextRequest = ETrue;		
+	}
+void RLbsLocMonitorDb::LongDelayNextRequest()
+	{
+	iLongDelayNextRequest = ETrue;		
+	}
+void RLbsLocMonitorDb::FailNextRequest()
+	{
+	iFailNextRequest = ETrue;		
+	}
+
+// Called at the start of a test to reset 'state variables'
+// that may have been altered by a previous test
+void RLbsLocMonitorDb::KillProcess()
+	{
+	iCallCount = 0;		
+	}
+
+/*******************************************************************************
+ CTestCommandListener
+********************************************************************************/
+
+CTestCommandListener::CTestCommandListener(RLbsLocMonitorDb& aDbInterface):
+						CActive(EPriorityStandard),
+						iDbInterface (aDbInterface)
+	{
+	CActiveScheduler::Add(this);
+	
+	}
+
+CTestCommandListener* CTestCommandListener::NewL(RLbsLocMonitorDb& aDbInterface)
+	{
+	CTestCommandListener* self = new(ELeave) CTestCommandListener(aDbInterface);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CTestCommandListener::ConstructL()
+	{
+	User::LeaveIfError(iDelayProperty.Attach(KTestLocMonUid,EUnitLocMonDbDelay,EOwnerThread));
+	iDelayProperty.Subscribe(iStatus);
+	SetActive();
+	}
+	
+CTestCommandListener::~CTestCommandListener()
+	{
+	Cancel();
+	iDelayProperty.Close();
+	}
+
+void CTestCommandListener::RunL()
+	{
+	if (KErrNone == iStatus.Int())
+		{
+		TInt command;
+		iDelayProperty.Subscribe(iStatus);
+		SetActive();
+		
+		iDelayProperty.Get(command);
+
+		switch (command)
+			{
+			case EDbSetupShortDelay:
+				// Inform the DB that a short delay is required
+				iDbInterface.ShortDelayNextRequest();
+			break;
+			
+			case EDbSetupLongDelay:
+				// Inform the DB that a short delay is required
+				iDbInterface.LongDelayNextRequest();
+			break;
+			
+			case EDbSetupFail:
+				// Inform the DB that a it must fail the next request
+				iDbInterface.FailNextRequest();
+			break;
+			
+			case EDbKillProcess:
+				// Inform the DB that a new test is starting
+				iDbInterface.KillProcess();
+			break;
+			
+			default:
+				ASSERT(EFalse);
+			break;
+			}
+
+		// Publish "dummy feedback" as a means to 
+		// let the Test know that the DB got the 
+		// message and a delay will be applied on the
+		// processing of the next request.
+		TDbFeedback AckFeedbackItem;
+		TPtr8 ptr(reinterpret_cast<TUint8*>(&AckFeedbackItem), sizeof(TDbFeedback), sizeof(TDbFeedback));
+		RProperty::Set(KTestLocMonUid, EUnitLocMonDbFeedback, ptr);		
+		}
+	}
+
+
+TInt CTestCommandListener::RunError(TInt aError)
+	{
+	// Just panic
+	ASSERT(EFalse);
+	return aError;
+	}
+
+void CTestCommandListener::DoCancel()
+	{
+	iDelayProperty.Cancel();
+	}
+