# HG changeset patch # User Pat Downey <patd@symbian.org> # Date 1283340925 -3600 # Node ID c92d4f3c47c58246175d44efa5c57376f15102f5 # Parent 0c2046328c852db98cb3ede4dd6ed892340a4dbf Revert incorrect RCL_3 drop: Revision: 201027 Kit: 201035 diff -r 0c2046328c85 -r c92d4f3c47c5 datasourceadaptation/gpsdatasourceadaptation/common/test/lbsgenericpsytest/group/te_lbsgenericpsytest.mmp --- a/datasourceadaptation/gpsdatasourceadaptation/common/test/lbsgenericpsytest/group/te_lbsgenericpsytest.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourceadaptation/gpsdatasourceadaptation/common/test/lbsgenericpsytest/group/te_lbsgenericpsytest.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -90,3 +90,4 @@ + diff -r 0c2046328c85 -r c92d4f3c47c5 datasourceadaptation/gpsdatasourceadaptation/traces/osttracedefinitions.h --- a/datasourceadaptation/gpsdatasourceadaptation/traces/osttracedefinitions.h Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourceadaptation/gpsdatasourceadaptation/traces/osttracedefinitions.h Wed Sep 01 12:35:25 2010 +0100 @@ -18,5 +18,5 @@ #ifndef __OSTTRACEDEFINITIONS_H__ #define __OSTTRACEDEFINITIONS_H__ -#include <opensystemtrace.h> +#include <OpenSystemTrace.h> #endif diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/group/BLD.INF --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -13,7 +13,7 @@ // Description: // -#include "../btgpsconfigapi/group/bld.inf" +#include "../btgpsconfigapi/group/BLD.INF" // Main projects, in build order PRJ_EXPORTS diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/src/lbsbtgpsconfigimpl.cpp --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/src/lbsbtgpsconfigimpl.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpsconfig/src/lbsbtgpsconfigimpl.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -323,7 +323,7 @@ devInfo->SetKey(devRecord.Key()); devInfo->SetAddress(devRecord.SocketAddress().BTAddr()); devInfo->SetType(devRecord.Type()); - aList.Append(devInfo); + aList.AppendL(devInfo); CleanupStack::Pop(devInfo); } @@ -420,7 +420,7 @@ User::LeaveIfError(ReadDeviceRecord(index, *devRecord)); // Add to the passes list - aRecordList.Append(devRecord); + aRecordList.AppendL(devRecord); CleanupStack::Pop(devRecord); } diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/101FE99A.rss --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/101FE99A.rss Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/101FE99A.rss Wed Sep 01 12:35:25 2010 +0100 @@ -22,7 +22,7 @@ // INCLUDES #include <ecom/registryinfo.rh> #include "btgpspsy.hrh" -#include "nla_btgpspsy.loc" +#include "Nla_btgpspsy.loc" // RESOURCE DEFINITIONS RESOURCE REGISTRY_INFO r_btpsy_reginfo diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsy_name.rss --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsy_name.rss Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsy_name.rss Wed Sep 01 12:35:25 2010 +0100 @@ -21,7 +21,7 @@ // INCLUDES #include <badef.rh> -#include <nla_btgpspsy.loc> +#include <Nla_btgpspsy.loc> // RESOURCE DEFINITIONS diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsyconstants.rss --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsyconstants.rss Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/data/nlabtgpspsyconstants.rss Wed Sep 01 12:35:25 2010 +0100 @@ -22,7 +22,7 @@ // INCLUDES #include <uikon.rh> #include <badef.rh> -#include "nla_btgpspsy.loc" +#include "Nla_btgpspsy.loc" // RESOURCE SIGNATURE diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/group/bld.inf --- a/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -23,7 +23,7 @@ PRJ_EXPORTS ./101fe999.cre z:/private/10202be9/101fe999.cre -../data/nla_btgpspsy.loc OS_LAYER_LOC_EXPORT_PATH(nla_btgpspsy.loc) +../data/Nla_btgpspsy.loc OS_LAYER_LOC_EXPORT_PATH(Nla_btgpspsy.loc) ../inc/Settings/BtGpsPsyPrivateCRKeys.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/btgpspsyprivatecrkeys.h) ../inc/Settings/BtGpsPsyPrivatePSKeys.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/btgpspsyprivatepskeys.h) diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/group/bld.inf --- a/datasourcemodules/bluetoothgpspositioningmodule/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -14,7 +14,7 @@ // // Main projects, in build order -#include "../btgpsconfig/group/bld.inf" +#include "../btgpsconfig/group/BLD.INF" #include "../btgpspsy/group/bld.inf" PRJ_EXPORTS diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/bluetoothgpspositioningmodule/group/lbsbtgpspsy.iby --- a/datasourcemodules/bluetoothgpspositioningmodule/group/lbsbtgpspsy.iby Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/bluetoothgpspositioningmodule/group/lbsbtgpspsy.iby Wed Sep 01 12:35:25 2010 +0100 @@ -19,7 +19,7 @@ #if !defined(SYMBIAN_EXCLUDE_LOCATION) -#if defined(__BLUETOOTHGPSPSY) +#if defined(SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM) #ifdef _DEBUG ECOM_PLUGIN_UDEB(nlabtgpspsy.dll, nlabtgpspsy.rsc) #else @@ -33,7 +33,7 @@ file=ABI_DIR\DEBUG_DIR\lbsbtgpsconfig.dll System\libs\lbsbtgpsconfig.dll #endif // SYMBIAN_LOCATION_BTGPSCONFIG -#endif // __BLUETOOTHGPSPSY +#endif // SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM #endif diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/src/epos_cposexternalgpsmonitor.cpp --- a/datasourcemodules/defaultpositioningmodule/src/epos_cposexternalgpsmonitor.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/src/epos_cposexternalgpsmonitor.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -272,7 +272,7 @@ User::LeaveIfError( iExtGpsPsyArray.Append( requestor ) ); //This function won't fail, since we have enough space already - iExtGpsPsyUsedArray.Append( 0 ); + iExtGpsPsyUsedArray.AppendL( 0 ); CleanupStack::Pop( requestor ); } diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/src/epos_cpospsyfixstatemanager.cpp --- a/datasourcemodules/defaultpositioningmodule/src/epos_cpospsyfixstatemanager.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/src/epos_cpospsyfixstatemanager.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -157,9 +157,7 @@ fixAndState.iPsyState = EPsyFixStateUnknown; fixAndState.iLocationRequestCount = 0; fixAndState.iTimer = timer; - User::LeaveIfError( - iPsyStateArray.Append( fixAndState ) ); - + iPsyStateArray.AppendL( fixAndState ) ; CleanupStack::Pop( timer ); } } diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/src/epos_cpospsylisthandler.cpp --- a/datasourcemodules/defaultpositioningmodule/src/epos_cpospsylisthandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/src/epos_cpospsylisthandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -189,14 +189,14 @@ if ( !integratedGpsAdded ) { TRACESTRING2( "PSY: %x", moduleInfo.ModuleId() ) - aPsyList.Append( moduleInfo.ModuleId() ); + aPsyList.AppendL( moduleInfo.ModuleId() ); integratedGpsAdded = ETrue; } } else { TRACESTRING2( "PSY: %x", moduleInfo.ModuleId() ) - aPsyList.Append( moduleInfo.ModuleId() ); + aPsyList.AppendL( moduleInfo.ModuleId() ); } } } @@ -222,7 +222,7 @@ moduleInfo.DeviceLocation() == TPositionModuleInfo::EDeviceExternal ) { TRACESTRING2( "PSY: %x", moduleInfo.ModuleId() ) - aPsyList.Append( moduleInfo.ModuleId() ); + aPsyList.AppendL( moduleInfo.ModuleId() ); } } } diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/test/te_defproxy/scripts/te_defproxysuite.script --- a/datasourcemodules/defaultpositioningmodule/test/te_defproxy/scripts/te_defproxysuite.script Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/test/te_defproxy/scripts/te_defproxysuite.script Wed Sep 01 12:35:25 2010 +0100 @@ -267,7 +267,7 @@ //!@SYMTestPriority Medium //!@SYMTestType ut //!@SYMTestStatus Implemented -RUN_TEST_STEP 400 te_defproxysuite TwoPsysActiveStep c:\testdata\configs\te_defproxysuite.ini Section14 +RUN_TEST_STEP 200 te_defproxysuite TwoPsysActiveStep c:\testdata\configs\te_defproxysuite.ini Section14 END_TESTCASE LBS-DEFAULTPROXY-TwoPsysActiveStep-0001 @@ -447,7 +447,7 @@ //!@SYMTestPriority Medium //!@SYMTestType ut //!@SYMTestStatus Implemented -RUN_TEST_STEP 200 te_defproxysuite HGenericInfoStep c:\testdata\configs\te_defproxysuite.ini Section2 +RUN_TEST_STEP 100 te_defproxysuite HGenericInfoStep c:\testdata\configs\te_defproxysuite.ini Section2 END_TESTCASE LBS-DEFAULTPROXY-HGenericInfoStep-0001 diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/hgenericinfostep.cpp --- a/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/hgenericinfostep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/hgenericinfostep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -107,7 +107,7 @@ CHECK_TIME(5) PositionRequestWithCheck(*genInfo, KErrNone, KIntGpsPsy1); - CHECK_TIME(35) //timeshift 2s + reponse time 10s - first request(5s) + CHECK_TIME(7) //timeshift 2s + reponse time 10s - first request(5s) //3. Check satellite info ConfigPsyL(KExtGpsPsy1, 3, @@ -130,7 +130,7 @@ CHECK_TIME(5) PositionRequestWithCheck(satInfo, KErrNone, KIntGpsPsy1); - CHECK_TIME(35) //timeshift 2s + reponse time 10s - first request(5s) + CHECK_TIME(7) //timeshift 2s + reponse time 10s - first request(5s) diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/partialupdatestep.cpp --- a/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/partialupdatestep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/partialupdatestep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -146,43 +146,37 @@ PositionRequestWithCheck(posInfo, KPositionPartialUpdate, KIntGpsPsy1); - User::After(KSecond * 55);//2s fallback, 5s PSY1 partial, 7s PSY2 fix, 10s cleanup timeout + User::After(KSecond * 3);//2s fallback, 5s PSY1 partial, 7s PSY2 fix, 10s cleanup timeout PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); User::After(KSecond * 5); PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); - User::After(KSecond * 12); - + //4. If PSY2 gives a fullfix before cleanup timeout and there is location request + //pending, this fix will be given to the client + ConfigPsyL(KIntGpsPsy1, 2, + KConfigLRPartial5s, + KConfigLRPartial5s + ); + + ConfigPsyL(KExtGpsPsy1, 1, + KConfigLRNoError5s + ); -// Unclear test, removed pending doc lookup. -// //4. If PSY2 gives a fullfix before cleanup timeout and there is location request -// //pending, this fix will be given to the client -// -// ConfigPsyL(KIntGpsPsy1, 2, -// KConfigLRPartial5s, -// KConfigLRPartial5s -// ); -// -// ConfigPsyL(KExtGpsPsy1, 1, -// KConfigLRNoError5s -// ); -// -// //User::After(KSecond * 7); -// -// InitPsyListInDefaultProxyL(); -// -// PositionRequestWithCheck(posInfo, KPositionPartialUpdate, KIntGpsPsy1); -// -// //User::After(KSecond * 1);//2s fallback, 5s PSY1 partial, 7s PSY2 fix, 10s cleanup timeout -// -// SET_TIME -// PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); -// CHECK_TIME(0) -// -// //User::After(KSecond * 5); -// //PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); + User::After(KSecond * 7); + InitPsyListInDefaultProxyL(); + + PositionRequestWithCheck(posInfo, KPositionPartialUpdate, KIntGpsPsy1); + + User::After(KSecond * 1);//2s fallback, 5s PSY1 partial, 7s PSY2 fix, 10s cleanup timeout + + SET_TIME + PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); + CHECK_TIME(1) + + User::After(KSecond * 5); + PositionRequestWithCheck(posInfo, KErrNone, KExtGpsPsy1); // cleanup StandardCleanup(); diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/trackingsessionstep.cpp --- a/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/trackingsessionstep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/trackingsessionstep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -75,10 +75,6 @@ // setup : only PSY6 ToggleModuleL(KUidLcfPsy1, EFalse); ToggleModuleL(KUidLcfPsy3, EFalse); - - User::After(KSecond * 7); - - InitPsyListInDefaultProxyL(); // make one request to allow default proxy rebuild its database // this will guarantee that first request will be as fast as possible diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/twopsysactivestep.cpp --- a/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/twopsysactivestep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/defaultpositioningmodule/test/te_defproxy/src/twopsysactivestep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -104,7 +104,7 @@ //return KErrNone SET_TIME PositionRequestWithCheck(posInfo, KErrNone, KNetworkPsy1); - CHECK_TIME(31) //2s is timeshfift value min(2*TTFF(1),10)+1 + CHECK_TIME(3) //2s is timeshfift value min(2*TTFF(1),10)+1 User::After(KSecond*7); @@ -136,7 +136,7 @@ //7. PSY1 does not give a fix within timeshift, PSY2 is tried. If PSY1 then //give a error code, then fix from PSY2 will be used. PositionRequestWithCheck(posInfo, KErrNone, KNetworkPsy1); - CHECK_TIME(40) //Timeshift time 2s + response time 10s + CHECK_TIME(12) //Timeshift time 2s + response time 10s //Do everhing again when device status is Active @@ -180,7 +180,7 @@ //return KErrNone SET_TIME PositionRequestWithCheck(posInfo, KErrNone, KNetworkPsy1); - CHECK_TIME(31) //2s is timeshfift value min(2*TTFF(1),10)+1 + CHECK_TIME(3) //2s is timeshfift value min(2*TTFF(1),10)+1 User::After(KSecond*7); @@ -212,7 +212,7 @@ //7. PSY1 does not give a fix within timeshift, PSY2 is tried. If PSY1 then //give a error code, then fix from PSY2 will be used. PositionRequestWithCheck(posInfo, KErrNone, KNetworkPsy1); - CHECK_TIME(40) //Timeshift time 2s + response time 10s + CHECK_TIME(12) //Timeshift time 2s + response time 10s StandardCleanup(); return TestStepResult(); diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/gpspositioningmodule/lbsagpspsy/group/bld.inf --- a/datasourcemodules/gpspositioningmodule/lbsagpspsy/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/gpspositioningmodule/lbsagpspsy/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -24,8 +24,12 @@ ./101fe98c.cre z:/private/10202be9/101fe98c.cre // ConfML files -../conf/agpspositioningmodule.confml OS_LAYER_EXPORTS_CONFML(agpspositioningmodule.confml) -../conf/agpspositioningmodule_101fe98c.crml OS_LAYER_EXPORTS_CRML(agpspositioningmodule_101fe98c.crml) +//! No longer exporting these confml files as this version of the APGS PSY is only used if APE Centric is enabled. If not +//! another version of the PSY is used (which has the same UID), so these confml files overwrite those of the other PSY. +//! A build time feature flag is being raised for these to only export these if APE Centric is enabled. For now, since +//! APE Centric is not being used, these are not exported. Once the feature flag is raised it can be changed to use that. +//../conf/agpspositioningmodule.confml OS_LAYER_EXPORTS_CONFML(agpspositioningmodule.confml) +//../conf/agpspositioningmodule_101fe98c.crml OS_LAYER_EXPORTS_CRML(agpspositioningmodule_101fe98c.crml) PRJ_MMPFILES //gnumakefile createlbsagpspsyrep.mk diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/gpspositioningmodule/lbsgpspsy/group/bld.inf --- a/datasourcemodules/gpspositioningmodule/lbsgpspsy/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/gpspositioningmodule/lbsgpspsy/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -24,8 +24,12 @@ ./101fe98a.cre z:/private/10202be9/101fe98a.cre // ConfML files -../conf/gpspositioningmodule.confml OS_LAYER_EXPORTS_CONFML(gpspositioningmodule.confml) -../conf/gpspositioningmodule_101fe98a.crml OS_LAYER_EXPORTS_CRML(gpspositioningmodule_101fe98a.crml) +//! No longer exporting these confml files as this version of the APGS PSY is only used if APE Centric is enabled. If not +//! another version of the PSY is used (which has the same UID), so these confml files overwrite those of the other PSY. +//! A build time feature flag is being raised for these to only export these if APE Centric is enabled. For now, since +//! APE Centric is not being used, these are not exported. Once the feature flag is raised it can be changed to use that. +//../conf/gpspositioningmodule.confml OS_LAYER_EXPORTS_CONFML(gpspositioningmodule.confml) +//../conf/gpspositioningmodule_101fe98a.crml OS_LAYER_EXPORTS_CRML(gpspositioningmodule_101fe98a.crml) PRJ_MMPFILES //gnumakefile createlbsgpspsyrep.mk diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/group/bld.inf --- a/datasourcemodules/locationapesuplpsy/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/locationapesuplpsy/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -30,15 +30,10 @@ // Conf Files... ../conf/ape_suplpsy.confml OS_LAYER_CONFML(ape_suplpsy.confml) -../conf/ape_suplpsy_20026fb7.crml OS_LAYER_CRML(ape_suplpsy_20026fb7.crml) - -../inc/lbssuplpsyadaptation.h /epoc32/include/lbssuplpsyadaptation.h +../conf/ape_suplpsy_20026FB7.crml OS_LAYER_CRML(ape_suplpsy_20026FB7.crml) -// Techview rom -nla_ape_suplpsy.iby /epoc32/rom/include/nla_ape_suplpsy.iby +../inc/lbssuplpsyadaptation.h /epoc32/include/lbsSuplPsyAdaptation.h -// Test only -../cenrep/20026fb7.txt z:/private/10202be9/20026fb7.txt PRJ_MMPFILES nla_ape_suplpsy.mmp diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/group/lbs_ape_supl_positioning_module.mrp --- a/datasourcemodules/locationapesuplpsy/group/lbs_ape_supl_positioning_module.mrp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - -component lbs_ape_supl_positioning_module - -source \sf\os\lbs\datasourcemodules\locationapesuplpsy - -binary \sf\os\lbs\datasourcemodules\locationapesuplpsy\group all - -exports \sf\os\lbs\datasourcemodules\locationapesuplpsy\group - -notes_source \component_defs\release.src - -ipr E diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/group/nla_ape_suplpsy.iby --- a/datasourcemodules/locationapesuplpsy/group/nla_ape_suplpsy.iby Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ -#ifndef __LBS_APE_SUPLPSY_IBY__ -#define __LBS_APE_SUPLPSY_IBY__ - -#if !defined(SYMBIAN_EXCLUDE_LOCATION) - -#ifdef _DEBUG -ECOM_PLUGIN_UDEB(nlaapesuplpsy.dll, nlaapesuplpsy.rsc) -#else -ECOM_PLUGIN(nlaapesuplpsy.dll, nlaapesuplpsy.rsc) -#endif //_DEBUG - -#endif - -#endif // __LBS_APE_SUPLPSY_IBY__ diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/group/nla_ape_suplpsy.mmp --- a/datasourcemodules/locationapesuplpsy/group/nla_ape_suplpsy.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/locationapesuplpsy/group/nla_ape_suplpsy.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -64,6 +64,5 @@ LIBRARY flogger.lib -SMPSAFE // End of File diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/inc/suplpsyrequestor.h --- a/datasourcemodules/locationapesuplpsy/inc/suplpsyrequestor.h Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/locationapesuplpsy/inc/suplpsyrequestor.h Wed Sep 01 12:35:25 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include <e32base.h> #include <lbs.h> -#include <lbssuplpsyadaptation.h> +#include <lbsSuplPsyAdaptation.h> /** * Network Positioning Configuration API CenRep UID. @@ -39,14 +39,6 @@ */ const TUint32 KPSYTimeToNextFix = 0x00000005; -/* -* PM UID -* -* Name of key which holds the protocol module UID -*/ -const TUint32 KPSYPmUid = 0x00000013; - - // FORWARD DECLARATIONS class MLbsSuplPsyAdaptationObserver; class CLbsSuplPsyAdaptation; @@ -162,8 +154,6 @@ TUint iRequestId; TUint iRequestIdCount; - - TInt iPmUid; }; #endif // SUPLPSYREQUESTOR_H diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/src/lbssuplpsyadaptation.cpp --- a/datasourcemodules/locationapesuplpsy/src/lbssuplpsyadaptation.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/locationapesuplpsy/src/lbssuplpsyadaptation.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -25,7 +25,7 @@ #include "LbsPsyNgMsgs.h" #include "lbscommoninternaldatatypes.h" -#include <lbssuplpsyadaptation.h> +#include <lbsSuplPsyAdaptation.h> const TUid KSuplPsyUid = {KSuplPsyImplUid}; //KSuplPsyImplUid defined in "suplpsy.hrh" // ----------------------------------------------------------------------------- diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/locationapesuplpsy/src/suplpsyrequestor.cpp --- a/datasourcemodules/locationapesuplpsy/src/suplpsyrequestor.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/locationapesuplpsy/src/suplpsyrequestor.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -20,7 +20,7 @@ // INCLUDE FILES #include <e32cmn.h> #include <centralrepository.h> -#include <lbssuplpsyadaptation.h> +#include <lbsSuplPsyAdaptation.h> #include "suplpsyrequestor.h" #include "suplpsygenericinfouser.h" #include "suplpsylogging.h" @@ -67,12 +67,6 @@ //TInt keyValue; TInt ret = repository->Get(KPSYTimeToNextFix, iTtnf); - - if (KErrNone != repository->Get(KPSYPmUid, iPmUid)) - { - // Use default UID (SUPL Proxy PM) - iPmUid = 0x102871EC; - } delete repository; repository = NULL; @@ -152,25 +146,30 @@ { //Get position info TRACESTRING( "Extracting position... " ) - HPositionGenericInfo* posInfo = static_cast < HPositionGenericInfo*> ( &aPosition ); + HPositionGenericInfo* posInfo = static_cast < HPositionGenericInfo*> ( &aPosition ); + if ( aReason >= KErrNone ) + { //Set module Id iPositionInfo->SetModuleId( TUid::Uid( KSuplPsyImplUid ) ); - + //Set time - TPosition pos; - posInfo->GetPosition( pos ); - TTime now; - now.UniversalTime(); - pos.SetTime( now ); - iPositionInfo->SetPosition( pos ); - iPrevFixSuccess = ETrue; - + TPosition pos; + posInfo->GetPosition( pos ); + TTime now; + now.UniversalTime(); + pos.SetTime( now ); + iPositionInfo->SetPosition( pos ); + iPrevFixSuccess = ETrue; + //posInfo = NULL; + } + else + { + //delete posInfo; + //posInfo = NULL; + iPrevFixSuccess = EFalse; + } } - else - { - iPrevFixSuccess = EFalse; - } iObserver.CallBack(); TRACESTRING( "CSuplPsyRequestor::OnLocationUpdate end" ) } @@ -200,7 +199,7 @@ //Make location request iRequestId = GetRequestId(); - const TUint KProtocolModuleUidValue = iPmUid; + const TUint KProtocolModuleUidValue = 0x102871EC; const TUid KProtocolModuleUid = { KProtocolModuleUidValue }; iPsyAdaptation->RequestLocationUpdate(iRequestId, ETrue, KProtocolModuleUid); if (iFirstReq) diff -r 0c2046328c85 -r c92d4f3c47c5 datasourcemodules/networkpositioningmodule/group/bld.inf --- a/datasourcemodules/networkpositioningmodule/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/datasourcemodules/networkpositioningmodule/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -25,8 +25,12 @@ ./101fe98e.cre z:/private/10202be9/101fe98e.cre // ConfML files -../conf/networkpositioningmodule.confml OS_LAYER_EXPORTS_CONFML(networkpositioningmodule.confml) -../conf/networkpositioningmodule_101fe98e.crml OS_LAYER_EXPORTS_CRML(networkpositioningmodule_101fe98e.crml) +//! No longer exporting these confml files as this version of the APGS PSY is only used if APE Centric is enabled. If not +//! another version of the PSY is used (which has the same UID), so these confml files overwrite those of the other PSY. +//! A build time feature flag is being raised for these to only export these if APE Centric is enabled. For now, since +//! APE Centric is not being used, these are not exported. Once the feature flag is raised it can be changed to use that. +//../conf/networkpositioningmodule.confml OS_LAYER_EXPORTS_CONFML(networkpositioningmodule.confml) +//../conf/networkpositioningmodule_101fe98e.crml OS_LAYER_EXPORTS_CRML(networkpositioningmodule_101fe98e.crml) PRJ_MMPFILES lbsnetpsy.mmp diff -r 0c2046328c85 -r c92d4f3c47c5 group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: The common build file. +* +*/ + + +#include <platform_paths.hrh> + +PRJ_PLATFORMS +DEFAULT + +#include "../datasourcemodules/locationapesuplpsy/group/bld.inf" //Component - APE SUPL PSY + +// End of File \ No newline at end of file diff -r 0c2046328c85 -r c92d4f3c47c5 layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/layers.sysdef.xml Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [ + <!ENTITY layer_real_source_path "sf/os/lbs" > +]> + +<SystemDefinition name="lbs" schema="1.4.0"> + <systemModel> + <layer name="os_layer"> + <module name="lbs"> + <unit unitID="lodo.lbs" mrp="" bldFile="&layer_real_source_path;/group" name="lodo.lbs" /> + </module> + </layer> + </systemModel> +</SystemDefinition> \ No newline at end of file diff -r 0c2046328c85 -r c92d4f3c47c5 lbsapitest/lbshaitest/lbsclient/group/t_lbsclient.mmp --- a/lbsapitest/lbshaitest/lbsclient/group/t_lbsclient.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbsapitest/lbshaitest/lbsclient/group/t_lbsclient.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -33,8 +33,7 @@ USERINCLUDE ../../common/inc USERINCLUDE ../lbsapi/inc -OS_LAYER_SYSTEMINCLUDE - +SYSTEMINCLUDE /epoc32/include SYSTEMINCLUDE /epoc32/include/oem SYSTEMINCLUDE /epoc32/include/test SYSTEMINCLUDE /epoc32/include/kernel diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/group/bld.inf --- a/lbstest/lbstestproduct/LbsROMspecificSuites/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -23,7 +23,7 @@ ../scripts/lbsfullromsuite.script c:/testdata/scripts/lbsfullromsuite.script ./lbsromspecificsuite.iby /epoc32/rom/include/lbsromspecificsuite.iby - +./lbsromspecificsuitevariant2.iby /epoc32/rom/include/lbsromspecificsuitevariant2.iby ../testdata/lbsromspecificsuite.ini c:/testdata/configs/lbsromspecificsuite.ini diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/group/ctlbsromsuitetestserver.mmp --- a/lbstest/lbstestproduct/LbsROMspecificSuites/group/ctlbsromsuitetestserver.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/group/ctlbsromsuitetestserver.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -35,8 +35,8 @@ OS_LAYER_SYSTEMINCLUDE_SYMBIAN -// LBS libraries. - + // LBS libraries. +LIBRARY gpsclock.lib LIBRARY lbs.lib // Location Client Library [EPOS LocServer] LIBRARY lbsloccommon.lib LIBRARY lbsadmin.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/group/lbsromspecificsuite.iby --- a/lbstest/lbstestproduct/LbsROMspecificSuites/group/lbsromspecificsuite.iby Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/group/lbsromspecificsuite.iby Wed Sep 01 12:35:25 2010 +0100 @@ -24,7 +24,6 @@ data=EPOCROOT##Epoc32\winscw\c\TestData\configs\lbsromspecificsuite.ini TestData\configs\lbsromspecificsuite.ini data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\lbsfullromsuite.script TestData\Scripts\lbsfullromvariant2suite.Script -data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\lbsstandaloneprivacysuite.script TestData\Scripts\lbsstandaloneprivacysuite.script data=EPOCROOT##Epoc32\winscw\c\TestData\configs\xtestmodule.ini TestData\configs\xtestmodule.ini data=EPOCROOT##Epoc32\winscw\c\TestData\configs\lbstestconfig.txt TestData\configs\lbstestconfig.txt diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsfullromsuite.script --- a/lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsfullromsuite.script Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsfullromsuite.script Wed Sep 01 12:35:25 2010 +0100 @@ -17,9 +17,9 @@ //! @SYMTestSuiteName lbsfullromsuite.script //! @SYMScriptTestEnvironment -PRINT Run all lbsromsuitetestserver Suite Tests +PRINT Run all LbsRomSuiteTestServer Suite Tests -LOAD_SUITE lbsromsuitetestserver -SharedData +LOAD_SUITE LbsRomSuiteTestServer -SharedData //Before we start LBS, select the test A-GPS integration module and network reg status txt file to use. PREFIX RUN_UTILS @@ -31,9 +31,9 @@ REMOVE_PREFIX // Selecting the default admin values will ensure the AGPS module requests assistance data. -RUN_TEST_STEP 010 lbsromsuitetestserver LbsStep_ResetDefaultAdmin +RUN_TEST_STEP 010 LbsRomSuiteTestServer LbsStep_ResetDefaultAdmin -RUN_TEST_STEP 030 lbsromsuitetestserver LbsStep_StartLbs +RUN_TEST_STEP 030 LbsRomSuiteTestServer LbsStep_StartLbs START_TESTCASE LBS-FULLROM-CHECKLOCMONITOR-0001 @@ -52,12 +52,12 @@ //! @SYMCreationDate 31/3/2009 //! @SYMAuthor arunkumarpandian //! @SYMTestStatus 3. Released -RUN_TEST_STEP 100 lbsromsuitetestserver PositionerTestStep c:\testdata\configs\lbsromspecificsuite.ini LBS-FULLROM-CHECKLOCMONITOR-0001 -END_TESTCASE LBS-FULLROM-CHECKLOCMONITOR-0001 +RUN_TEST_STEP 100 LbsRomSuiteTestServer PositionerTestStep c:\testdata\configs\lbsromspecificsuite.ini LBS-FULLROM--CHECKLOCMONITOR-0001 +END_TESTCASE LBS-FULLROM--CHECKLOCMONITOR-0001 PRINT Stop LBS -RUN_TEST_STEP 020 lbsromsuitetestserver LbsStep_StopLbs +RUN_TEST_STEP 020 LbsRomSuiteTestServer LbsStep_StopLbs // Re-select the real A-GPS integration module. RUN_UTILS DeleteFile c:\private\10282253\lbs\locmods\agpsintegmodule.ini @@ -65,4 +65,4 @@ // Delete network registration status text file RUN_UTILS DeleteFile c:\config.txt -PRINT lbsromsuitetestserver Completed +PRINT LbsRomSuiteTestServer Completed diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsstandaloneprivacysuite.script --- a/lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsstandaloneprivacysuite.script Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/scripts/lbsstandaloneprivacysuite.script Wed Sep 01 12:35:25 2010 +0100 @@ -17,9 +17,9 @@ //! @SYMTestSuiteName lbsstandaloneprivacysuitevariant2.script //! @SYMScriptTestEnvironment -PRINT Run all lbsromsuitetestserver Suite Tests +PRINT Run all LbsRomSuiteTestServer Suite Tests -LOAD_SUITE lbsromsuitetestserver -SharedData +LOAD_SUITE LbsRomSuiteTestServer -SharedData //Before we start LBS, select the test A-GPS integration module and network reg status txt file to use. PREFIX RUN_UTILS @@ -31,15 +31,15 @@ REMOVE_PREFIX // Selecting the default admin values will ensure the AGPS module requests assistance data. -//RUN_TEST_STEP 010 lbsromsuitetestserver LbsStep_ResetDefaultAdmin +//RUN_TEST_STEP 010 LbsRomSuiteTestServer LbsStep_ResetDefaultAdmin // This step is used to configure lbs and root to be transient processes // and also the processes that are startedup by root -RUN_TEST_STEP 030 lbsromsuitetestserver LbsStep_SetupStandalonePrivacyMode +RUN_TEST_STEP 030 LbsRomSuiteTestServer LbsStep_SetupStandalonePrivacyMode // - Instead of using a privacy request which actually starts up the LBS, we directly // start lbs which in turn brings up the root process [configured in the above step] -RUN_TEST_STEP 030 lbsromsuitetestserver LbsStep_StartLbs +RUN_TEST_STEP 030 LbsRomSuiteTestServer LbsStep_StartLbs @@ -62,14 +62,14 @@ //! @SYMCreationDate 31/3/2009 //! @SYMAuthor arunkumarpandian //! @SYMTestStatus 3. Released -RUN_TEST_STEP 100 lbsromsuitetestserver PositionerTestStep c:\testdata\configs\lbsromspecificsuite.ini LBS-STANDALONEPRIVACY-CHECKLOCMONITOR-0001 -END_TESTCASE LBS-STANDALONEPRIVACY-CHECKLOCMONITOR-0001 +RUN_TEST_STEP 100 LbsRomSuiteTestServer PositionerTestStep c:\testdata\configs\lbsromspecificsuite.ini LBS-STANDALONEPRIVACY--CHECKLOCMONITOR-0001 +END_TESTCASE LBS-STANDALONEPRIVACY--CHECKLOCMONITOR-0001 DELAY 2000 //PRINT Stop LBS -RUN_TEST_STEP 020 lbsromsuitetestserver LbsStep_StopLbs +RUN_TEST_STEP 020 LbsRomSuiteTestServer LbsStep_StopLbs // Re-select the real A-GPS integration module. RUN_UTILS DeleteFile c:\private\10282253\lbs\locmods\agpsintegmodule.ini @@ -77,7 +77,7 @@ // Delete network registration status text file RUN_UTILS DeleteFile c:\config.txt -PRINT lbsromsuitetestserver Completed +PRINT LbsRomSuiteTestServer Completed diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/LbsROMspecificSuites/src/ctpositionerteststep.cpp --- a/lbstest/lbstestproduct/LbsROMspecificSuites/src/ctpositionerteststep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/LbsROMspecificSuites/src/ctpositionerteststep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -72,7 +72,6 @@ TInt testIndex = KErrNotFound; if(!GetIntFromConfig(ConfigSection(),KTestCaseIdInt,testIndex)) { - INFO_PRINTF1(_L("Error: could not get testindex from ini file")); User::Leave(KErrNotFound); } _LIT(KTestName, "Call test by index"); @@ -122,24 +121,23 @@ TFullName name; err = findServer.Next(name); - if ((err==KErrNone)||(err==KErrAlreadyExists)) - { - _LIT(KFailLog, "Location monitor process started by root - so test case failed"); - ERR_PRINTF1(KFailLog); - SetTestStepResult(EFail); - } - else - { - - _LIT(KPassInfoLog, "Location Monitor NOT started by the root process"); - INFO_PRINTF1(KPassInfoLog); - - RPositionServer server; - TInt retval = server.Connect(); - INFO_PRINTF2(_L("RPositionServer.Connect() returned with value %d, should return 0"),retval); - CleanupClosePushL(server); + if ((err==KErrNone)||(err==KErrAlreadyExists)) + { + _LIT(KFailLog, "Location monitor process started by root - so test case failed"); + ERR_PRINTF1(KFailLog); + SetTestStepResult(EFail); + } + else + { + + _LIT(KPassInfoLog, "Location Monitor NOT started by the root process"); + INFO_PRINTF1(KPassInfoLog); + + RPositionServer server; + User::LeaveIfError(server.Connect()); + CleanupClosePushL(server); - User::After(100*1000); + User::After(100000); _LIT(KTest, "Session with epos location server opened successfully"); INFO_PRINTF1(KTest); @@ -147,17 +145,16 @@ RPositioner positioner; TInt err = positioner.Open(server); - if(KErrNone != err) - { - INFO_PRINTF2(_L("positioner.Open(server) returned value %d, should be 0"), err); - ERR_PRINTF1(KFailedOpenPositioner); - SetTestStepResult(EFail); - CleanupStack::PopAndDestroy(&server); - return TestStepResult(); - } - - CleanupClosePushL(positioner); - _LIT(KTest2, "SubSession with epos location server opened successfully"); + if(KErrNone != err) + { + ERR_PRINTF1(KFailedOpenPositioner); + SetTestStepResult(EFail); + CleanupStack::PopAndDestroy(&server); + return TestStepResult(); + } + + CleanupClosePushL(positioner); + _LIT(KTest2, "SubSession with epos location server opened successfully"); INFO_PRINTF1(KTest2); // Validate that the location monitor gets started up when @@ -231,14 +228,7 @@ INFO_PRINTF1(KPassInfoLog); RPositionServer server; - TInt retval = server.Connect(); - if(err != KErrNone) - { - SetTestStepResult(EFail); - INFO_PRINTF2(_L("RPositionServer.Connect() returned with value %d, should return 0"),retval); - CleanupStack::PopAndDestroy(&server); - return TestStepResult(); - } + User::LeaveIfError(server.Connect()); CleanupClosePushL(server); _LIT(KTest, "Session with epos location server opened successfully"); diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/agpsmodule/src/ctagpsmodule.cpp --- a/lbstest/lbstestproduct/agpsmodule/src/ctagpsmodule.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/agpsmodule/src/ctagpsmodule.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -119,7 +119,6 @@ TInt err; err = RProperty::Set(KUidSystemCategory, ELbsTestAGpsModuleOut, modDataOutBuf); User::LeaveIfError(err); - User::After( 200 * 1000); } } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/group/lbs_testproduct.mrp --- a/lbstest/lbstestproduct/group/lbs_testproduct.mrp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/group/lbs_testproduct.mrp Wed Sep 01 12:35:25 2010 +0100 @@ -16,6 +16,7 @@ component lbs_testproduct + source \sf\os\lbs\lbstest\lbstestproduct diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/hybridprotocolmodule/eabi/GetafixUtilsu.def --- a/lbstest/lbstestproduct/hybridprotocolmodule/eabi/GetafixUtilsu.def Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/hybridprotocolmodule/eabi/GetafixUtilsu.def Wed Sep 01 12:35:25 2010 +0100 @@ -116,7 +116,4 @@ _ZTV25CTLbsX3pTransmitLocWaiter @ 115 NONAME _ZTVN13CPropPipeBase20CPropPipeBaseTimeOutE @ 116 NONAME _ZTVN13CPropPipeBase20CPropPipeBaseWatcherE @ 117 NONAME - _ZN19CNotifyReadPropPipeD0Ev @ 118 NONAME - _ZN19CNotifyReadPropPipeD1Ev @ 119 NONAME - _ZN19CNotifyReadPropPipeD2Ev @ 120 NONAME diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/hybridprotocolmodule/getafixutils/src/PropPipe.cpp --- a/lbstest/lbstestproduct/hybridprotocolmodule/getafixutils/src/PropPipe.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/hybridprotocolmodule/getafixutils/src/PropPipe.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -625,7 +625,7 @@ iPropWatch = CPropWatcher::NewL(KUidSystemCategoryValue, aKeyFlowCtrl, *this); } -EXPORT_C CNotifyReadPropPipe::~CNotifyReadPropPipe() +CNotifyReadPropPipe::~CNotifyReadPropPipe() { delete iPropWatch; } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsbackuprestore/inc/te_lbsbackuprestoresuitedefs.h --- a/lbstest/lbstestproduct/lbsbackuprestore/inc/te_lbsbackuprestoresuitedefs.h Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsbackuprestore/inc/te_lbsbackuprestoresuitedefs.h Wed Sep 01 12:35:25 2010 +0100 @@ -27,7 +27,7 @@ #define __TE_LBSBACKUPRESTORE_SUITEDEFS_H__ const TUint32 KBackupKey = 0x01234567; -const TUint32 KMetatagBackupAndRestoreValidValue = 0x10000000; +const TUint32 KMetatagBackupAndRestoreValidValue = 0x01000000; const TInt KValidValue = 0x01221122; const TInt KCorruptedValue = 0x01001001; diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsbackuprestore/src/checkpsyexiststep.cpp --- a/lbstest/lbstestproduct/lbsbackuprestore/src/checkpsyexiststep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsbackuprestore/src/checkpsyexiststep.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -100,36 +100,28 @@ err = GetIntFromConfig(KPSYList, lineBuf, psyUid); err = idList->Find(TUid::Uid(psyUid)); if(KErrNotFound==err) - { + { INFO_PRINTF2(_L("CCheckPSYExistStep:can't find (%d) in idList "), psyUid); - SetTestStepResult(EFail); - } + SetTestStepResult(EFail); + } CRepository* centrepentry = CRepository::NewL(TUid::Uid(psyUid)); err = centrepentry->Get(brandKey, scarkey); if(KErrNotFound!=err) - { - centrepentry->GetMeta(brandKey, metadataTag); - if(metadataTag >= KMetatagBackupAndRestoreValidValue) - { - if(scarkey!=KValidValue) - { - INFO_PRINTF3(_L("scarkey(%d)!=KValidValue(%d)"), scarkey,KValidValue); - SetTestStepResult(EFail); - } - } - } + { + centrepentry->GetMeta(brandKey, metadataTag); + if(metadataTag == KMetatagBackupAndRestoreValidValue) + { + if(scarkey!=KValidValue) + { + INFO_PRINTF3(_L("scarkey(%d)!=KValidValue(%d)"), scarkey,KValidValue); + SetTestStepResult(EFail); + } + } + } else { - err = centrepentry->Set(brandKey, scarkey); - if(KErrPermissionDenied == err) - { - INFO_PRINTF2(_L("%d is read only"), psyUid); - } - else - { - INFO_PRINTF1(_L("CCheckPSYExistStep:centrepentry->Get(brandKey, scarkey) NOT found")); - } - } + INFO_PRINTF1(_L("CCheckPSYExistStep:centrepentry->Get(brandKey, scarkey) NOT found")); + } } CleanupStack::PopAndDestroy(3, modules); diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/group/ctlbsclientportedsuite.mmp --- a/lbstest/lbstestproduct/lbsclient/group/ctlbsclientportedsuite.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/group/ctlbsclientportedsuite.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -101,6 +101,7 @@ LIBRARY lbsnetsim.lib LIBRARY cone.lib LIBRARY eikcore.lib +LIBRARY cntmodel.lib LIBRARY estor.lib LIBRARY ecom.lib LIBRARY apgrfx.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/group/ctlbsclientserver.mmp --- a/lbstest/lbstestproduct/lbsclient/group/ctlbsclientserver.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/group/ctlbsclientserver.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -59,6 +59,8 @@ SOURCE ctlbsclientstep_reset_assistance.cpp SOURCE ctlbsclientstepconcurrent.cpp +SOURCE ctlbsclientlastknownpospnslistener.cpp + // LBS libraries. LIBRARY lbs.lib LIBRARY lbsloccommon.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/inc/ctlbsclientlastknownpospnslistener.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lbstest/lbstestproduct/lbsclient/inc/ctlbsclientlastknownpospnslistener.h Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,61 @@ +/** +* 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 contains the header file for Get last known position +* +* +*/ + + + +/** + @file ctlbsclientlastknownpospnslistener.h +*/ +#ifndef __CT_LBS_CLIENT_LKP_PNS_LISTENER_H__ +#define __CT_LBS_CLIENT_LKP_PNS_LISTENER_H__ + +#include <e32base.h> +#include <e32property.h> +#include <lbs.h> + +class MT_LastKnownPosPnsObserver + { +public: + virtual void NotifyLastKnownPosPnsUpdate(TPositionInfo& aPositionInfo, TRequestStatus& aStatus) = 0; + }; + +class CT_LbsClientLastKnownPosPnsListener: public CActive + { +public: + ~CT_LbsClientLastKnownPosPnsListener(); + static CT_LbsClientLastKnownPosPnsListener* NewL(MT_LastKnownPosPnsObserver* aObserver); + void Result(TPositionInfo& aPositionInfo); + +protected: +// CActive: + virtual void DoCancel(); + virtual void RunL(); + virtual TInt RunError(TInt aError); + +private: + CT_LbsClientLastKnownPosPnsListener(MT_LastKnownPosPnsObserver* aObserver); + void ConstructL(); + +private: + MT_LastKnownPosPnsObserver* iObserver; + RProperty iLKPPnsProperty; + TPositionInfo iPositionInfo; + }; + +#endif // __CT_LBS_CLIENT_LKP_PNS_LISTENER_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/inc/ctlbsclientserver.h --- a/lbstest/lbstestproduct/lbsclient/inc/ctlbsclientserver.h Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/inc/ctlbsclientserver.h Wed Sep 01 12:35:25 2010 +0100 @@ -39,6 +39,10 @@ protected: void ConstructL(const TDesC& aName); + +public: + // inter-test step pos info storage. + TPositionInfo iPosInfo; }; #endif //__CT_LBS_CLIENT_SERVER_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/inc/ctlbsclientsteplastknownpos.h --- a/lbstest/lbstestproduct/lbsclient/inc/ctlbsclientsteplastknownpos.h Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/inc/ctlbsclientsteplastknownpos.h Wed Sep 01 12:35:25 2010 +0100 @@ -22,10 +22,13 @@ #include "ctlbsclientstep.h" #include "ctlbsclientserver.h" +#include "ctlbsclientnotifyposupdao.h" +#include "ctlbsclientlastknownpospnslistener.h" + // Literals used _LIT(KLbsClientStep_LastKnownPos, "LbsClientStep_LastKnownPos"); -class CT_LbsClientStep_LastKnownPos : public CT_LbsClientStep +class CT_LbsClientStep_LastKnownPos : public CT_LbsClientStep, public MT_LastKnownPosPnsObserver, public MT_NotifyPosUpdateObserver { public: ~CT_LbsClientStep_LastKnownPos(); @@ -33,11 +36,20 @@ static CT_LbsClientStep_LastKnownPos* New(CT_LbsClientServer& aParent); virtual TVerdict doTestStepL(); void SwitchOnselfLocateAPIL(); + + void NotifyPositionUpdateCallback(TRequestStatus& aStatus); + void NotifyLastKnownPosPnsUpdate(TPositionInfo& aPositionInfo, TRequestStatus& aStatus); private: void ConstructL(); CT_LbsClientStep_LastKnownPos(CT_LbsClientServer& aParent); + +private: + TBool iLastKnownPostionReceived; + TBool iNpudReceived; + TPositionInfo iLastKnownPosInfo; + TInt iError; }; #endif //__CT_LBS_CLIENT_STEP_LAST_KNOWN_POS_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/scripts/lbsclientlastknownpos.script --- a/lbstest/lbstestproduct/lbsclient/scripts/lbsclientlastknownpos.script Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/scripts/lbsclientlastknownpos.script Wed Sep 01 12:35:25 2010 +0100 @@ -569,7 +569,62 @@ END_TESTCASE LBS-Client-LastKnownPos-0014 +START_TESTCASE LBS-Client-LastKnownPos-0801 +//!@SYMTestCaseID LBS-Client-LastKnownPos-0801 +//!@SYMTestCaseDesc Confirm Last Known Position published to P&S property +//! +//!@SYMTestActions 1. Request a location update (passing in a TPositionInfo) and wait for it to complete. +//! 2. Set up Last Known Position P&S Property Listener +//! 3. Request a location update via RPositioner, wait for it to complete and for the P&S property to be updated. +//! 4. Comparet the content and timestamp of the position returned by RPositioner and P&S +//! 5. Store the returned position for the next test +//! +//!@SYMTestExpectedResults Location Information received via the two APIs is identical. +//! +//!@SYMPREQ PREQ786 +//!@SYMREQ REQ786.08 +//!@SYMREQ REQ786.19 +//!@SYMPREQ PREQ89 +//!@SYMREQ REQ 89.03 +//!@SYMREQ REQ 89.07 +//!@SYMREQ REQ 89.09 +//! +//!@SYMTestType CIT +//!@SYMTestPriority 1 +//!@SYMTestStatus Implemented + +RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler +RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientLastKnownPos.ini LBS-LastKnownPos +RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_LastKnownPos c:\testdata\configs\LbsClientLastKnownPos.ini LBS-LastKnownPos-0801 + +END_TESTCASE LBS-Client-LastKnownPos-0801 + + + +START_TESTCASE LBS-Client-LastKnownPos-0802 +RUN_TEST_STEP 020 LbsClientTestServer LbsStep_StopLbs +DELAY 10 +RUN_TEST_STEP 030 LbsClientTestServer LbsStep_StartLbs + +//!@SYMTestCaseID LBS-Client-LastKnownPos-0802 +//!@SYMTestCaseDesc Confirm P&S Last Known Position available following LBS re-start +//! +//!@SYMTestActions 1. Following LBS restart, read Last Known Position P&S key. +//! 2. confirm position/timestamp info is as previously stored. +//! +//!@SYMTestExpectedResults Location Information is received and is correct. +//! +//! +//!@SYMTestType CIT +//!@SYMTestPriority 1 +//!@SYMTestStatus Implemented + +RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler +RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientLastKnownPos.ini LBS-LastKnownPos +RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_LastKnownPos c:\testdata\configs\LbsClientLastKnownPos.ini LBS-LastKnownPos-0802 + +END_TESTCASE LBS-Client-LastKnownPos-0802 PRINT Stop LBS diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/src/ctlbsclientlastknownpospnslistener.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientlastknownpospnslistener.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,87 @@ +// 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: +// + +/** + @file ctlbsclientlastknownpospnslistener.cpp +*/ + +#include "ctlbsclientlastknownpospnslistener.h" +#include "epos_lastknownlocationpskeys.h" + + +CT_LbsClientLastKnownPosPnsListener::~CT_LbsClientLastKnownPosPnsListener() +/** + * Destructor + */ + { + Cancel(); + } + + +CT_LbsClientLastKnownPosPnsListener::CT_LbsClientLastKnownPosPnsListener(MT_LastKnownPosPnsObserver* aObserver) : CActive(EPriorityIdle), iObserver(aObserver) +/** + * Constructor - will not leave + */ + { + CActiveScheduler::Add(this); + } + + +CT_LbsClientLastKnownPosPnsListener* CT_LbsClientLastKnownPosPnsListener::NewL(MT_LastKnownPosPnsObserver* aObserver) +/** + * 'public constructor' may leave + */ + { + CT_LbsClientLastKnownPosPnsListener* self = new(ELeave)CT_LbsClientLastKnownPosPnsListener(aObserver); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void CT_LbsClientLastKnownPosPnsListener::ConstructL() + { + User::LeaveIfError(iLKPPnsProperty.Attach(KPosLastKnownLocationCategory, + KPosLastKnownLocation, + EOwnerThread)); + + TPckg<TPositionInfo> positionDes(iPositionInfo); + iLKPPnsProperty.Get(positionDes); + iLKPPnsProperty.Subscribe(iStatus); + SetActive(); + } + +void CT_LbsClientLastKnownPosPnsListener::DoCancel() + { + iLKPPnsProperty.Cancel(); + } + +void CT_LbsClientLastKnownPosPnsListener::RunL() + { + TPckg<TPositionInfo> positionDes(iPositionInfo); + iLKPPnsProperty.Get(positionDes); + iObserver->NotifyLastKnownPosPnsUpdate(iPositionInfo, iStatus); + } + +void CT_LbsClientLastKnownPosPnsListener::Result(TPositionInfo& aPositionInfo) + { + aPositionInfo = iPositionInfo; + } + +TInt CT_LbsClientLastKnownPosPnsListener::RunError(TInt aError) + { // called if RunL leaves. aError contains the error code + return aError; + } + diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownpos.cpp --- a/lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownpos.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownpos.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -82,6 +82,9 @@ CleanupStack::PopAndDestroy(moduleUpdate); CleanupStack::PopAndDestroy(db); + + iLastKnownPostionReceived = EFalse; + iNpudReceived = EFalse; } void CT_LbsClientStep_LastKnownPos::SwitchOnselfLocateAPIL() @@ -637,7 +640,7 @@ INFO_PRINTF1(_L("Failed test, reference position incorrect.")); SetTestStepResult(EFail); } - } + } // testCaseId==104 // Carry out a notify update to ensure last known cache is filled. TPositionInfo notifyPosInfo; @@ -672,6 +675,7 @@ // Test case LBS-LastKnownPos-0105 case 105: { + T_LbsUtils utils; TPositionModuleId networkModuleId = utils.GetNetworkModuleIdL(iServer); // Open positioner. @@ -741,8 +745,137 @@ CloseNetSim(); break; } - - default: + // Test case LBS-LastKnownPosPnsKey-0801 + case 801: + { + T_LbsUtils utils; + // Open positioner. + User::LeaveIfError(iPositioner.Open(iServer)); + CleanupClosePushL(iPositioner); + + // For this test an additional reference position will be returned. + + // Setup netsim. + User::LeaveIfError(OpenNetSim()); + + // Request notify for the expected reference position. + TPositionInfo actualRefPosInfo; + + err = DoNotifyUpdateL(actualRefPosInfo); + if (err) + { + INFO_PRINTF2(_L("Failed test, reference position request returned err %d."), err); + SetTestStepResult(EFail); + } + + // Verify reference position. + TPositionInfo verifyRefPosInfo; + + verifyRefPosInfo.SetPosition(iRefPos); + if (!utils.Compare_PosInfo(verifyRefPosInfo, actualRefPosInfo)) + { + INFO_PRINTF1(_L("Failed test, reference position incorrect.")); + SetTestStepResult(EFail); + } + + User::After(1*1000*1000); + + // the actual test.... + + // Active Object for listening to the Last Known Position PnS property + CT_LbsClientLastKnownPosPnsListener* pnsLKP = CT_LbsClientLastKnownPosPnsListener::NewL(this); + CleanupStack::PushL(pnsLKP); + + // Active Object for obtaining a position using RPositioner API + CT_LbsClientNotifyPosUpdAO* npudAO = CT_LbsClientNotifyPosUpdAO::NewL(*this); + CleanupStack::PushL(npudAO); + + // Issue the NPUD + TPositionInfo posInfo; + npudAO->NotifyPosUpdateL(iPositioner, posInfo); + + iError = KErrNone; + + // active scheduler will be stopped when both + // - the NPUD request is completed + // - and the last known position P&S key has been updated. + CActiveScheduler::Start(); + + if (KErrNone != iError) + { + SetTestStepResult(EFail); + } + else + { + if (!utils.Compare_PosInfo(posInfo, iLastKnownPosInfo)) + { + INFO_PRINTF1(_L("Failed test, P&S position is not the same as returned by RPositioner.")); + SetTestStepResult(EFail); + } + + // verify that the timestamp matches the original one: + TPosition pos801; // original position + TTime timeStamp; // timestamp inside original received position + posInfo.GetPosition(pos801); + timeStamp = pos801.Time(); + + TPosition pos801b; // PnS position + TTime timeStamp_cached; + iLastKnownPosInfo.GetPosition(pos801b); + timeStamp_cached = pos801b.Time(); + + if(timeStamp_cached != timeStamp) + { + INFO_PRINTF1(_L("Failed test, P&S position timestamp is not the same as returned by RPositioner.")); + SetTestStepResult(EFail); + } + + //Store pos info for next Test + iParent.iPosInfo = posInfo; + } + CleanupStack::PopAndDestroy(npudAO); + CleanupStack::PopAndDestroy(pnsLKP); + CleanupStack::PopAndDestroy(&iPositioner); + CloseNetSim(); + break; + } + + // Test case LBS-LastKnownPosPnsKey-0802 + case 802: + { + T_LbsUtils utils; + // LBS has been stopped and re-started. + // this test checks that the LKP P&S Property has been re-populated. + CT_LbsClientLastKnownPosPnsListener* pnsLKP = CT_LbsClientLastKnownPosPnsListener::NewL(this); + CleanupStack::PushL(pnsLKP); + + // read the pos info obtained from LKP P&S + TPositionInfo posInfo; + pnsLKP->Result(posInfo); + + // check the position is the same as stored in the previous test step + if (!utils.Compare_PosInfo(posInfo, iParent.iPosInfo)) + { + INFO_PRINTF1(_L("Failed test, P&S position is not as expected.")); + SetTestStepResult(EFail); + } + + // and compare their timestamps + TPosition pos; + posInfo.GetPosition(pos); + TTime Time802Lkp = pos.Time(); + iParent.iPosInfo.GetPosition(pos); + TTime Time802Old = pos.Time(); + if (Time802Lkp != Time802Old) + { + INFO_PRINTF1(_L("Failed test, P&S position timestamp is not is not as expected.")); + SetTestStepResult(EFail); + } + CleanupStack::PopAndDestroy(pnsLKP); + break; + } + + default: { User::Leave(KErrArgument); } @@ -759,3 +892,31 @@ return TestStepResult(); } + +void CT_LbsClientStep_LastKnownPos::NotifyPositionUpdateCallback(TRequestStatus& aStatus) + { + if(aStatus.Int() != KErrNone) + { + User::Invariant(); + } + iError |= aStatus.Int(); + iNpudReceived = ETrue; + if(iLastKnownPostionReceived) + { + CActiveScheduler::Stop(); + } + } +void CT_LbsClientStep_LastKnownPos::NotifyLastKnownPosPnsUpdate(TPositionInfo& aPositionInfo, TRequestStatus& aStatus) + { + if(aStatus.Int() != KErrNone) + { + User::Invariant(); + } + iError |= aStatus.Int(); + iLastKnownPosInfo = aPositionInfo; + iLastKnownPostionReceived = ETrue; + if(iNpudReceived) + { + CActiveScheduler::Stop(); + } + } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownposarea.cpp --- a/lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownposarea.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientsteplastknownposarea.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -132,8 +132,24 @@ TRequestStatus emptyStatus; iServer.EmptyLastKnownPositionStore(emptyStatus); User::WaitForRequest(emptyStatus); + + TPositionInfo posInfo2; + TPositionAreaExtendedInfo matchLevel; + TPositionAreaExtendedInfo expectedMatchLevel; + TPositionInfo* posInfo = new(ELeave) TPositionInfo(); posInfoArr.Append(posInfo); + + // Check that last known position is completed correctly with no known area and nothing in cache. + err = DoLastKnownPosAreaL(posInfo2, matchLevel); + + // no position and database returns KErrUnknown in these circumstances. + if ( KErrUnknown != err) + { + ERR_PRINTF2(_L("Expected KErrUnknown, incorrect err %d returned"), err); + SetTestStepResult(EFail); + } + //1. Move to cell 234.15.1911.36464 err = RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTimersReduceTime, KReduceSimTsyTimers); User::After(KSimTsyTransitionDelay); @@ -145,8 +161,6 @@ SetTestStepResult(EFail); } //3. LastKnown Pos Area - TPositionInfo posInfo2; - TPositionAreaExtendedInfo matchLevel, expectedMatchLevel; err = DoLastKnownPosAreaL(posInfo2, matchLevel); if (KErrNone != err) { diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepmodstatus.cpp --- a/lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepmodstatus.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepmodstatus.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -655,6 +655,9 @@ INFO_PRINTF1(_L("Position Received")); User::WaitForRequest(status); + + // short delay to allow the module status change to update. + User::After(1*100*1000); //Verify that the position is EDeviceReady again DoVerifyModStatus(TPositionModuleStatus::EDeviceReady,modId); diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepsrvconnectclose.cpp --- a/lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepsrvconnectclose.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientstepsrvconnectclose.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -205,7 +205,6 @@ case 10: { // this test only valid on variant2 api: - __ASSERT_DEBUG(iExpectedApiBehaviour == EApiVariant2, User::Panic(_L("Unrecognised 'Expected Api Behaviour'"), 1)); INFO_PRINTF1(_L("<FONT><B>LBsroot has been started by EPosserver in this mode. </B></FONT>")); } break; diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbsclient/testdata/lbsclientlastknownpos.ini --- a/lbstest/lbstestproduct/lbsclient/testdata/lbsclientlastknownpos.ini Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbsclient/testdata/lbsclientlastknownpos.ini Wed Sep 01 12:35:25 2010 +0100 @@ -92,4 +92,17 @@ $position,1,52.2,0.2,10,0,100,100* type / repeat / lat / long / alt / dat / H / V /... +[LBS-LastKnownPos-0801] +tc_id=801 +pos_infos_file=c:\testdata\configs\lbsclientlastknownpos.ini +$position,2,12.3,45.6,78,0,100,100* +log_type=0 +type / repeat / lat / long / alt / dat / H / V /... +[LBS-LastKnownPos-0802] +tc_id=802 +pos_infos_file=c:\testdata\configs\lbsclientlastknownpos.ini +$position,1* +log_type=0 +type / repeat / lat / long / alt / dat / H / V /... + diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/group/bld.inf --- a/lbstest/lbstestproduct/lbshybridmolr/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -47,8 +47,6 @@ ../scripts/uebased_molr_self_internal_value_test.script c:/testdata/scripts/uebased_molr_self_internal_value_test.script ../scripts/molr_error_assistance.script c:/testdata/scripts/molr_error_assistance.script -../scripts/hybrid_ueassisted_molr_posstatus.script c:/testdata/scripts/hybrid_ueassisted_molr_posstatus.script - //ini files ../testdata/lbs_molr.ini c:/testdata/configs/lbs_molr.ini diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/group/ctlbshybridmolrserver.mmp --- a/lbstest/lbstestproduct/lbshybridmolr/group/ctlbshybridmolrserver.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/group/ctlbshybridmolrserver.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -65,9 +65,6 @@ // Supl tests SOURCE ctlbssuplmolrtbfutilesp.cpp -//Positioning Indicator test files -SOURCE ctlbshybridueassistednpudposstatus.cpp - // LBS libraries. LIBRARY lbs.lib LIBRARY lbsloccommon.lib @@ -81,7 +78,6 @@ LIBRARY lbsnetinternalapi.lib LIBRARY lbsinternalapi.lib LIBRARY lbspartnercommon.lib -LIBRARY lbspositioningstatus.lib // LBS test libraries. LIBRARY lbstestutils.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/inc/ctlbshybridueassistednpudposstatus.h --- a/lbstest/lbstestproduct/lbshybridmolr/inc/ctlbshybridueassistednpudposstatus.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// This contains the header file for MOLR UE Assisted GPS ok -// -// - -#ifndef CTLBSHYBRIDUEASSISTEDNPUDPOSSTATUS_H -#define CTLBSHYBRIDUEASSISTEDNPUDPOSSTATUS_H - -// LBS test includes. -#include "ctlbshybridmolrstep.h" -#include <lbs/test/posserverwatch.h> -#include "lbs/lbspositioningstatus.h" - -// Literals used -_LIT(KLbsHybridUEAssistedNpudPosStatus,"LbsHybridUEAssistedNpudPosStatus"); - - -class CT_LbsHybridUEAssistedNpudPosStatus: public CT_LbsHybridMOLRStep, /*public MLbsPrivacyObserver*/ public MPosServerObserver, public MLbsPositioningStatusObserver -{ -public: - static CT_LbsHybridUEAssistedNpudPosStatus* New(CT_LbsHybridMOLRServer& aParent); - enum TVerdict doTestStepL(); - ~CT_LbsHybridUEAssistedNpudPosStatus(); - -protected: -/* // from MLbsPrivacyObserver - void ProcessNetworkLocationRequest(TUint aRequestId, const TLbsExternalRequestInfo& aRequestInfo, const TNotificationType& aNotificationType); - void ProcessNetworkPositionUpdate(TUint aRequestId, const TPositionInfo& aPosInfo); - void ProcessRequestComplete(TUint aRequestId, TInt aReason); -*/ - // MPosServerObserver - void OnGetLastKnownPosition(TInt32 aErr, const TPositionInfoBase& aPosInfo); - void OnNotifyPositionUpdate(TInt32 aErr, const TPositionInfoBase& aPosInfo); - - //MLbsPositioningStatusObserver - void OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus); - -protected: - CT_LbsHybridUEAssistedNpudPosStatus(CT_LbsHybridMOLRServer& aParent); - void ConstructL(); - -private: - enum TState - { - EInitializing, - EPrivacyCheckOk, - ERefLocReceived, - EGpsLocReceived - }; - - TState iState; - TLbsNetSessionId iSessionId; - TInt iPosStatusCount; - CLbsPositioningStatus::TLbsPositioningStatus iPositioningStatus; - CLbsPositioningStatus* iLbsPositioningStatus; -}; - -#endif // CTLBSHYBRIDUEASSISTEDNPUDPOSSTATUS_H diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/inc/ctlbsmolrtracking.h --- a/lbstest/lbstestproduct/lbshybridmolr/inc/ctlbsmolrtracking.h Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/inc/ctlbsmolrtracking.h Wed Sep 01 12:35:25 2010 +0100 @@ -30,12 +30,11 @@ #include <lbs/test/posserverwatch.h> #include "ctlbstestactivemanager.h" #include "ctlbsnetprotocol.h" -#include "lbs/lbspositioningstatus.h" // Literals used _LIT(KLbsMolrTracking, "LbsMolrTracking"); -class CT_LbsMolrTracking : public CT_LbsHybridMOLRStep, public MTestFlowObserver, public MLbsPositioningStatusObserver +class CT_LbsMolrTracking : public CT_LbsHybridMOLRStep, public MTestFlowObserver { private: class CT_ClientData : public CBase @@ -105,9 +104,6 @@ void StopTest(); void OnSignalNetworkStep(TInt aSessionId, TInt aSessionStep); - //MLbsPositioningStatusObserver - void OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus); - protected: CT_LbsMolrTracking(CT_LbsHybridMOLRServer& aParent); void ConstructL(); @@ -134,10 +130,6 @@ // =2 - MaxAge test // =3 - EarlyComplete test TInt iSpecialTestMode; - TInt iPositioningIndicatorCount; - TInt iPosStatusCount; - CLbsPositioningStatus* iLbsPositioningStatus; - CLbsPositioningStatus::TLbsPositioningStatus iPositioningStatus; }; #endif //__CT_LBS_MOLR_TRACKING_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/scripts/hybrid_ueassisted_molr_posstatus.script --- a/lbstest/lbstestproduct/lbshybridmolr/scripts/hybrid_ueassisted_molr_posstatus.script Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -//! @File -//! @SYMTestSuiteName LBS-HybridMOLR-UEAssistedMOLR-PosStatus -//! @SYMScriptTestEnvironment TestExecute using hybrid_ueassisted_molr_posstatus.script - - -LOAD_SUITE LbsHybridMOLRTestServer -SharedData - -PRINT Run LbsHybridMOLRTestServer - - -// Before we start LBS, select the test A-GPS integration module to use. -// Make sure the default profile is used, rather than one from the c drive -PREFIX RUN_UTILS - DeleteFile c:\private\10282253\lbs\lbsprofile.ini - MkDir c:\private\10282253\ - MkDir c:\private\10282253\lbs\ - MkDir c:\private\10282253\lbs\locmods\ -// CopyFile c:\testdata\configs\xtestmodule.ini c:\private\10282253\lbs\locmods\agpsintegmodule.ini - CopyFile c:\testdata\configs\ctagpsnpetestmoduledatasource.ini c:\private\10282253\lbs\locmods\agpsintegmodule.ini - CopyFile c:\testdata\configs\lbstestconfig.txt c:\config.txt -REMOVE_PREFIX - -// Reset admin (reset will give us the EGpsPreferTerminalBased). -RUN_TEST_STEP 010 LbsHybridMOLRTestServer LbsStep_ResetDefaultAdmin - -// Use hybrid protocol module -RUN_TEST_STEP 010 LbsHybridMOLRTestServer LbsStep_SetupProtocolStub - -// Use hybrid protocol module -RUN_TEST_STEP 010 LbsHybridMOLRTestServer LbsStep_SetupRoamSelfLocate - -RUN_TEST_STEP 030 LbsHybridMOLRTestServer LbsStep_StartLbs - -START_TESTCASE LBS-HybridMOLR-UEAssistedMOLR-PosStatus-0001 -//! @SYMTestCaseID LBS-HybridMOLR-UEAssistedMOLR-PosStatus-0001 -//! @SYMTestCaseDesc Client generates MOLR request -//! @SYMTestPriority Critical -//! @SYMTestActions See test step Sequence inline comments -//! @SYMTestExpectedResults Sequence as per specified by FSM and UML Seq diagram is Followed -//! @SYMTestType CIT -//! @SYMCreationDate 26/3/2010 -//! @SYMAuthor brsengar -RUN_TEST_STEP 010 LbsHybridMOLRTestServer LbsStep_InstallScheduler -RUN_TEST_STEP 020 LbsHybridMOLRTestServer LbsStep_SetUpPsy c:\testdata\configs\lbs_molr.ini LBS-MOLR -// Configure Hybrid AGps module options -RUN_TEST_STEP 120 LbsHybridMOLRTestServer LbsStep_ConfigHybridModule c:\testdata\configs\lbs_molr.ini UEAssistedMOLRGpsOk -RUN_TEST_STEP 120 LbsHybridMOLRTestServer LbsHybridUEAssistedNpudPosStatus -END_TESTCASE LBS-HybridMOLR-UEAssistedMOLR-PosStatus-0001 - - -RUN_TEST_STEP 020 LbsHybridMOLRTestServer LbsStep_StopLbs - -RUN_UTILS DeleteFile c:\private\10282253\lbs\locmods\agpsintegmodule.ini - diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/src/ctlbshybridmolrserver.cpp --- a/lbstest/lbstestproduct/lbshybridmolr/src/ctlbshybridmolrserver.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/src/ctlbshybridmolrserver.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -47,7 +47,6 @@ #include "ctlbssuplmolrtbfutilesp.h" #include "ctlbsuebasedmolronesl.h" #include "ctlbsmolrerrorassistance.h" -#include "ctlbshybridueassistednpudposstatus.h" /** NewL() @@ -281,10 +280,6 @@ { return CT_LbsMolrErrorAssistance::New(*this); } - else if (aStepName == KLbsHybridUEAssistedNpudPosStatus) - { - return CT_LbsHybridUEAssistedNpudPosStatus::New(*this); - } // Let base class handle any common test steps - will return NULL if test step is not supported. return CT_LbsServer::CreateTestStep(aStepName); diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/src/ctlbshybridueassistednpudposstatus.cpp --- a/lbstest/lbstestproduct/lbshybridmolr/src/ctlbshybridueassistednpudposstatus.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,431 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// This is the class implementation for the MO-LR - Accurate GPS Result scenario Tests -// -// - -// LBS includes. -#include <lbs/test/lbsnetprotocolproxy.h> -#include <lbs/lbsnetprotocolbase.h> -#include <lbs/lbsassistancedatabuilderset.h> - -// LBS test includes. -#include "ctlbshybridueassistednpudposstatus.h" -#include <lbs/test/tlbsutils.h> -#include "argutils.h" -#include <lbs/test/activeyield.h> - - -const TInt KN(2); // Number of times to send the measurement from GPS to NW - -/** -Static Constructor -*/ -CT_LbsHybridUEAssistedNpudPosStatus* CT_LbsHybridUEAssistedNpudPosStatus::New(CT_LbsHybridMOLRServer& aParent) - { - // Note that we do not use ELeave. - // This means that having insufficient memory will return NULL; - CT_LbsHybridUEAssistedNpudPosStatus* testStep = new CT_LbsHybridUEAssistedNpudPosStatus(aParent); - if (testStep) - { - TInt err = KErrNone; - - TRAP(err, testStep->ConstructL()); - if (err) - { - delete testStep; - testStep = NULL; - } - } - return testStep; - } - - -/** - * Constructor - */ -CT_LbsHybridUEAssistedNpudPosStatus::CT_LbsHybridUEAssistedNpudPosStatus(CT_LbsHybridMOLRServer& aParent) : CT_LbsHybridMOLRStep(aParent) - { - SetTestStepName(KLbsHybridUEAssistedNpudPosStatus); - iSessionId.SetSessionOwner(KRequestUid); - iSessionId.SetSessionNum(0x0005); - } - - -void CT_LbsHybridUEAssistedNpudPosStatus::ConstructL() - { - // Create the base class objects. - CT_LbsHybridMOLRStep::ConstructL(); - iLbsPositioningStatus = CLbsPositioningStatus::NewL(*this); - iPosStatusCount = 0; - } - - -/** - * Destructor - */ -CT_LbsHybridUEAssistedNpudPosStatus::~CT_LbsHybridUEAssistedNpudPosStatus() - { - delete iLbsPositioningStatus; - } - -// Hybrid - UE Assisted MO-LR GPS ok - -TVerdict CT_LbsHybridUEAssistedNpudPosStatus::doTestStepL() - { - INFO_PRINTF1(_L("CT_LbsHybridUEAssistedNpudPosStatus::doTestStepL()")); - - // Stop the test if the preable failed - TESTL(TestStepResult() == EPass); - - const TInt KTimeOut = 60*1000*1000; - - // Create Network Protocol Proxy - CNetProtocolProxy* proxy = CNetProtocolProxy::NewL(); - CleanupStack::PushL(proxy); - - // >> AdviceSystemStatus(0) - GetCurrentCapabilitiesResponse - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgGetCurrentCapabilitiesResponse); - CLbsNetworkProtocolBase::TLbsSystemStatus status; - TInt cleanupCnt; - cleanupCnt = proxy->GetArgsLC(ENetMsgGetCurrentCapabilitiesResponse, &status); - TESTL(status == CLbsNetworkProtocolBase::ESystemStatusNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - // Start Test Step - RPositionServer server; - TESTL(KErrNone == server.Connect()); - CleanupClosePushL(server); - - RPositioner pos; - TESTL(KErrNone == pos.Open(server)); - - CPosServerWatcher *pWatch = NULL; - TInt reason = KErrNone; - - CleanupClosePushL(pos); - // Set the max fix time for the client request to ensure the location server does not complete the request too soon during the test. - TPositionUpdateOptions posOpts(TTimeIntervalMicroSeconds(0), TTimeIntervalMicroSeconds(KMOLRFixTime)); - pos.SetUpdateOptions(posOpts); - - pWatch = CPosServerWatcher::NewLC(pos, *this); - - // Request a self-locate MoLr. - pWatch->IssueNotifyPositionUpdate(); - CheckForObserverEventTestsL(KTimeOut, *this); - //We should get Positioning Indicator flag on and may be off after that - TESTL(iPosStatusCount==1); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - - // >> RequestSelfLocation() - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestSelfLocation); - - // Process the response. - TLbsNetSessionId* sessionId = NULL; - TLbsNetPosRequestOptionsAssistance* opts = NULL; - - cleanupCnt = proxy->GetArgsLC(ENetMsgRequestSelfLocation, &sessionId, &opts); - - TBool qualitycheck = ArgUtils::CompareQuality( opts, - ETrue, - KMinHorizontalAcc, - KMinVerticalAcc, - KMOLRFixTime, - 0, - EAssistanceDataReferenceTime, - (TPositionModuleInfo::ETechnologyTerminal - | TPositionModuleInfo::ETechnologyAssisted) - ); - - TESTL(qualitycheck); - - iSessionId.SetSessionNum(sessionId->SessionNum()); - iSessionId.SetSessionOwner(sessionId->SessionOwner()); - - CleanupStack::PopAndDestroy(cleanupCnt); - sessionId = NULL; - opts = NULL; - - // << ProcessStatusUpdate(EServiceSelfLocation) - MLbsNetworkProtocolObserver::TLbsNetProtocolServiceMask activeServiceMask = MLbsNetworkProtocolObserver::EServiceSelfLocation; - proxy->CallL(ENetMsgProcessStatusUpdate, &activeServiceMask); - - // << ProcessLocationUpdate(SessionId, RefPosition) - TPositionInfo refPosInfo = ArgUtils::MolrReferencePositionInfo(); - proxy->CallL(ENetMsgProcessLocationUpdate, &iSessionId, &refPosInfo); - - // TEST: Get the ref pos app side. - CheckForObserverEventTestsL(KTimeOut, *this); - //Check for Position Status update - This event could be after reference position - //NOTE: Ref position and positioning indicator callback can be in any order - CheckForObserverEventTestsL(KTimeOut, *this); - TESTL(iPosStatusCount==2); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - - // << ProcessAssistanceData() - TLbsAsistanceDataGroup dataMask = EAssistanceDataReferenceTime; - RLbsAssistanceDataBuilderSet assistanceData; - ArgUtils::PopulateLC(assistanceData); - reason = KErrNone; - proxy->CallL(ENetMsgProcessAssistanceData, &dataMask, &assistanceData, &reason); - CleanupStack::PopAndDestroy(); // assistanceData - - // << ProcessLocationRequest(SessionId, HybridMode, alpha2) - TBool emergency = EFalse; - MLbsNetworkProtocolObserver::TLbsNetProtocolService service = MLbsNetworkProtocolObserver::EServiceSelfLocation; - TLbsNetPosRequestQuality quality = ArgUtils::Quality(); - quality.SetMaxFixTime(ArgUtils::Alpha2()); - TLbsNetPosRequestMethod method = ArgUtils::RequestHybridMethod(); - proxy->CallL(ENetMsgProcessLocationRequest, &iSessionId, &emergency, &service, &quality, &method); - - // Now that the hybrid/alpha2 has been requested, record current time to verify alpha2 timer expires correctly. - TTime startTime; - startTime.HomeTime(); - - // >> RequestAssistanceData(0) - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestAssistanceData); - cleanupCnt = proxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataMask); - TESTL(dataMask == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - // << NotifyPositionUpdate() - pWatch->IssueNotifyPositionUpdate(); - - CheckForObserverEventTestsL(KTimeOut, *this); - //We should get Positioning Indicator flag on - TESTL(iPosStatusCount==3); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - - // >> RequestAssistanceData(0) - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestAssistanceData); - - - cleanupCnt = proxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataMask); - TESTL(dataMask == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - // Determine the value to take off the alpha2 value. This is required because we had to wait for the assistance data response. - TTimeIntervalMicroSeconds microseconds; - TTime stopTime; - stopTime.HomeTime(); - microseconds = stopTime.MicroSecondsFrom(startTime); - TInt64 timeElapsed = microseconds.Int64(); - TInt delta = 2 * 1000 * 1000; // 2 secs. - - // >> RespondLocationRequest() - TESTL(proxy->WaitForResponse(ArgUtils::Alpha2() - timeElapsed - delta) == ENetMsgTimeoutExpired); - - // Wait for and process the response. - TESTL(proxy->WaitForResponse(2 * delta) == ENetMsgRespondLocationRequest); // DONT get because the measurement data bus has not been created... - - sessionId = NULL; - TPositionGpsMeasurementInfo* measurementInfo = NULL; - cleanupCnt = proxy->GetArgsLC(ENetMsgRespondLocationRequest, &sessionId, &reason, &measurementInfo); - TESTL(sessionId->SessionNum() == iSessionId.SessionNum()); - TESTL(reason == KErrNone); - CleanupStack::PopAndDestroy(cleanupCnt);//sessionId, measurementInfo - - // Recv -> RequestAssistanceData - we get an extra msg as the result of the A-GPS manager re-issueing a location request when it's - // max fix time timer expries. - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestAssistanceData); - cleanupCnt = proxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataMask); - TESTL(dataMask == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - const TInt t = 8 * 1000 * 1000; // 8 secs. - quality.SetMaxFixTime(t); - - TPositionExtendedSatelliteInfo* positionInfo = NULL; - //TPositionInfo* positionInfo = NULL; - - for (TInt i = 0; i < KN; i++) - { - // << ProcessLocationRequest(SessionId, HybridMode, t) - proxy->CallL(ENetMsgProcessLocationRequest, &iSessionId, &emergency, &service, &quality, &method); - - // >> RequestAssistanceData(0) - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestAssistanceData); - cleanupCnt = proxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataMask); - TESTL(dataMask == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - // >> RespondLocationRequest() - first measurement, second position. - TESTL(proxy->WaitForResponse(t + delta) == ENetMsgRespondLocationRequest); - - sessionId = NULL; - - // Expect measurement first time. - if (i < (KN-1)) - { - measurementInfo = NULL; - cleanupCnt = proxy->GetArgsLC(ENetMsgRespondLocationRequest, &sessionId, &reason, &measurementInfo); - - // Check it is measurement - TESTL(measurementInfo->PositionClassType() == EPositionGpsMeasurementInfoClass); - - // >> RequestAssistanceData - we get an extra msg as the result of the A-GPS manager re-issueing a location request when it's - // max fix time timer expries. - TESTL(proxy->WaitForResponse(KTimeOut) == ENetMsgRequestAssistanceData); - - cleanupCnt += proxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataMask); - - TESTL(dataMask == EAssistanceDataNone); - TESTL(sessionId->SessionNum() == iSessionId.SessionNum()); - TESTL(reason == KErrNone); - } - - // Expect position second time. - else - { - cleanupCnt = proxy->GetArgsLC(ENetMsgRespondLocationRequest, &sessionId, &reason, &positionInfo); - - // check it is a position - TESTL(positionInfo->PositionClassType() == (EPositionInfoClass|EPositionCourseInfoClass|EPositionSatelliteInfoClass|EPositionExtendedSatelliteInfoClass)); - TESTL(sessionId->SessionNum() == iSessionId.SessionNum()); - TESTL(reason == KErrNone); - /* Check whether ExtendedSatelliteInfo data received by protocol module is the same as data fed to the GPS module or not. - Latitude(50.2454),Longitude(0.1668),Altitude(1.0),HorizontalAccuracy(10),VerticalAccuracy(10), speed(26.0),vertical speed(20.0),heading(25.0),course(30.0), - SPEED_ACCURACY(2.0),VERTICAL_SPEED_ACCURACY(3.0),HEADING_ACCURACY(10.0),COURSE_ACCURACY(4.0), - SD_OF_LONG_ERROR(5.0),SD_OF_LAT_ERROR(6.0),SD_OF_ALT_ERROR(7.0),SD_OF_SEMI_MAJOR_AXIS_ERROR(8.0), - SD_OF_SEMI_MINOR_AXIS_ERROR(9.0),ORIEN_OF_SEMI_MAJOR_AXIS_ERROR(10.0),RMS_VAL_OF_SD_OF_RANGE(11.0), - GEOIDAL_SEPARATION(12.0),MAGNETIC_VARIATION(13.0),COURSE_OVER_GROUND_MAGNETIC(14.0) - GPS_TIMING_OF_CELL_MsPart(16383),GPS_TIMING_OF_CELL_LsPart(4294967295),REFERENCE_IDENTITY(511) - SFN(4095)*/ - - TPosition gpsPos; - positionInfo->GetPosition(gpsPos); - TESTL(gpsPos.Latitude()==50.2454 && gpsPos.Longitude()== 0.1668 && gpsPos.Altitude()==1.0 - && gpsPos.HorizontalAccuracy()==10 && gpsPos.VerticalAccuracy()==10); - TCourse course; - positionInfo->GetCourse(course); - - TESTL(course.Speed()==26.0 && course.VerticalSpeed()==20.0 && course.Heading()==25.0 && course.Course()==30.0 && - course.SpeedAccuracy()==2.0 && course.VerticalSpeedAccuracy()==3.0 && course.HeadingAccuracy()==10.0 && - course.CourseAccuracy()==4.0); - - TDetailedErrorReport detErrRep; - positionInfo->GetDetailedErrorReport(detErrRep); - TESTL(detErrRep.StanDeviOfLongitudeError()==5.0 && detErrRep.StanDeviOfLatiitudeError()==6.0 && - detErrRep.StanDeviOfAltitudeError()==7.0 && detErrRep.StanDeviOfSemiMajorAxisError()==8.0 && - detErrRep.StanDeviOfSemiMinorAxisError()==9.0 && detErrRep.OrientationOfSemiMajorAxisError()==10.0 && - detErrRep.RmsValOfStanDeviOfRange()==11.0); - - TGpsTimingMeasurementData gpsTimingData; - positionInfo->GetGpsTimingData(gpsTimingData); - - TESTL(gpsTimingData.DataType()== TGpsTimingMeasurementData::EGpsTimingDataTypeUtran && - gpsTimingData.NetworkMode()== TGpsTimingMeasurementData::ENetworkModeFdd && - gpsTimingData.GPSTimingOfCellMsPart()==16383 && gpsTimingData.GPSTimingOfCellLsPart()==4294967295LL && - gpsTimingData.ReferenceIdentity()==511 && gpsTimingData.Sfn()==4095); - - - TESTL(positionInfo->GeoidalSeparation()==12.0 && positionInfo->MagneticVariation()==13.0 && - positionInfo->CourseOverGroundMagnetic()==14.0); - - - // Client recv - the gps position determined by the gps module. - CheckForObserverEventTestsL(KTimeOut, *this); - // Check Positioning Status Indicator callback - - //NOTE: GPS position and positioning indicator callback can be in any order - CheckForObserverEventTestsL(KTimeOut, *this); - //We should get Positioning Indicator flag off - TESTL(iPosStatusCount==4); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - - TESTL(iState == EGpsLocReceived); - - // << ProcessLocationUpdate(SessionId, FinalNetworkPosition) - // Return modules' position as FinalNetworkPosition - proxy->CallL(ENetMsgProcessLocationUpdate, &iSessionId, positionInfo); - } - CleanupStack::PopAndDestroy(cleanupCnt);// sessionId, measurementInfo/positionInfo - } - - // << ProcessSessionComplete(SessionId, KErrNone) - reason = KErrNone; - proxy->CallL(ENetMsgProcessSessionComplete, &iSessionId, &reason); - - // << ENetMsgProcessStatusUpdate() - MLbsNetworkProtocolObserver::TLbsNetProtocolServiceMask serviceMask = MLbsNetworkProtocolObserver::EServiceNone; - proxy->CallL(ENetMsgProcessStatusUpdate, &serviceMask); - - // Wait for 10 seconds to ensure no additional responses turn up. - delta = 10 * 1000 * 1000; - TNetProtocolResponseType mType = proxy->WaitForResponse(delta); - TESTL(mType == ENetMsgTimeoutExpired); - - // Done. Now cleanup... - CleanupStack::PopAndDestroy(pWatch); - CleanupStack::PopAndDestroy(); // pos - CleanupStack::PopAndDestroy(); // server - CleanupStack::PopAndDestroy(proxy); - - return TestStepResult(); - } - - -// MPosServerObserver -void CT_LbsHybridUEAssistedNpudPosStatus::OnGetLastKnownPosition(TInt32 /*aErr*/, const TPositionInfoBase& /*aPosInfo*/) - { - TEST(EFalse); // Shouldn't see this... - ReturnToTestStep(); - } - -void CT_LbsHybridUEAssistedNpudPosStatus::OnNotifyPositionUpdate(TInt32 aErr, const TPositionInfoBase& aPosInfo) - { - // Verify error. - if (aErr == KErrCancel) - { - iState = ERefLocReceived; - } - else - { - TEST(aErr == KErrNone); - - // Verify position. - TEST(aPosInfo.PositionClassType() == EPositionInfoClass); - - // Expecting ref pos. - if (iState == EInitializing) - { - iState = ERefLocReceived; - - TEST(aPosInfo.PositionMode() == TPositionModuleInfo::ETechnologyNetwork); - - // check for refpos details - const TPositionInfo posInfo = static_cast<const TPositionInfo&>(aPosInfo); - TESTL(ArgUtils::ComparePositionInfoToMolrRefPos(posInfo)); - } - - // Expecting network pos. - else if (iState == ERefLocReceived) - { - iState = EGpsLocReceived; - - TEST(aPosInfo.PositionMode() == (TPositionModuleInfo::ETechnologyTerminal | TPositionModuleInfo::ETechnologyAssisted)); - } - - // Not expecting anything else. - else - { - TEST(EFalse); - } - } - ReturnToTestStep(); - } - -void CT_LbsHybridUEAssistedNpudPosStatus::OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus) - { - iPosStatusCount++; - iPositioningStatus = aPositioningStatus; - ReturnToTestStep(); - } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp --- a/lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -84,9 +84,6 @@ { // Create the base class objects. CT_LbsHybridMOLRStep::ConstructL(); - iLbsPositioningStatus = CLbsPositioningStatus::NewL(*this); - iPosStatusCount = 0; - iPositioningStatus = CLbsPositioningStatus::ELbsPositioningStatusNotActive; } /** @@ -94,7 +91,6 @@ */ CT_LbsMolrTracking::~CT_LbsMolrTracking() { - delete iLbsPositioningStatus; TRAP_IGNORE(doTestStepPostambleL()); } @@ -236,16 +232,6 @@ TEST(EFalse); } - _LIT(KPositioningIndicator, "PositioningIndicator"); - TInt positioningIndicatorCount; - if(GetIntFromConfig(ConfigSection(), KPositioningIndicator, positioningIndicatorCount)) - { - iPositioningIndicatorCount = positioningIndicatorCount; - } - else - { - iPositioningIndicatorCount = 0; - } // Get the SpecialTestModemode setting ... 0 means not in a LastKnownPosition mode _LIT(KLastKnownPosition, "SpecialTestMode"); @@ -288,11 +274,6 @@ TVerdict CT_LbsMolrTracking::doTestStepPostambleL() { INFO_PRINTF1(_L(">>CT_LbsMolrTracking::doTestStepPostambleL()")); - if(iPositioningIndicatorCount>0) - { - TESTL(iPositioningIndicatorCount==iPosStatusCount); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - } iClients.ResetAndDestroy(); iClientTestManagers.ResetAndDestroy(); @@ -408,11 +389,7 @@ INFO_PRINTF2(_L("Client number %d received a position"), aObjectId); INFO_PRINTF3(_L("Client now has %d of %d positions"), positionsReceived+1, numberOfNPUDs); - if(iPositioningIndicatorCount>0) - { - TESTL(iPosStatusCount==1); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - } + if (iSpecialTestMode == 2) { @@ -749,8 +726,3 @@ CleanupStack::PopAndDestroy(moduleUpdate); CleanupStack::PopAndDestroy(db); } -void CT_LbsMolrTracking::OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus) - { - iPosStatusCount++; - iPositioningStatus = aPositioningStatus; - } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmolr/testdata/lbs_molr_tracking.ini --- a/lbstest/lbstestproduct/lbshybridmolr/testdata/lbs_molr_tracking.ini Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmolr/testdata/lbs_molr_tracking.ini Wed Sep 01 12:35:25 2010 +0100 @@ -9,7 +9,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 15, interval = 5s, time out = 3s, max age = 0s, accept partial = false @@ -25,7 +24,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 8, interval = 10s, time out = 5s, max age = 0s, accept partial = false @@ -41,7 +39,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, interval = 5s, time out = 3s, max age = 0s, accept partial = false @@ -60,7 +57,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 15, interval = 5s, time out = 3s, max age = 0s, accept partial = false @@ -76,7 +72,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 8, interval = 10s, time out = 5s, max age = 0s, accept partial = false @@ -92,7 +87,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, interval = 5s, time out = 3s, max age = 0s, accept partial = false @@ -173,7 +167,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -190,7 +183,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -206,7 +198,6 @@ // It is expected that the network will return the position PositionOriginator = 2 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -222,7 +213,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -239,7 +229,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -256,7 +245,6 @@ // It is expected that the module will return the position PositionOriginator = 1 expected_api_behaviour = 1 -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 2, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = true, cancel session ID = 2, cancel session step = 1 @@ -278,7 +266,6 @@ $modulemodes,3* // PTB $modulemodes,1* -PositioningIndicator = 2 // The client information @@ -303,7 +290,6 @@ $modulemodes,1* // Auto $modulemodes,3* -PositioningIndicator = 2 // The client information // first client: session ID delay = 0, session step delay = 0, NPUDs = 5, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = false(, cancel session id = 0, cancel step id = 0), psy uid = agps module @@ -324,7 +310,6 @@ // The module should be set to ATA and then not set again // ATA $modulemodes,4* -PositioningIndicator = 2 // The client information @@ -332,3 +317,6 @@ $clientdetails,0,0,3,5000000,3000000,0,false,false,0,0,270526860* // second client: session ID delay = 1, session step delay = 0, NPUDs = 1, interval = 5s, time out = 3s, max age = 0s, accept partial = false, cancel = false(, cancel session id = 0, cancel step id = 0), psy uid = gps module, expected error = KErrInUse $clientdetails,1,0,1,5000000,3000000,0,false,false,0,0,270526858,-14* + + + diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/group/bld.inf --- a/lbstest/lbstestproduct/lbshybridmtlr/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmtlr/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -26,7 +26,6 @@ ../scripts/mtlr_reset_assistance.script c:/testdata/scripts/mtlr_reset_assistance.script ../scripts/mtlr_network_induced.script c:/testdata/scripts/mtlr_network_induced.script ../scripts/lbs_oom.script c:/testdata/scripts/lbs_oom.script -../scripts/hybrid_ueassisted_mtlr_posstatus.script c:/testdata/scripts/hybrid_ueassisted_mtlr_posstatus.script ../testdata/lbs_mtlr.ini c:/testdata/configs/lbs_mtlr.ini diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/group/ctlbshybridmtlrserver.mmp --- a/lbstest/lbstestproduct/lbshybridmtlr/group/ctlbshybridmtlrserver.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmtlr/group/ctlbshybridmtlrserver.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -47,7 +47,6 @@ SOURCE ctlbsmtlrresetassistance.cpp SOURCE ctlbsnetworkinducedmtlr.cpp SOURCE ctlbsoom.cpp -SOURCE ctlbshybridueassistedmtlrposstatus.cpp // LBS libraries. LIBRARY lbs.lib @@ -62,7 +61,6 @@ LIBRARY lbsinternalapi.lib LIBRARY lbspartnercommon.lib LIBRARY lbsdebug.lib -LIBRARY lbspositioningstatus.lib // LBS test libraries. LIBRARY lbstestutils.lib LIBRARY lbstestclient.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/inc/ctlbshybridueassistedmtlrposstatus.h --- a/lbstest/lbstestproduct/lbshybridmtlr/inc/ctlbshybridueassistedmtlrposstatus.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// This contains the header file for MTLR UE Assisted GPS ok -// -// - -#ifndef __CT_LBS_HYBRID_UEASSISTED_MTLR_POS_STATUS_H__ -#define __CT_LBS_HYBRID_UEASSISTED_MTLR_POS_STATUS_H__ - -// LBS includes. -#include <lbs.h> -#include <lbscommon.h> -#include <lbs/lbsnetcommon.h> -#include <lbs/lbsprivacycontroller.h> - -// LBS test includes. -#include "ctlbshybridmtlrstep.h" -#include <lbs/test/lbsnetprotocolproxy.h> -#include "lbs/lbspositioningstatus.h" - - -// Literals used -_LIT(KLbsHybridUEAssistedMTLRPosStatus,"LbsHybridUEAssistedMTLRPosStatus"); - -class CT_LbsHybridUEAssistedMTLRPosStatus: public CT_LbsHybridMTLRStep, public MLbsPrivacyObserver, public MLbsPositioningStatusObserver -{ -public: - static CT_LbsHybridUEAssistedMTLRPosStatus* New(CT_LbsHybridMTLRServer& aParent); - enum TVerdict doTestStepL(); - ~CT_LbsHybridUEAssistedMTLRPosStatus(); - -protected: - // from MLbsPrivacyObserver - void ProcessNetworkLocationRequest(TUint aRequestId, const TLbsExternalRequestInfo& aRequestInfo, const TNotificationType& aNotificationType); - void ProcessNetworkPositionUpdate(TUint aRequestId, const TPositionInfo& aPosInfo); - void ProcessRequestComplete(TUint aRequestId, TInt aReason); - - //MLbsPositioningStatusObserver - void OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus); - -protected: - CT_LbsHybridUEAssistedMTLRPosStatus(CT_LbsHybridMTLRServer& aParent); - void ConstructL(); - -private: - enum TState - { - EInitializing, - EPrivacyCheckOk, - ERefLocReceived, - EGpsLocReceived, - ERequestComplete - }; - - TState iState; - TLbsNetSessionId iSessionId; - CLbsPrivacyController* iController; - CNetProtocolProxy* iProxy; - - CLbsPositioningStatus* iLbsPostioningStatus; - TInt iPosStatusCount; - CLbsPositioningStatus::TLbsPositioningStatus iPositioningStatus; -}; - -#endif //__CT_LBS_HYBRID_UEASSISTED_MTLR_POS_STATUS_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/scripts/hybrid_ueassisted_mtlr_posstatus.script --- a/lbstest/lbstestproduct/lbshybridmtlr/scripts/hybrid_ueassisted_mtlr_posstatus.script Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -LOAD_SUITE LbsHybridMTLRTestServer -SharedData - -PRINT Run LbsHybridMTLRTestServer - - -// Before we start LBS, select the test A-GPS integration module to use. -PREFIX RUN_UTILS - MkDir c:\private\10282253\ - MkDir c:\private\10282253\lbs\ - MkDir c:\private\10282253\lbs\locmods\ -// CopyFile c:\testdata\configs\xtestmodule.ini c:\private\10282253\lbs\locmods\agpsintegmodule.ini - CopyFile c:\testdata\configs\ctagpsnpetestmoduledatasource.ini c:\private\10282253\lbs\locmods\agpsintegmodule.ini - CopyFile c:\testdata\configs\lbstestconfig.txt c:\config.txt -REMOVE_PREFIX - -// Reset admin (reset will give us the EGpsPreferTerminalBased). -RUN_TEST_STEP 010 LbsHybridMTLRTestServer LbsStep_ResetDefaultAdmin - -// Select MTLR privacy controller. -RUN_TEST_STEP 010 LbsHybridMTLRTestServer LbsStep_SetPrivacyHandler c:\testdata\configs\lbs_mtlr.ini PrivHandler - -// Use hybrid protocol module -RUN_TEST_STEP 010 LbsHybridMTLRTestServer LbsStep_SetupProtocolStub - -RUN_TEST_STEP 030 LbsHybridMTLRTestServer LbsStep_StartLbs - - - -START_TESTCASE LBS-HybridMTLR-UEAssistedMTLR-PosStatus-0001 -//!@SYMTestCaseID LBS-HybridMTLR-UEAssistedMTLR-PosStatus-0001 - -//!@SYMTestCaseDesc MTLR Request received -//! GPS Module generates an accurate position in UE Assisted Mode -//! See: lbshybridmtlr/documentation/mtlr.htm#HybridUEAssistedMTLRAccurate -//! -//! -//!@SYMTestActions -//! See test step Sequence inline comments -//! -//! -//!@SYMTestExpectedResults Sequence as per specified by FSM and UML Seq diagram is Followed -//!@SYMPREQ PREQ1624 -//!@SYMREQ REQ1624.xyz -//! -//!@SYMTestType CIT -//!@SYMTestPriority 1 -//!@SYMTestStatus Implemented. - -RUN_TEST_STEP 010 LbsHybridMTLRTestServer LbsStep_InstallScheduler - -// Configure Hybrid AGps module options -RUN_TEST_STEP 120 LbsHybridMTLRTestServer LbsStep_ConfigHybridModule c:\testdata\configs\lbs_mtlr.ini HybridUEAssistedMTLRGPSOK - -RUN_TEST_STEP 120 LbsHybridMTLRTestServer LbsHybridUEAssistedMTLRPosStatus - -END_TESTCASE LBS-HybridMTLR-UEAssistedMTLR-PosStatus-0001 - - - -RUN_TEST_STEP 020 LbsHybridMTLRTestServer LbsStep_StopLbs diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/src/ctlbshybridmtlrserver.cpp --- a/lbstest/lbstestproduct/lbshybridmtlr/src/ctlbshybridmtlrserver.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbshybridmtlr/src/ctlbshybridmtlrserver.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -35,8 +35,6 @@ #include "ctlbsmtlrresetassistance.h" #include "ctlbsnetworkinducedmtlr.h" #include "ctlbsoom.h" -#include "ctlbshybridueassistedmtlrposstatus.h" - /** MainL() Description : This is the main function which installs the @@ -222,11 +220,6 @@ { return CT_LbsOom::New(*this); } - else if (aStepName == KLbsHybridUEAssistedMTLRPosStatus) - { - return CT_LbsHybridUEAssistedMTLRPosStatus::New(*this); - } - // Let base class handle any common test steps - will return NULL if test step is not supported. return CT_LbsServer::CreateTestStep(aStepName); } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbshybridmtlr/src/ctlbshybridueassistedmtlrposstatus.cpp --- a/lbstest/lbstestproduct/lbshybridmtlr/src/ctlbshybridueassistedmtlrposstatus.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -// LBS includes. -#include <lbs/test/lbsnetprotocolproxy.h> -#include <lbs/lbsnetprotocolbase.h> -#include <lbs/lbsassistancedatabuilderset.h> - -// LBS test includes. -#include "ctlbshybridueassistedmtlrposstatus.h" -#include <lbs/test/tlbsutils.h> -#include "argutils.h" -#include <lbs/test/activeyield.h> - - - -/** -Static Constructor -*/ -CT_LbsHybridUEAssistedMTLRPosStatus* CT_LbsHybridUEAssistedMTLRPosStatus::New(CT_LbsHybridMTLRServer& aParent) - { - // Note that we do not use ELeave. - // This means that having insufficient memory will return NULL; - CT_LbsHybridUEAssistedMTLRPosStatus* testStep = new CT_LbsHybridUEAssistedMTLRPosStatus(aParent); - if (testStep) - { - TInt err = KErrNone; - - TRAP(err, testStep->ConstructL()); - if (err) - { - delete testStep; - testStep = NULL; - } - } - return testStep; - } - - -/** - * Constructor - */ -CT_LbsHybridUEAssistedMTLRPosStatus::CT_LbsHybridUEAssistedMTLRPosStatus(CT_LbsHybridMTLRServer& aParent) : CT_LbsHybridMTLRStep(aParent) - { - SetTestStepName(KLbsHybridUEAssistedMTLRPosStatus); - iState = EInitializing; - iSessionId.SetSessionOwner(KRequestUid); - iSessionId.SetSessionNum(0x0005); - } - - -void CT_LbsHybridUEAssistedMTLRPosStatus::ConstructL() - { - // Create the base class objects. - CT_LbsHybridMTLRStep::ConstructL(); - iController = CLbsPrivacyController::NewL(*this); - iProxy = CNetProtocolProxy::NewL(); - iLbsPostioningStatus = CLbsPositioningStatus::NewL(*this); - iPosStatusCount = 0; - } - - -/** - * Destructor - */ -CT_LbsHybridUEAssistedMTLRPosStatus::~CT_LbsHybridUEAssistedMTLRPosStatus() - { - delete iLbsPostioningStatus; - delete iController; - delete iProxy; - } - - -TVerdict CT_LbsHybridUEAssistedMTLRPosStatus::doTestStepL() - { - INFO_PRINTF1(_L("CT_LbsHybridUEAssistedMTLRPosStatus::doTestStepL()")); - // Stop the test if the preamble failed - TESTL(TestStepResult() == EPass); - - const TInt KTimeOut = 60*1000*1000; - const TInt KAdviceSystemStatusTimeout = 40*1000*1000; - const TInt KSmallTimeOut = 3*1000*1000; - - // >> AdviceSystemStatus(0) - TESTL(iProxy->WaitForResponse(KAdviceSystemStatusTimeout) == ENetMsgGetCurrentCapabilitiesResponse); - CLbsNetworkProtocolBase::TLbsSystemStatus status; - TInt cleanupCnt; - cleanupCnt = iProxy->GetArgsLC(ENetMsgGetCurrentCapabilitiesResponse, &status); - TESTL(status == CLbsNetworkProtocolBase::ESystemStatusNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - // Initiate MTLR Start - // << ProcessStatusUpdate() - MLbsNetworkProtocolObserver::TLbsNetProtocolServiceMask activeServiceMask = MLbsNetworkProtocolObserver::EServiceMobileTerminated; - iProxy->CallL(ENetMsgProcessStatusUpdate, &activeServiceMask); - - // << ProcessPrivacyRequest() - const TBool emergency = ETrue; - TLbsNetPosRequestPrivacy privacy = ArgUtils::Privacy(); - TLbsExternalRequestInfo requestInfo = ArgUtils::RequestInfo(); - iProxy->CallL(ENetMsgProcessPrivacyRequest, &iSessionId, &emergency, &privacy, &requestInfo); - - // >> Callback from RespondNetworkLocationRequest(ERequestAccepted) - CheckForObserverEventTestsL(KTimeOut, *this); - - // Since its emergency request, Position request must be accepted and we should get UI indicator on - CheckForObserverEventTestsL(KTimeOut, *this); - TESTL(iPosStatusCount==1); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - - // >> Respond Privacy Request - TESTL(iProxy->WaitForResponse(KTimeOut) == ENetMsgRespondPrivacyRequest); - TLbsNetSessionId* getSessionId = NULL; - CLbsNetworkProtocolBase::TLbsPrivacyResponse getPrivacy; - cleanupCnt = iProxy->GetArgsLC(ENetMsgRespondPrivacyRequest, &getSessionId, &getPrivacy); - TESTL(getSessionId->SessionNum()==iSessionId.SessionNum()); - TESTL(getPrivacy==CLbsNetworkProtocolBase::EPrivacyResponseAccepted); - CleanupStack::PopAndDestroy(cleanupCnt);//getSessionId - // Initiate MTLR End - - // MTLR Reference Position Notification Start - // << ProcessLocationUpdate() - TPositionInfo positionInfo = ArgUtils::ReferencePositionInfo(); - iProxy->CallL(ENetMsgProcessLocationUpdate, &iSessionId, &positionInfo); - // MTLR Reference Position Notification Stop - - // MTLR Assistance Data Notification Start - // << ProcessAssistanceData() - TLbsAsistanceDataGroup dataRequestMask = EAssistanceDataReferenceTime; - RLbsAssistanceDataBuilderSet assistanceData; - ArgUtils::PopulateLC(assistanceData); - TInt reason = KErrNone; - iProxy->CallL(ENetMsgProcessAssistanceData, &dataRequestMask, &assistanceData, &reason); - CleanupStack::PopAndDestroy(); //assistanceData - // MTLR Assistance Data Notification Stop - - // MTLR Network Location Request Start - // << ProcessLocationRequest() - MLbsNetworkProtocolObserver::TLbsNetProtocolService service = MLbsNetworkProtocolObserver::EServiceMobileTerminated; - TLbsNetPosRequestQuality quality = ArgUtils::QualityAlpha2(); - TLbsNetPosRequestMethod method = ArgUtils::RequestHybridMethod(); - iProxy->CallL(ENetMsgProcessLocationRequest, &iSessionId, &emergency, &service, &quality, &method); - // MTLR Network Location Request Stop - - //Start the timer - TTime timerStart; - timerStart.HomeTime(); - - // >> Callback from ProcessNetworkPostionUpdate(refPosition) - CheckForObserverEventTestsL(KSmallTimeOut, *this); - - // >> RequestAssistanceData(0) - TESTL(iProxy->WaitForResponse(KSmallTimeOut) == ENetMsgRequestAssistanceData); - TLbsAsistanceDataGroup dataGroup; - cleanupCnt = iProxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataGroup); - TESTL(dataGroup == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - //Find the time elapsed from timer - TTimeIntervalMicroSeconds microseconds; - TTime timerStop; - timerStop.HomeTime(); - microseconds = timerStop.MicroSecondsFrom(timerStart); - TInt64 timeElapsed = microseconds.Int64(); - - // >> RespondLocationRequest() - //Test that we do not get response before alpha2 has expired - TESTL(iProxy->WaitForResponse(KAlpha2Timeout-timeElapsed-KDelta) == ENetMsgTimeoutExpired); - TESTL(iProxy->WaitForResponse(2*KDelta) == ENetMsgRespondLocationRequest); - - getSessionId = NULL; - TInt getReason = KErrNone; - TPositionSatelliteInfo* getPositionInfo = NULL; - cleanupCnt = iProxy->GetArgsLC(ENetMsgRespondLocationRequest, &getSessionId, &getReason, &getPositionInfo); - TESTL(getSessionId->SessionNum() == iSessionId.SessionNum()); - TESTL(getReason==KErrNone); - CleanupStack::PopAndDestroy(cleanupCnt); //getSessionId,getPositionInfo - - //NHR's timer alpha2 times out -> Hybrid Positioning Start - //<< ProcessLocationRequest() - quality = ArgUtils::Quality(); //Set timeout to t - iProxy->CallL(ENetMsgProcessLocationRequest, &iSessionId, &emergency, &service, &quality, &method); - - // >> RequestAssistanceData(0) - TESTL(iProxy->WaitForResponse(KSmallTimeOut) == ENetMsgRequestAssistanceData); - cleanupCnt = iProxy->GetArgsLC(ENetMsgRequestAssistanceData, &dataGroup); - TESTL(dataGroup == EAssistanceDataNone); - CleanupStack::PopAndDestroy(cleanupCnt); - - // >> RespondLocationRequest() - TESTL(iProxy->WaitForResponse(KTTimeout) == ENetMsgRespondLocationRequest); - getSessionId = NULL; - getReason = KErrNone; - getPositionInfo = NULL; - cleanupCnt = iProxy->GetArgsLC(ENetMsgRespondLocationRequest, &getSessionId, &getReason, &getPositionInfo); - TESTL(getSessionId->SessionNum() == iSessionId.SessionNum()); - TESTL(getReason==KErrNone); - CleanupStack::PopAndDestroy(cleanupCnt);//getSessionId,getPositionInfo - - //<< ProcessNetworkPositionUpdate() | GPS Pos[Accurate Fix] - CheckForObserverEventTestsL(KTimeOut, *this); - TESTL(iState==EGpsLocReceived); - - // MTLR Session Completion Start - // << ProcessSessionComplete() - reason = KErrNone; - iProxy->CallL(ENetMsgProcessSessionComplete, &iSessionId, &reason); - - // << ProcessStatusUpdate() - MLbsNetworkProtocolObserver::TLbsNetProtocolServiceMask activeServiceMask2 = MLbsNetworkProtocolObserver::EServiceNone; - iProxy->CallL(ENetMsgProcessStatusUpdate, &activeServiceMask2); - - // >> Callback from ProcessRequestComplete() - CheckForObserverEventTestsL(KTimeOut, *this); - - CheckForObserverEventTestsL(KTimeOut, *this); - TESTL(iPosStatusCount==2); - TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - - // Verify that the last callback was to ProcessSessionComplete() - TESTL(iState==ERequestComplete); - // MTLR Session Completion Stop - - return TestStepResult(); - } - -void CT_LbsHybridUEAssistedMTLRPosStatus::ProcessNetworkLocationRequest(TUint aRequestId, const TLbsExternalRequestInfo& /*aRequestInfo*/, const TNotificationType& /*aNotificationType*/) - { - INFO_PRINTF1(_L(">>CT_LbsHybridUEAssistedMTLRPosStatus::ProcessNetworkLocationRequest()")); - TEST(iState==EInitializing); - iController->RespondNetworkLocationRequest(aRequestId, CLbsPrivacyController::ERequestAccepted); - iState = EPrivacyCheckOk; - ReturnToTestStep(); - } - -void CT_LbsHybridUEAssistedMTLRPosStatus::ProcessNetworkPositionUpdate(TUint /*aRequestId*/, const TPositionInfo& aPosInfo) - { - if(iState==EPrivacyCheckOk) - { - iState=ERefLocReceived; - INFO_PRINTF1(_L(">>CT_LbsHybridUEAssistedMTLRPosStatus::ProcessNetworkPositionUpdate(RefPosition)")); - } - else if(iState==ERefLocReceived) - { - // Test for $update,1,2,51.5015,-0.105,50,2,3* - TPosition getPos; - aPosInfo.GetPosition(getPos); - if(getPos.Latitude()==51.5015 && getPos.Longitude()==-0.105 && getPos.Altitude()==50 && getPos.HorizontalAccuracy()==2 && getPos.VerticalAccuracy()==3) - { - INFO_PRINTF1(_L(">>CT_LbsHybridUEAssistedMTLRPosStatus::ProcessNetworkPositionUpdate(GpsPosition)")); - iState=EGpsLocReceived; - } - } - ReturnToTestStep(); - } - -void CT_LbsHybridUEAssistedMTLRPosStatus::ProcessRequestComplete(TUint /*aRequestId*/, TInt /*aReason*/) - { - INFO_PRINTF1(_L(">>CT_LbsHybridUEAssistedMTLRPosStatus::ProcessRequestComplete()")); - TEST(iState==EGpsLocReceived); - iState=ERequestComplete; - ReturnToTestStep(); - } - -void CT_LbsHybridUEAssistedMTLRPosStatus::OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus) - { - iPosStatusCount++; - iPositioningStatus = aPositioningStatus; - ReturnToTestStep(); - } diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbstestutils/EABI/LbsTestUtilsU.DEF --- a/lbstest/lbstestproduct/lbstestutils/EABI/LbsTestUtilsU.DEF Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbstestutils/EABI/LbsTestUtilsU.DEF Wed Sep 01 12:35:25 2010 +0100 @@ -92,5 +92,4 @@ _ZN10T_LbsUtils38ResetIntegrationModulesCountOfCancelsLEv @ 91 NONAME _ZN10T_LbsUtils41IncrementIntegrationModulesCountOfCancelsEv @ 92 NONAME _ZN17CT_LbsAGpsHandler28SendImmediateMeasurementsMsgERKi @ 93 NONAME - _ZN10T_LbsUtils15Compare_LogBaseERK12CLbsLogEventS2_ @ 94 NONAME diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/lbstestutils/src/tlbsutils.cpp --- a/lbstest/lbstestproduct/lbstestutils/src/tlbsutils.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/lbstestutils/src/tlbsutils.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -1141,7 +1141,7 @@ /** * Method for comparing base class member variables in Logevent types */ -EXPORT_C TBool T_LbsUtils::Compare_LogBase(const CLbsLogEvent& aLogEventSideA, const CLbsLogEvent& aLogEventSideB) +TBool T_LbsUtils::Compare_LogBase(const CLbsLogEvent& aLogEventSideA, const CLbsLogEvent& aLogEventSideB) { if(aLogEventSideA.Direction() != aLogEventSideB.Direction()) return EFalse; diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMolrSuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMolrSuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMolrSuite.xml Wed Sep 01 12:35:25 2010 +0100 @@ -21,7 +21,6 @@ <test>lbshybridmolr_uebased_values</test> <test>lbshybridmolr_uebased_partial</test> <test>lbshybridmolr_error_assistance</test> - <test>hybrid_ueassisted_molr_posstatus</test> </testItems> <testExecuteServers> <server>LbsHybridMOLRTestServer</server> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMolrSuite/hybrid_ueassisted_molr_posstatus.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMolrSuite/hybrid_ueassisted_molr_posstatus.xml Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE testExecuteTest SYSTEM "c:\program files\common files\symbian\testExecuteTest.dtd" [ ]> - -<testExecuteTest> - - <name>hybrid_ueassisted_molr_posstatus</name> - <timeout>600</timeout> - <testScripts> - <script> - <hostPath>lbstest\lbstestproduct\lbshybridmolr\scripts\hybrid_ueassisted_molr_posstatus.script</hostPath> - <devicePath>c:\testdata\scripts\hybrid_ueassisted_molr_posstatus.script</devicePath> - </script> - </testScripts> - <testServers> - <server>LbsHybridMOLRTestServer</server> - </testServers> - <dependencies> - <data> - <hostPath>lbstest\lbstestproduct\lbshybridmolr\testdata\lbs_molr.ini</hostPath> - <devicePath>c:\testdata\configs\lbs_molr.ini</devicePath> - </data> - </dependencies> -</testExecuteTest> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMtlrSuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMtlrSuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMtlrSuite.xml Wed Sep 01 12:35:25 2010 +0100 @@ -4,7 +4,6 @@ <testSuite> <name>LbsHybridMtlrSuite</name> <testItems> - <test>hybrid_ueassisted_mtlr_posstatus</test> <test>lbshybridmtlr_uebased</test> <test>lbshybridmtlr_ueassisted_gps_ok</test> <test>lbshybridmtlr_ueassisted_no_gps</test> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMtlrSuite/hybrid_ueassisted_mtlr_posstatus.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsIntegrationSuite/LbsHybridMtlrSuite/hybrid_ueassisted_mtlr_posstatus.xml Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE testExecuteTest SYSTEM "c:\program files\common files\symbian\testExecuteTest.dtd" [ ]> - -<testExecuteTest> - - <name>hybrid_ueassisted_mtlr_posstatus</name> - <timeout>600</timeout> - <testScripts> - <script> - <hostPath>lbstest\lbstestproduct\lbshybridmtlr\scripts\hybrid_ueassisted_mtlr_posstatus.script</hostPath> - <devicePath>c:\testdata\scripts\hybrid_ueassisted_mtlr_posstatus.script</devicePath> - </script> - </testScripts> - <testServers> - <server>LbsHybridMTLRTestServer</server> - </testServers> - <dependencies> - <data> - <hostPath>lbstest\lbstestproduct\lbshybridmtlr\testdata\lbs_mtlr.ini</hostPath> - <devicePath>c:\testdata\configs\lbs_mtlr.ini</devicePath> - </data> - </dependencies> -</testExecuteTest> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsPrivacySuite/LbsUnitSuite/te_lbsnetworkprivacySuite/testexecuteservers/te_networkprivacySuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsPrivacySuite/LbsUnitSuite/te_lbsnetworkprivacySuite/testexecuteservers/te_networkprivacySuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsPrivacySuite/LbsUnitSuite/te_lbsnetworkprivacySuite/testexecuteservers/te_networkprivacySuite.xml Wed Sep 01 12:35:25 2010 +0100 @@ -9,7 +9,7 @@ <hostPath>te_dummynetgateway.exe</hostPath> <devicePath>c:\sys\bin\te_dummynetgateway.exe</devicePath> <mmpFile>te_dummynetgateway.mmp</mmpFile> - <bldInfPath>networkprotocolmodules\privacyprotocolmodule\test\te_dummynetgateway\group\bld.inf</bldInfPath> + <bldInfPath>networkprotocolmodules\privacyprotocolmodule\test\te_dummynetgateway\group\BLD.INF</bldInfPath> </build> </dependencies> </testExecuteServer> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite.xml Wed Sep 01 12:35:25 2010 +0100 @@ -135,6 +135,36 @@ <mmpFile>networkpsy2.mmp</mmpFile> <bldInfPath>locationrequestmgmt\locationserver\lbstestpsys\networkpsy2\group\bld.inf</bldInfPath> </buildable> + + <buildable type="test"> + <hostPath>lbstestlocmonitorapi.dll</hostPath> + <devicePath>c:\system\libs\lbstestlocmonitorapi.dll</devicePath> + <mmpFile>lbstestlocmonitorapi.mmp</mmpFile> + <bldInfPath>locationrequestmgmt\locationserver\test\testLocMonitorApi\group\bld.inf</bldInfPath> + </buildable> + + <buildable type="test"> + <hostPath>testlocmonitorserver.exe</hostPath> + <devicePath>c:\sys\bin\testlocmonitorserver.exe</devicePath> + <mmpFile>testlocmonitorserver.mmp</mmpFile> + <bldInfPath>locationrequestmgmt\locationserver\test\testLocMonitorServer\group\bld.inf</bldInfPath> + </buildable> + + <buildable type="test"> + <hostPath>testlocserver.exe</hostPath> + <devicePath>c:\sys\bin\testlocserver.exe</devicePath> + <mmpFile>testlocserver.mmp</mmpFile> + <bldInfPath>locationrequestmgmt\locationserver\test\testLocServer\group\bld.inf</bldInfPath> + </buildable> + + <buildable type="test"> + <hostPath>testlocationmonitor.exe</hostPath> + <devicePath>c:\sys\bin\testlocationmonitor.exe</devicePath> + <mmpFile>testlocationmonitor.mmp</mmpFile> + <bldInfPath>locationmgmt\locmonitor\test\testlocationmonitor\group\bld.inf</bldInfPath> + </buildable> + + </dependencies> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsagpspsysuite/te_lbsagpspsytest.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsagpspsysuite/te_lbsagpspsytest.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsagpspsysuite/te_lbsagpspsytest.xml Wed Sep 01 12:35:25 2010 +0100 @@ -22,29 +22,29 @@ <devicePath>c:\testdata\configs\te_lbsagpspsy.ini</devicePath> </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_exclusive.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_exclusive.ini</devicePath> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_exclusive.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_exclusive.ini</devicePath> </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_simultaneous.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_simultaneous.ini</devicePath> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_simultaneous.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_simultaneous.ini</devicePath> </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_ta.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_ta.ini</devicePath> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_ta.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_ta.ini</devicePath> </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_tb.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_tb.ini</devicePath> - </data> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_devicecaps_tb.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_devicecaps_tb.ini</devicePath> + </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_lbsprofile.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_lbsprofile.ini</devicePath> - </data> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_lbsprofile.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_lbsprofile.ini</devicePath> + </data> <data> - <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_agpsintegmodule.ini</hostPath> - <devicePath>c:\testdata\configs\te_lbsagpspsy_agpsintegmodule.ini</devicePath> - </data> + <hostPath>datasourcemodules\gpspositioningmodule\lbsagpspsy\test\testdata\te_lbsagpspsy_agpsintegmodule.ini</hostPath> + <devicePath>c:\testdata\configs\te_lbsagpspsy_agpsintegmodule.ini</devicePath> + </data> </dependencies> </testExecuteTest> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsgpspsysuite/te_lbsgpspsytest.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsgpspsysuite/te_lbsgpspsytest.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsgpspsysuite/te_lbsgpspsytest.xml Wed Sep 01 12:35:25 2010 +0100 @@ -17,15 +17,15 @@ </testServers> <dependencies> - <data> + <data> <hostPath>datasourcemodules\gpspositioningmodule\lbsgpspsy\test\testdata\te_lbsgpspsy.ini</hostPath> <devicePath>c:\testdata\configs\te_lbsgpspsy.ini</devicePath> </data> - <data> + <data> <hostPath>datasourcemodules\gpspositioningmodule\lbsgpspsy\test\testdata\te_lbsgpspsy_agpsintegmodule.ini</hostPath> <devicePath>c:\testdata\configs\te_lbsgpspsy_agpsintegmodule.ini</devicePath> </data> - <data> + <data> <hostPath>datasourcemodules\gpspositioningmodule\lbsgpspsy\test\testdata\te_lbsgpspsy_lbsprofile.ini</hostPath> <devicePath>c:\testdata\configs\te_lbsgpspsy_lbsprofile.ini</devicePath> </data> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbslocationinfoconvertersuite/te_lbslocationinfoconvertertest.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbslocationinfoconvertersuite/te_lbslocationinfoconvertertest.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbslocationinfoconvertersuite/te_lbslocationinfoconvertertest.xml Wed Sep 01 12:35:25 2010 +0100 @@ -3,7 +3,7 @@ <testExecuteTest> <name>te_lbslocationinfoconvertertest</name> - <timeout>240</timeout> + <timeout>1240</timeout> <testScripts> <script> <hostPath>locationmgmt\locmonitor\test\te_lbslocationinforconvertertef\scripts\te_LbsLocationInfoConverterSuite.script</hostPath> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsnetpsysuite/te_lbsnetpsytest.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsnetpsysuite/te_lbsnetpsytest.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbsnetpsysuite/te_lbsnetpsytest.xml Wed Sep 01 12:35:25 2010 +0100 @@ -17,7 +17,7 @@ </testServers> <dependencies> - <data> + <data> <hostPath>datasourcemodules\networkpositioningmodule\test\testdata\te_lbsnetpsy.ini</hostPath> <devicePath>c:\testdata\configs\te_lbsnetpsy.ini</devicePath> </data> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<testSuite> - <name>te_lbspositioningstatussuite</name> - <testItems> - <test>te_lbspositioningstatustest</test> - </testItems> - <testExecuteServers> - <server>te_lbspositioningstatussuite</server> - </testExecuteServers> -</testSuite> - diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite/te_lbspositioningstatustest.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite/te_lbspositioningstatustest.xml Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE testExecuteTest SYSTEM "c:\program files\common files\symbian\testExecuteTest.dtd" [ ]> - -<testExecuteTest> - <name>te_lbspositioningstatustest</name> - <timeout>300</timeout> - <testScripts> - <script> - <hostPath>locationmgmt\locationcore\lbspositioningstatus\test\te_lbspositioningstatus\scripts\te_lbspositioningstatus.script</hostPath> - <devicePath>c:\testdata\scripts\te_lbspositioningstatus.script</devicePath> - </script> - </testScripts> - <testServers> - <server>te_lbspositioningstatussuite</server> - </testServers> -</testExecuteTest> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite/testexecuteservers/te_lbspositioningstatussuite.xml --- a/lbstest/lbstestproduct/tdxml/LbsSuite/LbsUnitSuite/te_lbspositioningstatussuite/testexecuteservers/te_lbspositioningstatussuite.xml Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<testExecuteServer> - <name>te_lbspositioningstatussuite</name> - <mmpFile>te_lbspositioningstatus.mmp</mmpFile> - <bldInfPath>locationmgmt\locationcore\lbspositioningstatus\test\te_lbspositioningstatus\group\bld.inf</bldInfPath> -</testExecuteServer> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/bld.inf --- a/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -27,10 +27,7 @@ ../testdata/te_lbsbtgpspsy.ini c:/testdata/configs/te_lbsbtgpspsy.ini - -//comment out: default featuredatabase.xml file does want we want..i.e includes the by psy. -//../testdata/featuredatabase.xml /epoc32/rom/include/featuredatabase.xml - +../testdata/featuredatabase.xml /epoc32/rom/include/featuredatabase.xml ./te_lbsbtgpspsy.iby /epoc32/rom/include/te_lbsbtgpspsy.iby diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/te_lbsbtgpspsy.mmp --- a/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/te_lbsbtgpspsy.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/group/te_lbsbtgpspsy.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -67,6 +67,7 @@ LIBRARY efsrv.lib // File server LIBRARY lbs.lib // Location acquisition API +LIBRARY cntmodel.lib // contact db LIBRARY btextnotifiers.lib LIBRARY btdevice.lib diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/testdata/featuredatabase.xml --- a/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/testdata/featuredatabase.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/lbstestproduct/ut/lbsgpsdatasourcemodules/lbslocbtgpspsy/te_lbsbtgpspsy/testdata/featuredatabase.xml Wed Sep 01 12:35:25 2010 +0100 @@ -46,19 +46,19 @@ <hrhmacro exclude="SYMBIAN_EXCLUDE_FAX"/> </feature> <feature name="Print" statusflags="0x00000001" uid="0x000005FF"> - <hrhmacro include="__UPNP_PRINT_FRAMEWORK"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_PRINT"/> </feature> <feature name="Bluetooth" statusflags="0x00000001" uid="0x0000000C"> - <hrhmacro include="__BT"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_BLUETOOTH"/> </feature> <feature name="Infrared" statusflags="0x00000001" uid="0x0000000B"> - <hrhmacro include="__IRDA"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_INFRARED"/> </feature> <feature name="Mmc" statusflags="0x00000001" uid="0x00000001"> - <hrhmacro include="__MMC"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_MMC"/> </feature> <feature name="Usb" statusflags="0x00000001" uid="0x0000000D"> - <hrhmacro include="__USB"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_USB"/> </feature> <feature name="Obex" statusflags="0x00000001" uid="0x1027980C"> <hrhmacro exclude="SYMBIAN_EXCLUDE_OBEX"/> @@ -76,32 +76,32 @@ <hrhmacro exclude="SYMBIAN_EXCLUDE_QOS_PROTPLUGINS"/> </feature> <feature name="IPSec" statusflags="0x00000001" uid="0x00000066"> - <hrhmacro include="__IPSEC"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_IPSEC"/> </feature> <feature name="Dhcp" statusflags="0x00000001" uid="0x0000006B"> - <hrhmacro include="__DHCP"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_DHCP"/> </feature> <feature name="Connectivity" statusflags="0x00000001" uid="0x10279816"> <hrhmacro exclude="SYMBIAN_EXCLUDE_PC_CONNECTIVITY_EXCEPT_SECURE_BACKUP"/> </feature> <feature name="MTP" statusflags="0x00000001" uid="0x000001F8"> - <hrhmacro include="__MTP_PROTOCOL_SUPPORT"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_MTP"/> </feature> <feature name="Location" statusflags="0x00000001" uid="0x00000072"></feature> <feature name="MobileIP" statusflags="0x00000001" uid="0x10281819"></feature> <feature name="OfflineMode" statusflags="0x00000001" uid="0x00000007"></feature> <feature name="DRM" statusflags="0x00000001" uid="0x0000005B"></feature> <feature name="Vibra" statusflags="0x00000001" uid="0x0000019B"> - <hrhmacro include="__VIBRA"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_VIBRA"/> </feature> <feature name="AmbientLightSensor" statusflags="0x00000001" uid="0x000005F9"> - <hrhmacro include="__SERIES60_AMBIENT_LIGHT_SENSOR"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_AMBIENT_LIGHT_SENSOR"/> </feature> <feature name="CoverDisplay" statusflags="0x00000001" uid="0x00000003"> - <hrhmacro include="__COVER_DISPLAY"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_COVER_DISPLAY"/> </feature> <feature name="KeypadNoSlider" statusflags="0x00000001" uid="0x000003F5"> - <hrhmacro include="__SERIES60_KEYPAD_NO_SLIDER"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_KEYPAD_NO_SLIDER"/> </feature> <feature name="LocationManagement" statusflags="0x00000001" uid="0x10279818"> <hrhmacro exclude="SYMBIAN_EXCLUDE_LOCATION_MANAGEMENT"/> @@ -109,8 +109,8 @@ <feature name="LocationAPIVariant2" statusflags="0x00000001" uid="0x10285D69"> <hrhmacro include="SYMBIAN_INCLUDE_LOCATION_API_VARIANT2"/> </feature> - <feature name="BluetoothGPSPositioningPlugin" statusflags="0x00000001" uid="0x10285D6A"> - <hrhmacro include="__BLUETOOTHGPSPSY"/> + <feature name="BluetoothGPSPositioningPlugin" statusflags="0x00000001" uid="0x0000007A"> + <hrhmacro include="SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM"/> </feature> <feature name="DefaultPositioningPlugin" statusflags="0x00000001" uid="0x10285D6B"> <hrhmacro include="SYMBIAN_INCLUDE_DEFAULT_PM"/> @@ -125,16 +125,16 @@ <hrhmacro include="SYMBIAN_INCLUDE_LOCATION_ADVANCED_DIALOG"/> </feature> <feature name="CsVideoTelephony" statusflags="0x00000001" uid="0x00000059"> - <hrhmacro include="__CS_VIDEO_TELEPHONY"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_CS_VIDEO_TELEPHONY"/> </feature> <feature name="EmergencyCallsEnabledInOfflineMode" statusflags="0x00000001" uid="0x00000126"> - <hrhmacro include="__COMMON_TSY__EMERGENCY_CALLS_ENABLED_IN_OFFLINE_MODE"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_EMERGENCY_CALLS_ENABLED_IN_OFFLINE_MODE"/> </feature> <feature name="DriveModeCanRestrictMtCalls" statusflags="0x00000001" uid="0x00000584"> - <hrhmacro include="__DRIVE_MODE"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_DRIVE_MODE_CAN_RESTRICT_MT_CALLS"/> </feature> <feature name="FmTx" statusflags="0x00000001" uid="0x000006A9"> - <hrhmacro include="FF_FMTX"/> + <hrhmacro exclude="SYMBIAN_EXCLUDE_FMTX"/> </feature> <!-- PREQ 2051 - Variation Support - Start --> <feature name="Libxml2" statusflags="0x00000001" uid="0x10286747"> @@ -147,6 +147,12 @@ <hrhmacro infeaturesetiby="no" exclude="SYMBIAN_EXCLUDE_LIBXML2_DOM_XPATH_API"/> </feature> <!-- PREQ 2051 - Variation Support - End --> + <feature name="FeatureIdFfHttpAllowUntrustedCertificates" statusflags="0x00000001" uid="0x00000153"> + <hrhmacro exclude="SYMBIAN_EXCLUDE_HTTP_ALLOW_UNTRUSTED_CERTIFICATES"/> + </feature> + <feature name="FeatureIdFfIpsecUmaSupportEnable" statusflags="0x00000001" uid="0x0000014C"> + <hrhmacro exclude="SYMBIAN_EXCLUDE_IPSEC_UMA_SUPPORT_ENABLE"/> + </feature> </featureset> <defaultfeaturerange higheruid="0x10281805" loweruid="0x10279806"></defaultfeaturerange> diff -r 0c2046328c85 -r c92d4f3c47c5 lbstest/locationprotocoltest/group/BLD.INF --- a/lbstest/locationprotocoltest/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/lbstest/locationprotocoltest/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -15,7 +15,7 @@ // Main projects, in build order #include "../../../networkprotocolmodules/networkprotocolmodule/LbsAssistanceDataSourceInterface/group/bld.inf" -#include "../../../networkprotocolmodules/networkprotocolmodule/LbsNetSim/group/bld.inf" +#include "../../../networkprotocolmodules/networkprotocolmodule/LbsNetSim/group/BLD.INF" #include "../../../networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/group/bld.inf" #include "../../../networkprotocolmodules/networkprotocolmodule/suplasn1/group/bld.inf" #include "../../../networkprotocolmodules/networkprotocolmodule/LbsSuplTestProtocol/group/bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/GPSClock/group/BLD.INF --- a/locationmgmt/locationcore/GPSClock/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/GPSClock/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -13,4 +13,4 @@ // Description: // -#include "../GpsSetClock/group/bld.inf" +#include "../GpsSetClock/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsADataCache/group/BLD.INF --- a/locationmgmt/locationcore/LbsADataCache/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsADataCache/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -24,4 +24,4 @@ lbsadatacache.mmp PRJ_TESTMMPFILES -#include "../test/group/bld.inf" +#include "../test/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/group/BLD.INF --- a/locationmgmt/locationcore/LbsClient/LbsApi/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -38,6 +38,7 @@ ../inc/lbs.inl SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(lbs.inl) ../inc/LbsPositionCalc.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(lbspositioncalc.h) ../inc/LbsGpsMeasurement.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbsgpsmeasurement.h) +../inc/lbsvariant.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbsvariant.h) ../inc/LbsAreaInfo.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(lbsareainfo.h) PRJ_MMPFILES diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsCommon.h --- a/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsCommon.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsCommon.h Wed Sep 01 12:35:25 2010 +0100 @@ -21,6 +21,7 @@ #include <lbsrequestor.h> #include <lbsclasstypes.h> #include <lbserrors.h> +#include <lbsvariant.h> /** @publishedAll @@ -39,8 +40,9 @@ @released Maximum characters in module name. +If __S60_ is defined in lbsvariant.h the constant is 64 otherwise it is 20 */ -const TInt KPositionMaxModuleName = 64; +const TInt KPositionMaxModuleName = __LBS_MAX_MODULE_NAME; /** @publishedAll diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsErrors.h --- a/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsErrors.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsErrors.h Wed Sep 01 12:35:25 2010 +0100 @@ -17,6 +17,7 @@ #define __LBSERRORS_H__ #include <e32def.h> +#include <lbsvariant.h> /** LBS Panic string @@ -124,16 +125,6 @@ */ const TInt KPositionAssistanceDataReset = 5; - -/** -Code indicating that a position is not currently available. The status code is used -as part of the status notification of the LbsLocator API. - -@publishedAll -@released - */ -const TInt KPositionNotAvailable = 6; - /** Lbs specific error codes. @@ -142,7 +133,7 @@ If __S60_ is defined in lbsvariant.h the constant is -30371 otherwise it is -17350 */ -const TInt KPositionErrBase = -30371; +const TInt KPositionErrBase = __LBS_TDEFAULT_ERROR_BASE; /** BufferOverflow error diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsPosition.h --- a/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsPosition.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/inc/LbsPosition.h Wed Sep 01 12:35:25 2010 +0100 @@ -17,6 +17,7 @@ #define __LBSPOSITION_H__ #include <e32std.h> +#include <lbsvariant.h> /** @publishedAll diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/inc/lbsvariant.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/inc/lbsvariant.h Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,28 @@ +// 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 __LBSVARIANT_H__ +#define __LBSVARIANT_H__ + +/** +@file +@internalTechnology +@prototype +*/ +#define __LBS_TDEFAULT_ERROR_BASE (-30371) +#define __LBS_TCOURSE_RESERVED_SIZE 16 +#define __LBS_MAX_MODULE_NAME 64 + +#endif //__LBSVARIANT_H__ diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/src/LbsAreaInfo.cpp --- a/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsAreaInfo.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsAreaInfo.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -17,7 +17,7 @@ #include <e32base.h> -#include <lbsareainfo.h> +#include <LbsAreaInfo.h> #include <lbserrors.h> diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositionInfo.cpp --- a/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositionInfo.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositionInfo.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -19,12 +19,6 @@ #include "LbsInternal.h" #include "lbsfieldindex.h" -// Fix for GCCE 4.x : bug #1708 - GCC-E compilation error in lbs -#if defined(_FOFF) -#undef _FOFF -#endif // defined(_FOFF) -#define _FOFF(c,f) (((TInt)&(((c *)0x1000)->f))-0x1000) -// End of fix for GCCE 4.x //------------------------------------------------------------------------------ // TPositionInfoBase diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositioner.cpp --- a/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositioner.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/src/LbsPositioner.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -18,7 +18,7 @@ #include <s32mem.h> #include <lbs.h> #include <lbserrors.h> -#include <lbsareainfo.h> +#include <LbsAreaInfo.h> #include "lbslocservermessageenums.h" #include "LbsPtrHolder.h" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/src/lbsfields.cpp --- a/locationmgmt/locationcore/LbsClient/LbsApi/src/lbsfields.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/src/lbsfields.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -23,14 +23,6 @@ #define __ASSERT_ALIGNED_2BYTE(aPtr) __ASSERT_DEBUG(!(TUint(aPtr)&1),User::Panic(KPositionInternalFault, EBadAlignment)) #define __ASSERT_ALIGNED_4BYTE(aPtr) __ASSERT_DEBUG(!(TUint(aPtr)&3),User::Panic(KPositionInternalFault, EBadAlignment)) - -// Fix for GCCE 4.x : bug #1708 - GCC-E compilation error in lbs -#if defined(_FOFF) -#undef _FOFF -#endif // defined(_FOFF) -#define _FOFF(c,f) (((TInt)&(((c *)0x1000)->f))-0x1000) -// End of fix for GCCE 4.x - #define __DATA_OFFSET_INTO_HPOS(aOffset) \ (_FOFF(HPositionGenericInfo, iBuffer[(aOffset+iInfo.iDataStartPoint)])) @@ -83,13 +75,13 @@ case PositionFieldManager::ETDesC16: { const TUint8* address = &(iInfo.iBuffer[fieldIndex.FieldStartPos()]); - const TUint lengthOfString = reinterpret_cast<const SPackedTDesC16*>(address)->iLength; + TUint lengthOfString = reinterpret_cast<const SPackedTDesC16*>(address)->iLength; return _FOFF(SPackedTDesC16, iBuf[lengthOfString]); } case PositionFieldManager::ETDesC8: { const TUint8* address = &(iInfo.iBuffer[fieldIndex.FieldStartPos()]); - const TUint lengthOfString = reinterpret_cast<const SPackedTDesC8*>(address)->iLength; + TUint lengthOfString = reinterpret_cast<const SPackedTDesC8*>(address)->iLength; return _FOFF(SPackedTDesC8, iBuf[lengthOfString]); } default: @@ -869,7 +861,7 @@ const TDesC16& aValue, HPositionGenericInfo& aInfo) { - const TDataWrapperC wrapper(ETDesC16, (_FOFF(SPackedTDesC16, iBuf[aValue.Length()])), &aValue, CopyFromTDesC16); + const TDataWrapperC wrapper(ETDesC16, _FOFF(SPackedTDesC16, iBuf[aValue.Length()]), &aValue, CopyFromTDesC16); TPositionFieldSetter fieldSetter(aInfo); return fieldSetter.DoSetValue(aFieldId, wrapper); } diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/LbsApi/traces/osttracedefinitions.h --- a/locationmgmt/locationcore/LbsClient/LbsApi/traces/osttracedefinitions.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/LbsApi/traces/osttracedefinitions.h Wed Sep 01 12:35:25 2010 +0100 @@ -18,5 +18,5 @@ #ifndef __OSTTRACEDEFINITIONS_H__ #define __OSTTRACEDEFINITIONS_H__ -#include <opensystemtrace.h> +#include <OpenSystemTrace.h> #endif diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsClient/group/BLD.INF --- a/locationmgmt/locationcore/LbsClient/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsClient/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -14,5 +14,5 @@ // // Main projects, in build order -#include "../LbsApi/group/bld.inf" +#include "../LbsApi/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsInternalApi/BWINS/LbsInternalApiU.DEF --- a/locationmgmt/locationcore/LbsInternalApi/BWINS/LbsInternalApiU.DEF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsInternalApi/BWINS/LbsInternalApiU.DEF Wed Sep 01 12:35:25 2010 +0100 @@ -98,6 +98,4 @@ ?ShutDownL@RLbsSystemModuleEvent@@SAXXZ @ 97 NONAME ; void RLbsSystemModuleEvent::ShutDownL(void) ?OpenL@RLbsPositionUpdateRequests@@QAEXABUTChannelIdentifer@1@@Z @ 98 NONAME ; void RLbsPositionUpdateRequests::OpenL(struct RLbsPositionUpdateRequests::TChannelIdentifer const &) ??0TLbsPositionUpdateRequestStatus@@QAE@XZ @ 99 NONAME ; TLbsPositionUpdateRequestStatus::TLbsPositionUpdateRequestStatus(void) - ?InitializeMoPropertyL@LbsPositioningStatusProps@@SAXXZ @ 100 NONAME ; void LbsPositioningStatusProps::InitializeMoPropertyL(void) - ?InitializeNiPropertyL@LbsPositioningStatusProps@@SAXXZ @ 101 NONAME ; void LbsPositioningStatusProps::InitializeNiPropertyL(void) diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsInternalApi/EABI/LbsInternalApiU.DEF --- a/locationmgmt/locationcore/LbsInternalApi/EABI/LbsInternalApiU.DEF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsInternalApi/EABI/LbsInternalApiU.DEF Wed Sep 01 12:35:25 2010 +0100 @@ -110,6 +110,4 @@ _ZNK25TLbsPositionUpdateRequest9NewClientEv @ 109 NONAME _ZNK26RLbsPositionUpdateRequests24GetPositionUpdateRequestER29TLbsPositionUpdateRequestBase @ 110 NONAME _ZNK31TLbsPositionUpdateRequestStatus8TrackingEv @ 111 NONAME - _ZN25LbsPositioningStatusProps21InitializeMoPropertyLEv @ 112 NONAME - _ZN25LbsPositioningStatusProps21InitializeNiPropertyLEv @ 113 NONAME diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsInternalApi/group/LbsInternalApi.mmp --- a/locationmgmt/locationcore/LbsInternalApi/group/LbsInternalApi.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsInternalApi/group/LbsInternalApi.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -32,7 +32,6 @@ SOURCE lbsqualityprofile.cpp SOURCE LbsGpsMeasurementUpdates.cpp SOURCE lbssuplpushprops.cpp -SOURCE lbspositioningstatusprops.cpp USERINCLUDE ../inc //Todo - remove. USERINCLUDE ../../lbsrootapi/inc diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsInternalApi/inc/lbspositioningstatusprops.h --- a/locationmgmt/locationcore/LbsInternalApi/inc/lbspositioningstatusprops.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// lbspositioningstatusprops.h -// A class for the defining of the Lbs Positioning Status Publish and Subscribe properties -// -// - -/** - @file - @internalTechnology - @released -*/ - -#ifndef POSITIONING_STATUS_PROPS_H -#define POSITIONING_STATUS_PROPS_H - - -#include <e32base.h> -#include "lbspropertykeydefs.h" - - -/** The key for the NI Positioning Status property*/ -const TUint KLbsNiPositioningStatusKey = KLbsPositioningStatusAPIBase; -/** The key for the MO Positioning Status property*/ -const TUint KLbsMoPositioningStatusKey = KLbsNiPositioningStatusKey+1; - - -/** -The LbsPositioningStatusProps class provides the InitializeL function that allows the process-owner of -the LBS Positioning Status API RProperties to define them. - -@internalTechnology -@released - -@see CLbsPositioningStatus -*/ -NONSHARABLE_CLASS(LbsPositioningStatusProps) - { -public: - IMPORT_C static void InitializeNiPropertyL(); - IMPORT_C static void InitializeMoPropertyL(); - }; - -#endif //POSITIONING_STATUS_PROPS_H - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsInternalApi/src/lbspositioningstatusprops.cpp --- a/locationmgmt/locationcore/LbsInternalApi/src/lbspositioningstatusprops.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// lbspositioningstatusprops.cpp -// A class for the defining the Lbs Positioning Status Publish and Subscribe properties -// -// - -#include <e32cmn.h> -#include <e32property.h> -#include <centralrepository.h> -#include "lbsdevloggermacros.h" - -#include "lbspositioningstatusprops.h" -#include "lbsrootcenrepdefs.h" - - -/** -Defines the property used by the Positioning Status API implementation for -receiving updates regarding MT-LR positioning sessions in progress - -Note that this may be created by a different process to the MO property -due to different processes being persistant in different LBS configurations. - -This key is created by LbsRoot. - -@leave If a error happens, it leaves with the correspondent error code. -*/ -EXPORT_C void LbsPositioningStatusProps::InitializeNiPropertyL() - { - LBSLOG(ELogP1, "LbsPositioningStatusProps::InitializeNiPropertyL() Begin\n"); - LBSLOG(ELogP9, "->S LbsPositioningStatusProps::InitializeNiPropertyL() InitializeNiPropertyL \n"); - const TSecurityPolicy KPositioningStatusPolicy(ECapabilityReadDeviceData, ECapabilityLocation); - - // Define the NI Positioning Status property - TInt err = RProperty::Define(KLbsNiPositioningStatusKey, RProperty::EInt, KPositioningStatusPolicy, KPositioningStatusPolicy); - if (err != KErrNone && err != KErrAlreadyExists) - { - User::Leave(err); - } - if (err != KErrAlreadyExists) - { - // store the Uid of the process that defined the property - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - User::LeaveIfError(rep->Set(KNiPositioningStatusAPIKey, TInt(RProcess().SecureId()))); - CleanupStack::PopAndDestroy(rep); - } - - LBSLOG(ELogP1, "LbsPositioningStatusProps::InitializeNiPropertyL() End\n"); - } - -/** -Defines the property used by the Positioning Status API implementation for -receiving updates regarding MO-LR positioning sessions in progress - -Note that this may be created by a different process to the MO property -due to different processes being persistant in different LBS configurations. - -This key is created by the Location Server by default. - -@leave If a error happens, it leaves with the correspondent error code. -*/ -EXPORT_C void LbsPositioningStatusProps::InitializeMoPropertyL() - { - LBSLOG(ELogP1, "LbsPositioningStatusProps::InitializeMoPropertyL() Begin\n"); - LBSLOG(ELogP9, "->S LbsPositioningStatusProps::InitializeMoPropertyL() InitializeMoPropertyL \n"); - const TSecurityPolicy KPositioningStatusPolicy(ECapabilityReadDeviceData, ECapabilityLocation); - - // Define the NI Positioning Status property - TInt err = RProperty::Define(KLbsMoPositioningStatusKey, RProperty::EInt, KPositioningStatusPolicy, KPositioningStatusPolicy); - if (err != KErrNone && err != KErrAlreadyExists) - { - User::Leave(err); - } - if (err != KErrAlreadyExists) - { - // store the Uid of the process that defined the property - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - User::LeaveIfError(rep->Set(KMoPositioningStatusAPIKey, TInt(RProcess().SecureId()))); - CleanupStack::PopAndDestroy(rep); - } - - LBSLOG(ELogP1, "LbsPositioningStatusProps::InitializeMoPropertyL() End\n"); - } - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsLogging/te_LbsLogging/Runtime Settings.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationmgmt/locationcore/LbsLogging/te_LbsLogging/Runtime Settings.xml Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<?codewarrior exportversion="1.0" ideversion="5.5" ?> + +<!DOCTYPE EXPORTEDPANEL [ +<!ELEMENT EXPORTEDPANEL (NAME, (SETTINGLIST|VALUE))> +<!ELEMENT SETTINGLIST (SETTING+)> +<!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))> +<!ELEMENT NAME (#PCDATA)> +<!ELEMENT VALUE (#PCDATA)> +]> + +<EXPORTEDPANEL> + <NAME>Debugger Runtime</NAME> + <SETTINGLIST> + <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE></VALUE></SETTING> + <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE>\testdata\scripts\te_LbsLoggingSuite.script</VALUE></SETTING> + <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME> + <SETTING><NAME>Path</NAME><VALUE>EPOC32\RELEASE\WINSCW\UDEB\testexecute.exe</VALUE></SETTING> + <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING> + <SETTING><NAME>PathRoot</NAME><VALUE>drive E</VALUE></SETTING> + </SETTING> + <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE></VALUE></SETTING> + </SETTINGLIST> +</EXPORTEDPANEL> diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsNetInternalApi/group/BLD.INF --- a/locationmgmt/locationcore/LbsNetInternalApi/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsNetInternalApi/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -24,5 +24,5 @@ PRJ_TESTMMPFILES -#include "../test/group/bld.inf" +#include "../test/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsNetProtocol/inc/lbsnetprotocolbase.h --- a/locationmgmt/locationcore/LbsNetProtocol/inc/lbsnetprotocolbase.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsNetProtocol/inc/lbsnetprotocolbase.h Wed Sep 01 12:35:25 2010 +0100 @@ -156,7 +156,7 @@ @param aCapabilities Returns the current capabilities of the device. */ - IMPORT_C virtual void GetCurrentCapabilities( + virtual void GetCurrentCapabilities( TLbsNetPosCapabilities& aCapabilities) const = 0; /** Provides the LBS subsystem with details of the current status of the network protocol @@ -178,7 +178,7 @@ from TLbsNetProtocolService. If the protocol module is idle, the parameter is set to zero. */ - IMPORT_C virtual void ProcessStatusUpdate( + virtual void ProcessStatusUpdate( TLbsNetProtocolServiceMask aActiveServiceMask) = 0; /** @@ -230,7 +230,7 @@ @see TLbsExternalRequestInfo @see TLbsLocationNotification */ - IMPORT_C virtual void ProcessPrivacyRequest( + virtual void ProcessPrivacyRequest( const TLbsNetSessionId& aSessionId, TBool aEmergency, const TLbsNetPosRequestPrivacy& aPrivacy, @@ -305,7 +305,7 @@ @see TLbsNetRequestQuality @see TLbsNetRequestMode */ - IMPORT_C virtual void ProcessLocationRequest( + virtual void ProcessLocationRequest( const TLbsNetSessionId& aSessionId, TBool aEmergency, TLbsNetProtocolService aService, @@ -348,7 +348,7 @@ @param aReason Reason for the completion of the request. KErrNone if the request is succecsfully completed, or one of a range of error codes otherwise. */ - IMPORT_C virtual void ProcessSessionComplete( + virtual void ProcessSessionComplete( const TLbsNetSessionId& aSessionId, TInt aReason) = 0; /** @@ -381,7 +381,7 @@ @see CLbsNetworkProtocolBase::RequestSelfLocation() @see CLbsNetworkProtocolBase::RequestAssistanceData() */ - IMPORT_C virtual void ProcessAssistanceData( + virtual void ProcessAssistanceData( TLbsAsistanceDataGroup aDataMask, const RLbsAssistanceDataBuilderSet& aData, TInt aReason) = 0; @@ -413,7 +413,7 @@ The parameter aPosInfo is normally of type TPositionInfo. */ - IMPORT_C virtual void ProcessLocationUpdate( + virtual void ProcessLocationUpdate( const TLbsNetSessionId& aSessionId, const TPositionInfoBase& aPosInfo) = 0; @@ -439,7 +439,7 @@ public: IMPORT_C virtual TVersion Version() const; - IMPORT_C virtual void ProcessAssistanceData( + virtual void ProcessAssistanceData( TLbsAsistanceDataGroup aDataMask, const RLbsAssistanceDataBuilderSet& aData, TInt aReason, @@ -450,7 +450,7 @@ // they should no longer be used by protocol modules implementing the // extended CLbsNetworkProtocolBase2 version of the interface. Please // use the extended versions as declared in the public section above. - IMPORT_C virtual void ProcessAssistanceData( + virtual void ProcessAssistanceData( TLbsAsistanceDataGroup aDataMask, const RLbsAssistanceDataBuilderSet& aData, TInt aReason); diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsNetRegStatusInt/group/BLD.INF --- a/locationmgmt/locationcore/LbsNetRegStatusInt/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsNetRegStatusInt/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -24,4 +24,4 @@ lbsnetregstatusint.mmp PRJ_TESTMMPFILES -#include "../test/group/bld.inf" +#include "../test/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsPartnerCommon/src/lbsdevlogger.cpp --- a/locationmgmt/locationcore/LbsPartnerCommon/src/lbsdevlogger.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsPartnerCommon/src/lbsdevlogger.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -428,8 +428,6 @@ aName = vars.localProcess.FileName(); vars.pos = aName.LocateReverse('\\') + 1; aName = aName.Mid(vars.pos); - vars.localProcess.Close(); - vars.localThread.Close(); } EXPORT_C void LbsDevLogger::OverWrite(const TDesC8& aFmt) diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/LbsRefFnpInt/group/BLD.INF --- a/locationmgmt/locationcore/LbsRefFnpInt/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/LbsRefFnpInt/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -25,5 +25,5 @@ PRJ_TESTMMPFILES -#include "../test/group/bld.inf" +#include "../test/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/conf/locationsettings.confml Binary file locationmgmt/locationcore/conf/locationsettings.confml has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/conf/locationsettings_10282266.crml Binary file locationmgmt/locationcore/conf/locationsettings_10282266.crml has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/group/bld.inf --- a/locationmgmt/locationcore/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -14,27 +14,27 @@ // // Common admin projects -#include "../LbsCommonInternalDataTypes/group/bld.inf" -#include "../LbsLocCommon/group/bld.inf" -#include "../LbsInternalApi/group/bld.inf" -#include "../LbsClient/group/bld.inf" +#include "../LbsCommonInternalDataTypes/group/BLD.INF" +#include "../LbsLocCommon/group/BLD.INF" +#include "../LbsInternalApi/group/BLD.INF" +#include "../LbsClient/group/BLD.INF" #include "../LbsLogging/group/bld.inf" -#include "../LbsAssistanceData/group/bld.inf" +#include "../LbsAssistanceData/group/BLD.INF" #include "../LbsPartnerCommon/group/bld.inf" #include "../LbsLocDataSource/group/bld.inf" -#include "../GPSClock/group/bld.inf" -#include "../LbsNetProtocol/group/bld.inf" -#include "../LbsNetRegStatusInt/group/bld.inf" -#include "../LbsNgNlmInt/group/bld.inf" -#include "../LbsNrhNgMsgs/group/bld.inf" -#include "../LbsRefFnpInt/group/bld.inf" -#include "../LbsNetInternalApi/group/bld.inf" -#include "../LbsADataCache/group/bld.inf" -#include "../LbsAgpsNgMsgs/group/bld.inf" -#include "../LbsPsyNgMsgs/group/bld.inf" +#include "../GPSClock/group/BLD.INF" +#include "../LbsNetProtocol/group/BLD.INF" +#include "../LbsNetRegStatusInt/group/BLD.INF" +#include "../LbsNgNlmInt/group/BLD.INF" +#include "../LbsNrhNgMsgs/group/BLD.INF" +#include "../LbsRefFnpInt/group/BLD.INF" +#include "../LbsNetInternalApi/group/BLD.INF" +#include "../LbsADataCache/group/BLD.INF" +#include "../LbsAgpsNgMsgs/group/BLD.INF" +#include "../LbsPsyNgMsgs/group/BLD.INF" -#include "../lbsrootapi/group/bld.inf" -#include "../lbsroot/group/bld.inf" +#include "../lbsrootapi/group/BLD.INF" +#include "../lbsroot/group/BLD.INF" #include "../LbsDebug/group/bld.inf" #include "../LbsClient/lastknownlocapi/group/bld.inf" @@ -43,7 +43,6 @@ #include "../lbslocindicatorlib/group/bld.inf" #include "../../locmonitor/lbslocmonitorapis/group/bld.inf" #include "../LbsRefLocDataSource/group/bld.inf" -#include "../lbspositioningstatus/group/bld.inf" // Test code @@ -52,7 +51,7 @@ PRJ_EXPORTS //HEADERS ../inc/LbsLocErrors.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbslocerrors.h) -../inc/lbsmessageenums.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(lbsmessageenums.h) +../inc/lbsmessageenums.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbsmessageenums.h) ../inc/lbsadmin.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbsadmin.h) ../inc/lbsadmin.inl SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbsadmin.inl) ../inc/lbsadminclasstypes.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbsadminclasstypes.h) diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/group/lbs_admin.mrp --- a/locationmgmt/locationcore/group/lbs_admin.mrp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/group/lbs_admin.mrp Wed Sep 01 12:35:25 2010 +0100 @@ -36,7 +36,6 @@ source \sf\os\lbs\locationmgmt\locationcore\lbslocsettings source \sf\os\lbs\locationmgmt\locationcore\lbsmlfwutilities source \sf\os\lbs\locationmgmt\locationcore\lbslocindicatorlib -source \sf\os\lbs\locationmgmt\locationcore\lbspositioningstatus binary \sf\os\lbs\locationmgmt\locationcore\group all @@ -62,4 +61,3 @@ ipr T \sf\os\lbs\locationmgmt\locationcore\test ipr T \sf\os\lbs\locationmgmt\locationcore\lbslocindicatorlib\test ipr T \sf\os\lbs\locationmgmt\locationcore\LbsPartnerCommon\test -ipr T \sf\os\lbs\locationmgmt\locationcore\lbspositioningstatus\test diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/group/lbsadmin.iby --- a/locationmgmt/locationcore/group/lbsadmin.iby Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/group/lbsadmin.iby Wed Sep 01 12:35:25 2010 +0100 @@ -31,7 +31,6 @@ #include "lbsinternalapi.iby" #include "lbsnetprotocol.iby" #include "lbspartnercommon.iby" -#include "lbspositioningstatus.iby" #include "lbsnetinternalapi.iby" #include "lbsadatacache.iby" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/inc/lbsmessageenums.h --- a/locationmgmt/locationcore/inc/lbsmessageenums.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/inc/lbsmessageenums.h Wed Sep 01 12:35:25 2010 +0100 @@ -12,13 +12,14 @@ // // Description: // the message enums/opcodes shared between the client and the server sides -// -// NOTE: This file should not be modified or used by any new applications +// Extend the enum list as required for each server - see restrictions +// butDO NOT rename the file +// // /** @file - @publishedAll + @publishedPartner @released */ diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbslocsettings/data/101f500c.txt Binary file locationmgmt/locationcore/lbslocsettings/data/101f500c.txt has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbslocsettings/inc/epos_cpospluginslist.h --- a/locationmgmt/locationcore/lbslocsettings/inc/epos_cpospluginslist.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbslocsettings/inc/epos_cpospluginslist.h Wed Sep 01 12:35:25 2010 +0100 @@ -46,7 +46,7 @@ private: - void Move( TInt aOldIndex, TInt aNewIndex ); + void MoveL( TInt aOldIndex, TInt aNewIndex ); void Remove( TInt aIndex ); private: diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbslocsettings/src/epos_cpospluginslist.cpp --- a/locationmgmt/locationcore/lbslocsettings/src/epos_cpospluginslist.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbslocsettings/src/epos_cpospluginslist.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -224,7 +224,7 @@ for ( TInt i = 0; i < aPostInstalledList.Count(); i++ ) { TInt index = Find( aPostInstalledList[i] ); - Move( index, postInstalledOffset++ ); + MoveL( index, postInstalledOffset++ ); } // 2. Move RomBased before postInstalled @@ -234,7 +234,7 @@ CPosPluginProperties* plugin = iPlugins[i]; if ( plugin->IsRomBased() ) { - Move( i, romBasedOffset++ ); + MoveL( i, romBasedOffset++ ); } } @@ -255,12 +255,12 @@ // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- // -void CPosPluginsList::Move( TInt aOldIndex, TInt aNewIndex ) +void CPosPluginsList::MoveL( TInt aOldIndex, TInt aNewIndex ) { __ASSERT_DEBUG( aOldIndex >=0 && aOldIndex < iPlugins.Count(), Panic( KErrArgument ) ); __ASSERT_DEBUG( aNewIndex >=0 && aNewIndex <= iPlugins.Count(), Panic( KErrArgument ) ); CPosPluginProperties* swap = iPlugins[aOldIndex]; iPlugins.Remove( aOldIndex ); - iPlugins.Insert( swap, aNewIndex ); + iPlugins.InsertL( swap, aNewIndex ); } diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/bwins/lbspositioningstatusu.def --- a/locationmgmt/locationcore/lbspositioningstatus/bwins/lbspositioningstatusu.def Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -EXPORTS - ?CurrentPositioningStatus@CLbsPositioningStatusImpl@@QAEKXZ @ 1 NONAME ; unsigned long CLbsPositioningStatusImpl::CurrentPositioningStatus(void) - ?NewL@CLbsPositioningStatusImpl@@SAPAV1@AAVMLbsPositioningStatusObserver@@@Z @ 2 NONAME ; class CLbsPositioningStatusImpl * CLbsPositioningStatusImpl::NewL(class MLbsPositioningStatusObserver &) - ?NewL@CLbsPositioningStatus@@SAPAV1@AAVMLbsPositioningStatusObserver@@@Z @ 3 NONAME ; class CLbsPositioningStatus * CLbsPositioningStatus::NewL(class MLbsPositioningStatusObserver &) - ?CurrentPositioningStatus@CLbsPositioningStatus@@QAEKXZ @ 4 NONAME ; unsigned long CLbsPositioningStatus::CurrentPositioningStatus(void) - ?Version@MLbsPositioningStatusObserver@@UBE?AVTVersion@@XZ @ 5 NONAME ; class TVersion MLbsPositioningStatusObserver::Version(void) const - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/eabi/lbspositioningstatusu.def --- a/locationmgmt/locationcore/lbspositioningstatus/eabi/lbspositioningstatusu.def Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -EXPORTS - _ZN21CLbsPositioningStatus24CurrentPositioningStatusEv @ 1 NONAME - _ZN21CLbsPositioningStatus4NewLER29MLbsPositioningStatusObserver @ 2 NONAME - _ZN25CLbsPositioningStatusImpl24CurrentPositioningStatusEv @ 3 NONAME - _ZN25CLbsPositioningStatusImpl4NewLER29MLbsPositioningStatusObserver @ 4 NONAME - _ZNK29MLbsPositioningStatusObserver7VersionEv @ 5 NONAME - _ZTI28CLbsInternalPosStatusWatcher @ 6 NONAME - _ZTI29MLbsPositioningStatusObserver @ 7 NONAME - _ZTV28CLbsInternalPosStatusWatcher @ 8 NONAME - _ZTV29MLbsPositioningStatusObserver @ 9 NONAME - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/group/bld.inf --- a/locationmgmt/locationcore/lbspositioningstatus/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// bld.inf file for the Lbs Positioning Status component -// -// - -PRJ_EXPORTS -../inc/lbspositioningstatus.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/lbspositioningstatus.h) -lbspositioningstatus.iby /epoc32/rom/include/lbspositioningstatus.iby - -PRJ_MMPFILES -lbspositioningstatus.mmp - -#include "../test/te_lbspositioningstatus/group/bld.inf" - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/group/lbspositioningstatus.iby --- a/locationmgmt/locationcore/lbspositioningstatus/group/lbspositioningstatus.iby Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#ifndef __LBS_POSITIONING_STATUS_IBY__ -#define __LBS_POSITIONING_STATUS_IBY__ - -#if !defined(SYMBIAN_EXCLUDE_LOCATION) - -file=ABI_DIR\DEBUG_DIR\lbspositioningstatus.dll System\libs\lbspositioningstatus.dll - -#endif // SYMBIAN_EXCLUDE_LOCATION - -#endif // __LBS_POSITIONING_STATUS_IBY__ diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/group/lbspositioningstatus.mmp --- a/locationmgmt/locationcore/lbspositioningstatus/group/lbspositioningstatus.mmp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -TARGET lbspositioningstatus.dll -TARGETTYPE dll -UID 0x1000008d 0x1028720E -CAPABILITY ALL -Tcb -MACRO ENABLE_LBS_DEV_LOGGER - -USERINCLUDE ../inc -USERINCLUDE ../../lbsrootapi/inc -USERINCLUDE ../../LbsInternalApi/inc -USERINCLUDE ../../lbsroot/inc -USERINCLUDE ../../LbsPartnerCommon/inc - -// system include paths -OS_LAYER_SYSTEMINCLUDE_SYMBIAN - -SOURCEPATH ../src -SOURCE lbspositioningstatus.cpp -SOURCE lbspositioningstatusimpl.cpp -SOURCE lbsinternalposstatuswatcher.cpp - - -LIBRARY euser.lib centralrepository.lib lbspartnercommon.lib - - -SMPSAFE diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/inc/lbsinternalposstatuswatcher.h --- a/locationmgmt/locationcore/lbspositioningstatus/inc/lbsinternalposstatuswatcher.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -/** -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - -/** - @file cmopositioningstatuswatcher.h - @internalTechnology -*/ -#ifndef MO_POSITIONING_STATUS_LISTENER_H_ -#define MO_POSITIONING_STATUS_LISTENER_H_ - -#include <e32base.h> -#include <e32property.h> - -/** A type for the internal positioning status updates */ -typedef TUint32 TLbsPositioningStatusType; - -/** The response to a privacy request. - -Note that the _TLbsPositioningStatusType enum may be extended in the future -by adding more enumerated values. To maintain compatibility any unrecognized -values must be handled as ELbsPositioningStatusUnknown. -*/ -enum _TLbsPositioningStatusType - { - /** Not used/unknown */ - ELbsPositioningStatusUnknown = 0, - /** Used to indicate Mobile Originated positioning status. */ - ELbsPositioningStatusMO = 1, - /** Used to indicate Network Initiated positioning status. */ - ELbsPositioningStatusNI = 2 - }; - - -class MLbsInternalPosStatusObserver - { -public: - - /** Send Positioning Status to the Observer. - Called whenever a change to the devices positioning status occurs. - @param aType The positioning status type being reported - @param aStatus The current positioning status - */ - virtual void OnInternalStatusUpdate(const TLbsPositioningStatusType& aType, const TInt& aStatus) = 0; - }; - - -class CLbsInternalPosStatusWatcher : public CActive - { -public: - static CLbsInternalPosStatusWatcher* NewL(const TLbsPositioningStatusType& aType, MLbsInternalPosStatusObserver& aObserver); - ~CLbsInternalPosStatusWatcher(); - -private: - // Constructors - void ConstructL(); - CLbsInternalPosStatusWatcher(const TLbsPositioningStatusType& aType, MLbsInternalPosStatusObserver& aObserver); - - // CActive - void RunL(); - void DoCancel(); - TInt RunError(TInt aError); - -private: - // Observer - MLbsInternalPosStatusObserver& iObserver; - - // the positioning status type watched. - TLbsPositioningStatusType iType; - - // handle to the P&S property being watched - RProperty iProperty; - }; - - -#endif // MO_POSITIONING_STATUS_LISTENER_H_ diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/inc/lbspositioningstatus.h --- a/locationmgmt/locationcore/lbspositioningstatus/inc/lbspositioningstatus.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file - @publishedPartner - */ - -#ifndef POSITIONING_STATUS_H -#define POSITIONING_STATUS_H - -#include <e32base.h> - -class CLbsPositioningStatusImpl; -class MLbsPositioningStatusObserver; - -/** -Positioning Status Library's API. - -This class provides an API by which an observer can register for notifications -regarding the current status of LBS, i.e. if one or more positioning sessions -are currently in progress or otherwise. - -@see MLbsPositioningStatusObserver -@capability Location -*/ -NONSHARABLE_CLASS(CLbsPositioningStatus) : public CBase - { -public: - /** Positioning Status define */ - typedef TUint32 TLbsPositioningStatus; - - /** Positioning Status enumeration - * Note that this enumeration may be extended by future updates */ - enum _TLbsPositioningStatus - { - ELbsPositioningStatusNotActive = 0, - ELbsPositioningStatusActive = 1 - }; - -public: - IMPORT_C static CLbsPositioningStatus* NewL(MLbsPositioningStatusObserver& aObserver); - virtual ~CLbsPositioningStatus(); - -public: - /** Returns the current positioning status */ - IMPORT_C TLbsPositioningStatus CurrentPositioningStatus(); - -private: - CLbsPositioningStatus(); - void ConstructL(MLbsPositioningStatusObserver& aObserver); - -private: - /** Handle to the internal implementation */ - CLbsPositioningStatusImpl* iImpl; - }; - - -/** Positioning Status observer definition. -This interface is implemented by observers to handle calls from -the Positioning Status manager. - -@see CLbsPositioningStatus -*/ -class MLbsPositioningStatusObserver - { -public: - IMPORT_C virtual TVersion Version() const; - - /** Send Positioning Status to the Observer. - Called whenever a change to the devices positioning status occurs. - @param aPositioningStatus The current positioning status - */ - virtual void OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus) = 0; - }; - - -#endif // POSITIONING_STATUS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/inc/lbspositioningstatusimpl.h --- a/locationmgmt/locationcore/lbspositioningstatus/inc/lbspositioningstatusimpl.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file - @internalTechnology -*/ - -#ifndef POSITIONING_STATUS_IMPL_H -#define POSITIONING_STATUS_IMPL_H - -#include <e32base.h> -#include "lbspositioningstatus.h" -#include "lbsinternalposstatuswatcher.h" - -/** -The class provides an internal implementation of the functionality exposed -by the CLbsPositioningStatus interface. - -@see CLbsPositioningStatus -@see MLbsInternalPosStatusObserver - -@internalComponent -@prototype -*/ -NONSHARABLE_CLASS(CLbsPositioningStatusImpl) : public CBase, - public MLbsInternalPosStatusObserver - { -public: - IMPORT_C static CLbsPositioningStatusImpl* NewL(MLbsPositioningStatusObserver& aObserver); - virtual ~CLbsPositioningStatusImpl(); - -public: - /** Returns the current positioning status */ - IMPORT_C CLbsPositioningStatus::TLbsPositioningStatus CurrentPositioningStatus(); - -private: - CLbsPositioningStatusImpl(MLbsPositioningStatusObserver& aObserver); - void ConstructL(); - - /** from MLbsInternalPosStatusObserver */ - void OnInternalStatusUpdate(const TLbsPositioningStatusType& aType, const TInt& aCount); - - /** Returns the combined MO/NI positioning status */ - CLbsPositioningStatus::TLbsPositioningStatus CombinedStatus(); - -private: - /** Prohibit copy constructor */ - CLbsPositioningStatusImpl(const CLbsPositioningStatusImpl&); - /** Prohibit assigment operator */ - CLbsPositioningStatusImpl& operator= (const CLbsPositioningStatusImpl&); - -private: - /** Consumer for positioning status updates, SysApp */ - MLbsPositioningStatusObserver& iObserver; - - TUint iLastKnownMoStatus; - TUint iLastKnownNiStatus; - - /** P&S API Watchers */ - CLbsInternalPosStatusWatcher* iMoWatcher; - CLbsInternalPosStatusWatcher* iNiWatcher; - }; - -#endif // POSITIONING_STATUS_IMPL_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/src/lbsinternalposstatuswatcher.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/src/lbsinternalposstatuswatcher.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ -/** -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include <e32cmn.h> -#include <centralrepository.h> - -#include "lbsrootcenrepdefs.h" -#include "lbsinternalposstatuswatcher.h" -#include "lbspositioningstatusprops.h" - - - -CLbsInternalPosStatusWatcher* CLbsInternalPosStatusWatcher::NewL(const TLbsPositioningStatusType& aType, MLbsInternalPosStatusObserver& aObserver) - { - CLbsInternalPosStatusWatcher* me=new(ELeave) CLbsInternalPosStatusWatcher(aType, aObserver); - CleanupStack::PushL(me); - me->ConstructL(); - CleanupStack::Pop(me); - return me; - } - -CLbsInternalPosStatusWatcher::~CLbsInternalPosStatusWatcher() - { - Cancel(); - iProperty.Close(); - } - -CLbsInternalPosStatusWatcher::CLbsInternalPosStatusWatcher(const TLbsPositioningStatusType& aType, MLbsInternalPosStatusObserver& aObserver) - : CActive(EPriorityStandard), iObserver(aObserver), iType(aType) - { - } - -/** -The 2nd phase constructor. Attaches to the property, completes the async -request to cause the RunL method to be called for the first time and check -if there has already been an update to the property. - -@leave If a error happens, it leaves with one of the system error codes. -*/ -void CLbsInternalPosStatusWatcher::ConstructL() - { - // Get the CategoryUid from the cenrep file owned by LbsRoot. - TInt category; - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - - // attach to the property - if (iType == ELbsPositioningStatusMO) - { - // Mobile Originated Status P&S Property - User::LeaveIfError(rep->Get(KMoPositioningStatusAPIKey, category)); - TSecureId propOwnerSecureId(category); - User::LeaveIfError(iProperty.Attach(propOwnerSecureId, KLbsMoPositioningStatusKey, EOwnerThread)); - } - else if (iType == ELbsPositioningStatusNI) - { - // Network Initiated Status P&S Property - User::LeaveIfError(rep->Get(KNiPositioningStatusAPIKey, category)); - TSecureId propOwnerSecureId(category); - User::LeaveIfError(iProperty.Attach(propOwnerSecureId, KLbsNiPositioningStatusKey, EOwnerThread)); - } - else - { - // Any other value indicates a programming error - User::Leave(KErrArgument); - } - - CleanupStack::PopAndDestroy(rep); - - CActiveScheduler::Add(this); - // initial subscription and process current property value - RunL(); - } - -void CLbsInternalPosStatusWatcher::RunL() - { - // resubscribe before processing new value to prevent missing updates - iProperty.Subscribe(iStatus); - SetActive(); - - TInt newStatus; - // property updated, get new value - if (iProperty.Get(newStatus)==KErrNotFound) - { - // property deleted, there's no sessions of this type! - iObserver.OnInternalStatusUpdate(iType, 0); - } - else - { - // inform the positioning status observer - iObserver.OnInternalStatusUpdate(iType, newStatus); - } - } - -void CLbsInternalPosStatusWatcher::DoCancel() - { - iProperty.Cancel(); - } - -TInt CLbsInternalPosStatusWatcher::RunError(TInt aError) - { - // TODO: Handle RunL leaving... - return aError; - } - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/src/lbspositioningstatus.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/src/lbspositioningstatus.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#include "lbspositioningstatus.h" -#include "lbspositioningstatusimpl.h" -#include "lbsdevloggermacros.h" - - - -//============================================================================= -// MLbsPositioningStatusObserver -//============================================================================= -/** -Provides the version of the observer interface. This can be used by the library -to determine the functionality supported by the client application. - -@return Version of the observer interface. -*/ -EXPORT_C TVersion MLbsPositioningStatusObserver::Version() const - { - LBSLOG(ELogP1, "MLbsPositioningStatusObserver::Version() Begin\n"); - LBSLOG(ELogP1, "MLbsPositioningStatusObserver::Version() End\n"); - return TVersion(1, 0, 0); - } - -EXPORT_C CLbsPositioningStatus* CLbsPositioningStatus::NewL(MLbsPositioningStatusObserver& aObserver) - { - LBSLOG(ELogP1, "CLbsPositioningStatus::NewL() Begin\n"); - LBSLOG(ELogP8, "->S CLbsPositioningStatus::NewL() CLbsPositioningStatus\n"); - CLbsPositioningStatus* me = new (ELeave) CLbsPositioningStatus(); - CleanupStack::PushL(me); - me->ConstructL(aObserver); - LBSLOG(ELogP1, "CLbsPositioningStatus::NewL() End\n"); - CleanupStack::Pop(me); - return me; - } - -CLbsPositioningStatus::~CLbsPositioningStatus() - { - LBSLOG(ELogP1, "CLbsPositioningStatus::~CLbsPositioningStatus() Begin\n"); - LBSLOG(ELogP8, "->S CLbsPositioningStatus::~CLbsPositioningStatus() CLbsPositioningStatus\n"); - delete iImpl; - iImpl = NULL; - LBSLOG(ELogP1, "CLbsPositioningStatus::~CLbsPositioningStatus() End\n"); - } - -CLbsPositioningStatus::CLbsPositioningStatus() - { - LBSLOG(ELogP1, "CLbsPositioningStatus::CLbsPositioningStatus() Begin\n"); - LBSLOG(ELogP1, "CLbsPositioningStatus::CLbsPositioningStatus() End\n"); - } - -void CLbsPositioningStatus::ConstructL(MLbsPositioningStatusObserver& aObserver) - { - LBSLOG(ELogP1, "CLbsPositioningStatus::ConstructL() Begin\n"); - iImpl = CLbsPositioningStatusImpl::NewL(aObserver); - LBSLOG(ELogP1, "CLbsPositioningStatus::ConstructL() End\n"); - } - - -EXPORT_C CLbsPositioningStatus::TLbsPositioningStatus CLbsPositioningStatus::CurrentPositioningStatus() - { - LBSLOG(ELogP1, "CLbsPositioningStatus::CurrentPositioningStatus() Begin\n"); - LBSLOG(ELogP1, "CLbsPositioningStatus::CurrentPositioningStatus() Begin\n"); - return iImpl->CurrentPositioningStatus(); - } - - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/src/lbspositioningstatusimpl.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/src/lbspositioningstatusimpl.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#include "lbspositioningstatusimpl.h" -#include "lbsdevloggermacros.h" - -EXPORT_C CLbsPositioningStatusImpl* CLbsPositioningStatusImpl::NewL(MLbsPositioningStatusObserver& aObserver) - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::NewL() Begin\n"); - LBSLOG(ELogP8, "->S CLbsPositioningStatusImpl::NewL() CLbsPositioningStatusImpl\n"); - CLbsPositioningStatusImpl* me = new (ELeave) CLbsPositioningStatusImpl(aObserver); - CleanupStack::PushL(me); - me->ConstructL(); - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::NewL() End\n"); - CleanupStack::Pop(me); - return me; - } - -CLbsPositioningStatusImpl::~CLbsPositioningStatusImpl() - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::~CLbsPositioningStatusImpl() Begin\n"); - LBSLOG(ELogP8, "->S CLbsPositioningStatusImpl::~CLbsPositioningStatusImpl() CLbsPositioningStatus\n"); - delete iMoWatcher; - delete iNiWatcher; - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::~CLbsPositioningStatusImpl() End\n"); - } - -CLbsPositioningStatusImpl::CLbsPositioningStatusImpl(MLbsPositioningStatusObserver& aObserver) - : iObserver(aObserver) - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CLbsPositioningStatusImpl() Begin\n"); - iLastKnownMoStatus = CLbsPositioningStatus::ELbsPositioningStatusNotActive; - iLastKnownNiStatus = CLbsPositioningStatus::ELbsPositioningStatusNotActive; - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CLbsPositioningStatusImpl() End\n"); - } - -void CLbsPositioningStatusImpl::ConstructL() - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::ConstructL() Begin\n"); - iMoWatcher = CLbsInternalPosStatusWatcher::NewL(ELbsPositioningStatusMO, *this); - iNiWatcher = CLbsInternalPosStatusWatcher::NewL(ELbsPositioningStatusNI, *this); - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::ConstructL() End\n"); - } - - -EXPORT_C CLbsPositioningStatus::TLbsPositioningStatus CLbsPositioningStatusImpl::CurrentPositioningStatus() - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CurrentPositioningStatus() Begin\n"); - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CurrentPositioningStatus() End\n"); - return CombinedStatus(); - } - -/** from MLbsInternalPosStatusObserver - * - * @param aType mobile or network originated positioning status - * @param aCount count current service requests of the type being reported - * */ -void CLbsPositioningStatusImpl::OnInternalStatusUpdate(const TLbsPositioningStatusType& aType, const TInt& aCount) - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::OnInternalStatusUpdate() Begin\n"); - CLbsPositioningStatus::TLbsPositioningStatus previous = CombinedStatus(); - - // update the appropriate status - if (aType==ELbsPositioningStatusMO) - { - iLastKnownMoStatus = aCount; - } - else - { - iLastKnownNiStatus = aCount; - } - - // update the observer if the combined status has changed. - if (previous != CombinedStatus()) - { - iObserver.OnPositioningStatusUpdate(CombinedStatus()); - } - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::OnInternalStatusUpdate() End\n"); - } - - -CLbsPositioningStatus::TLbsPositioningStatus CLbsPositioningStatusImpl::CombinedStatus() - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CombinedStatus() Begin\n"); - if (iLastKnownMoStatus + iLastKnownNiStatus != 0) - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CombinedStatus() Active End\n"); - return CLbsPositioningStatus::ELbsPositioningStatusActive; - } - else - { - LBSLOG(ELogP1, "CLbsPositioningStatusImpl::CombinedStatus() NOT Active End\n"); - return CLbsPositioningStatus::ELbsPositioningStatusNotActive; - } - } - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/group/bld.inf --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -PRJ_TESTEXPORTS -../scripts/te_lbspositioningstatus.script c:/testdata/scripts/te_lbspositioningstatus.script - -PRJ_TESTMMPFILES -te_lbspositioningstatus.mmp diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/group/te_lbspositioningstatus.mmp --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/group/te_lbspositioningstatus.mmp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - - -TARGET te_lbspositioningstatusserver.exe -TARGETTYPE exe -UID 0x1000007A 0x102869EE -CAPABILITY ALL -TCB - -//Please add any change under here -SOURCEPATH ../src -SOURCE te_lbspositioningstatusserver.cpp -SOURCE te_lbspositioningstatusstep.cpp -SOURCE te_lbsstatustestmanager.cpp - -USERINCLUDE ../inc -USERINCLUDE ../../../inc -USERINCLUDE ../../../../lbsroot/inc -USERINCLUDE ../../../../lbsrootapi/inc -USERINCLUDE ../../../../LbsInternalApi/inc - -OS_LAYER_SYSTEMINCLUDE_SYMBIAN - -LIBRARY lbspositioningstatus.lib -LIBRARY bafl.lib -LIBRARY euser.lib -LIBRARY efsrv.lib -LIBRARY centralrepository.lib -LIBRARY lbsinternalapi.lib - -LIBRARY testexecuteutils.lib -LIBRARY testexecutelogclient.lib - - -SMPSAFE diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbspositioningstatusserver.h --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbspositioningstatusserver.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/** -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - - -/** - @file te_lbspositioningstatusserver.h -*/ - -#ifndef TE_LBSPOSITIONINGSTATUSSERVER_H -#define TE_LBSPOSITIONINGSTATUSSERVER_H - -#include <test/testexecuteserverbase.h> - - -class CTe_LbsPositioningStatusServer : public CTestServer - { -public: - static CTe_LbsPositioningStatusServer* NewL(); - // Base class pure virtual override - virtual CTestStep* CreateTestStep(const TDesC& aStepName); - -// Please Add/modify your class members -private: - }; - -#endif // TE_LBSPOSITIONINGSTATUSSERVER_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbspositioningstatusstep.h --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbspositioningstatusstep.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/** -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** - @file te_lbspositioningstatusstepbase.h -*/ - -#ifndef TE_LBSPOSITIONINGSTATUSSTEPBASE_H -#define TE_LBSPOSITIONINGSTATUSSTEPBASE_H - -#include <test/testexecuteserverbase.h> - -_LIT(KStatusStep,"StatusStep"); - -class CTe_LbsStatusTestManager; - -class CTe_LbsPositioningStatusStep : public CTestStep - { -public: - virtual ~CTe_LbsPositioningStatusStep(); - virtual TVerdict doTestStepPreambleL(); - virtual TVerdict doTestStepPostambleL(); - virtual TVerdict doTestStepL(); - - CTe_LbsPositioningStatusStep(); - -protected: - CTe_LbsStatusTestManager* iTestManager; - CActiveScheduler* iSched; - }; - -#endif // TE_LBSPOSITIONINGSTATUSSTEPBASE_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbsstatustestmanager.h --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/inc/te_lbsstatustestmanager.h Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -/** -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** - @file te_lbsstatusstep.h -*/ - -#ifndef TE_LBSSTATUSSTEP_H -#define TE_LBSSTATUSSTEP_H - -#include <e32base.h> -#include <lbs/lbspositioningstatus.h> - -class CTe_LbsPositioningStatusStep; -class CLbsPositioningStatus; - -class CTe_LbsStatusTestManager : public CActive, public MLbsPositioningStatusObserver - { -private: - enum TTestStep - { - EStepInitial, - EStepFirstRequest, - EStepSecondRequest, - EStepThirdRequest, - EStepFourthRequest, - EStepFifthRequest, - EStepStop - }; -public: - static CTe_LbsStatusTestManager* NewL(CTe_LbsPositioningStatusStep& aTest); - ~CTe_LbsStatusTestManager(); - - void StartTest(); - -private: // from MLbsPositioningStatusObserver - void OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus); - -private: - CTe_LbsStatusTestManager(CTe_LbsPositioningStatusStep& aTest); - void ConstructL(); - void RunL(); - TInt RunError(TInt aError); - void DoCancel(); - void CompleteSelf(); - -private: - CTe_LbsPositioningStatusStep& iTest; - TTestStep iStep; - - CLbsPositioningStatus* iPositioningStatus; - RTimer iTimer; - TUid iMoPosStatusCategory; - TUid iNiPosStatusCategory; - - TBool iPosStatusUpdateReceived; - CLbsPositioningStatus::TLbsPositioningStatus iReceivedPosStatus; - TBool iUpdateExpected; - TBool iTestFailed; - - }; - -#endif // TE_LBSSTATUSSTEP_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/scripts/te_lbspositioningstatus.script --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/scripts/te_lbspositioningstatus.script Tue Aug 31 16:38:06 2010 +0300 +++ /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: -// -//! @File -//! @SYMTestSuiteName LBS-POSITIONING-STATUS -//! @SYMScriptTestEnvironment TEF - -PRINT Run all te_lbspositioningstatusserver Suite Tests -LOAD_SUITE te_lbspositioningstatusserver - - -START_TESTCASE LBS-POSITIONING-STATUS-1001 -//! @SYMTestCaseID LBS-POSITIONING-STATUS-1001 -//! @SYMTestCaseDesc Checking that the positioining status component works correctly -//! @SYMTestPriority Low -//! @SYMTestActions 1. Change the MO-LR flag to be 1 -//! 2. Change the NI flag to be 1 -//! 2. Change the MO-LR and NI flags to be 0 -//! 2. Change the NI flag to be 1 -//! 2. Change the NI flag to be 2 -//! 2. Change the NI flag to be 0 -//! @SYMTestExpectedResults The client of the API gets notified correctly when there is a change in the positioning status -//! @SYMTestType UT -//! @SYMCreationDate 24/3/2010 -//! @SYMAuthor SorinBasca -//! @SYMTestStatus 3. Released -RUN_TEST_STEP 30 te_lbspositioningstatusserver StatusStep -END_TESTCASE LBS-POSITIONING-STATUS-1001 - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbspositioningstatusserver.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbspositioningstatusserver.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +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 te_lbspositioningstatusserver.cpp - @internalComponent -*/ - -#include "te_lbspositioningstatusserver.h" -#include "te_lbspositioningstatusstep.h" - -_LIT(KServerName,"te_lbspositioningstatusserver"); - - -CTe_LbsPositioningStatusServer* CTe_LbsPositioningStatusServer::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_LbsPositioningStatusServer * server = new (ELeave) CTe_LbsPositioningStatusServer(); - CleanupStack::PushL(server); - - server->ConstructL(KServerName); - CleanupStack::Pop(server); - return server; - } - - -// 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_LbsPositioningStatusServer* server = NULL; - // Create the CTestServer derived server - TRAPD(err,server = CTe_LbsPositioningStatusServer::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_LbsPositioningStatusServer::CreateTestStep(const TDesC& aStepName) -/** - * @return - A CTestStep derived instance - * Secure and non-secure variants - * Implementation of CTestServer pure virtual - */ - { - CTestStep* testStep = NULL; - if(aStepName == KStatusStep) - { - testStep = new CTe_LbsPositioningStatusStep(); - } - - return testStep; - } -//end of file - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbspositioningstatusstep.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbspositioningstatusstep.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file te_lbspositioningstatusstepbase.cpp -*/ - -#include "te_lbspositioningstatusstep.h" -#include "te_lbsstatustestmanager.h" -#include "lbspositioningstatusprops.h" // from internal API - - -TVerdict CTe_LbsPositioningStatusStep::doTestStepPreambleL() - { - - INFO_PRINTF1(_L("CTe_LbsPositioningStatusStep::doTestStepPreambleL()")); - __UHEAP_MARK; - iSched=new(ELeave) CActiveScheduler; - CActiveScheduler::Install(iSched); - - LbsPositioningStatusProps::InitializeNiPropertyL(); - LbsPositioningStatusProps::InitializeMoPropertyL(); - - iTestManager = CTe_LbsStatusTestManager::NewL(*this); - SetTestStepResult(EPass); - return TestStepResult(); - } - -TVerdict CTe_LbsPositioningStatusStep::doTestStepPostambleL() - { - INFO_PRINTF1(_L("CTe_LbsPositioningStatusStep::doTestStepPostambleL()")); - iTestManager->Cancel(); - delete iTestManager; - iTestManager = NULL; - delete iSched; - iSched = NULL; - __UHEAP_MARKEND; - return TestStepResult(); - } - -TVerdict CTe_LbsPositioningStatusStep::doTestStepL() - { - INFO_PRINTF1(_L("CTe_LbsPositioningStatusStep::doTestStepL()")); - iTestManager->StartTest(); - return TestStepResult(); - } - -CTe_LbsPositioningStatusStep::CTe_LbsPositioningStatusStep() - { - SetTestStepName(KStatusStep); - } - -CTe_LbsPositioningStatusStep::~CTe_LbsPositioningStatusStep() - { - if(iTestManager) - { - iTestManager->Cancel(); - } - delete iTestManager; - delete iSched; - } - - -// end of file - - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbsstatustestmanager.cpp --- a/locationmgmt/locationcore/lbspositioningstatus/test/te_lbspositioningstatus/src/te_lbsstatustestmanager.cpp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,254 +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 te_lbsstatusstep.cpp - @internalComponent -*/ - -#include "te_lbsstatustestmanager.h" -#include "te_lbspositioningstatusstep.h" -#include "lbsrootcenrepdefs.h" -#include "lbspositioningstatusprops.h" -#include <centralrepository.h> -#include <lbs/lbspositioningstatus.h> -#include <e32property.h> - -const TTimeIntervalMicroSeconds32 KTimerInterval = 2*1000*1000; - -CTe_LbsStatusTestManager* CTe_LbsStatusTestManager::NewL(CTe_LbsPositioningStatusStep& aTest) - { - CTe_LbsStatusTestManager* self = new(ELeave) CTe_LbsStatusTestManager(aTest); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -CTe_LbsStatusTestManager::~CTe_LbsStatusTestManager() - { - delete iPositioningStatus; - iTimer.Cancel(); - iTimer.Close(); - } - -void CTe_LbsStatusTestManager::StartTest() - { - iUpdateExpected = EFalse; - CompleteSelf(); - CActiveScheduler::Start(); - } - -CTe_LbsStatusTestManager::CTe_LbsStatusTestManager(CTe_LbsPositioningStatusStep& aTest) - : CActive(EPriorityStandard), iTest(aTest), iStep(EStepInitial) - { - CActiveScheduler::Add(this); - } - -void CTe_LbsStatusTestManager::ConstructL() - { - iPositioningStatus = CLbsPositioningStatus::NewL(*this); - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - TInt posStatusCat; - User::LeaveIfError(rep->Get(KMoPositioningStatusAPIKey, posStatusCat)); - iMoPosStatusCategory = TUid::Uid(posStatusCat); - User::LeaveIfError(rep->Get(KNiPositioningStatusAPIKey, posStatusCat)); - iNiPosStatusCategory = TUid::Uid(posStatusCat); - CleanupStack::PopAndDestroy(rep); - iTimer.CreateLocal(); - } - -void CTe_LbsStatusTestManager::RunL() - { - iTest.TESTL(!iTestFailed); - switch(iStep) - { - case EStepInitial: - { - // checks that the current status is not active - iTest.INFO_PRINTF1(_L("Checking that initial status is not active")); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusNotActive == iPositioningStatus->CurrentPositioningStatus()); - // sets the MO-LR property to 1... - iTest.INFO_PRINTF1(_L("Setting the MO-LR property to 1 (expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iMoPosStatusCategory, KLbsMoPositioningStatusKey, 1)); - iStep = EStepFirstRequest; - iUpdateExpected = ETrue; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepFirstRequest: - { - // ...and expects to be notified with status active - iTest.INFO_PRINTF1(_L("Checking that status now active")); - iTest.TESTL(iPosStatusUpdateReceived); - iTest.TESTL(iReceivedPosStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusActive == iPositioningStatus->CurrentPositioningStatus()); - // sets the NI property to 1 as well (so now both are 1)... - iTest.INFO_PRINTF1(_L("Setting the NI property to be 1 (don't expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iNiPosStatusCategory, KLbsNiPositioningStatusKey, 1)); - iStep = EStepSecondRequest; - iUpdateExpected = EFalse; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepSecondRequest: - { - // ...and expects not to be notified and status should be active - iTest.INFO_PRINTF1(_L("Checking that the update wasn't received and that the status is active")); - iTest.TESTL(!iPosStatusUpdateReceived); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusActive == iPositioningStatus->CurrentPositioningStatus()); - // sets both the MO-LR and the NI properties to 0... - iTest.INFO_PRINTF1(_L("Setting both MO-LR and NI properties to 0 (expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iMoPosStatusCategory, KLbsMoPositioningStatusKey, 0)); - iTest.TESTL(KErrNone == RProperty::Set(iNiPosStatusCategory, KLbsNiPositioningStatusKey, 0)); - iStep = EStepThirdRequest; - iUpdateExpected = ETrue; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepThirdRequest: - { - // ...and expects to be notified with status not active - iTest.INFO_PRINTF1(_L("Checking update was received and status is not active")); - iTest.TESTL(iPosStatusUpdateReceived); - iTest.TESTL(iReceivedPosStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusNotActive == iPositioningStatus->CurrentPositioningStatus()); - // sets the NI property to 1... - iTest.INFO_PRINTF1(_L("Setting NI property to 1 (expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iNiPosStatusCategory, KLbsNiPositioningStatusKey, 1)); - iStep = EStepFourthRequest; - iUpdateExpected = ETrue; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepFourthRequest: - { - // ...and expects to be notified with status active - iTest.INFO_PRINTF1(_L("Checking update was received and status is now active")); - iTest.TESTL(iPosStatusUpdateReceived); - iTest.TESTL(iReceivedPosStatus == CLbsPositioningStatus::ELbsPositioningStatusActive); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusActive == iPositioningStatus->CurrentPositioningStatus()); - // sets the NI property to 2... - iTest.INFO_PRINTF1(_L("Setting NI property to 2 (don't expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iNiPosStatusCategory, KLbsNiPositioningStatusKey, 2)); - iStep = EStepFifthRequest; - iUpdateExpected = EFalse; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepFifthRequest: - { - // ...and expects no update and status to be active - iTest.INFO_PRINTF1(_L("Checking no update was received and status is still active")); - iTest.TESTL(!iPosStatusUpdateReceived); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusActive == iPositioningStatus->CurrentPositioningStatus()); - // sets the NI property to 0... - iTest.INFO_PRINTF1(_L("Setting the NI property to 0 (expect update)")); - iTest.TESTL(KErrNone == RProperty::Set(iNiPosStatusCategory, KLbsNiPositioningStatusKey, 0)); - iStep = EStepStop; - iUpdateExpected = ETrue; - iPosStatusUpdateReceived = EFalse; - iTimer.After(iStatus, KTimerInterval); - SetActive(); - break; - } - case EStepStop: - { - // ...and expects to be notified with status not active - iTest.INFO_PRINTF1(_L("Checking that an update was received and the status is now not active")); - iTest.TESTL(iPosStatusUpdateReceived); - iTest.TESTL(iReceivedPosStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive); - iTest.TESTL(CLbsPositioningStatus::ELbsPositioningStatusNotActive == iPositioningStatus->CurrentPositioningStatus()); - CActiveScheduler::Stop(); - break; - } - default: - { - iTest.INFO_PRINTF1(_L("Unexpected step setting")); - iTest.TESTL(EFalse); - } - } - } - -void CTe_LbsStatusTestManager::OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus) - { - Cancel(); - iTest.INFO_PRINTF1(_L("Received a status update")); - if(!iUpdateExpected) - { - iTest.INFO_PRINTF1(_L("It was an unexpected update, test failed")); - iTestFailed = ETrue; - } - else - { - switch(iStep) - { - case EStepInitial: - case EStepFirstRequest: - case EStepThirdRequest: - case EStepFourthRequest: - case EStepStop: - { - iPosStatusUpdateReceived = ETrue; - iReceivedPosStatus = aPositioningStatus; - break; - } - case EStepSecondRequest: - case EStepFifthRequest: - default: - { - iTest.INFO_PRINTF1(_L("Update received when in the wrong test step")); - iTestFailed = ETrue; - } - } - - } - iUpdateExpected = EFalse; - CompleteSelf(); - } - -TInt CTe_LbsStatusTestManager::RunError(TInt /*aError*/) - { - iTest.INFO_PRINTF1(_L("Test failed, stopping")); - CActiveScheduler::Stop(); - return KErrNone; - } - -void CTe_LbsStatusTestManager::DoCancel() - { - iTimer.Cancel(); - } - - -void CTe_LbsStatusTestManager::CompleteSelf() - { - iStatus = KRequestPending; - SetActive(); - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); - } - -// end of file - diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/group/10282266.cre Binary file locationmgmt/locationcore/lbsroot/group/10282266.cre has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/group/10282266.txt Binary file locationmgmt/locationcore/lbsroot/group/10282266.txt has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/inc/lbsrootcenrepdefs.h --- a/locationmgmt/locationcore/lbsroot/inc/lbsrootcenrepdefs.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbsroot/inc/lbsrootcenrepdefs.h Wed Sep 01 12:35:25 2010 +0100 @@ -90,8 +90,5 @@ // SUPL Push API const TUint32 KSuplPushAPIKey = 0x0000B000; -// Positioning Status API -const TUint32 KNiPositioningStatusAPIKey = 0x0000C000; -const TUint32 KMoPositioningStatusAPIKey = 0x0000C001; #endif // LBSROOTCENREPDEFS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/inc/lbssystemstatelistener.h --- a/locationmgmt/locationcore/lbsroot/inc/lbssystemstatelistener.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbsroot/inc/lbssystemstatelistener.h Wed Sep 01 12:35:25 2010 +0100 @@ -126,10 +126,6 @@ * */ RSsmStateAwareSession iStateAwareSession; - /** - * Used to indicate if the System State Manager is available - */ - TBool iSystemStateManagerAvailable; #else /** * Handle to the startup property object diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/src/lbsroot.cpp --- a/locationmgmt/locationcore/lbsroot/src/lbsroot.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbsroot/src/lbsroot.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -51,7 +51,6 @@ #include "LbsExtendModuleInfo.h" #include "lbsqualityprofile.h" #include "lbssuplpushprops.h" -#include "lbspositioningstatusprops.h" #if defined(_DEBUG) #include "LbsOomTest.h" #endif @@ -365,7 +364,7 @@ RArray<TQualityProfile> qualityArray; CleanupClosePushL(qualityArray); - qualityArray.Reserve(5); + qualityArray.ReserveL(5); // Only want to use the first file that is found. // The way TFindFile::FindByDir works, it will search @@ -454,12 +453,6 @@ LbsSuplPushProps::InitializeL(); - - // Initialize the NI-LR Positioning Status Property. - // Note the MO-LR Positioning Status Property is initialized by the - // location server - LbsPositioningStatusProps::InitializeNiPropertyL(); - #if defined(_DEBUG) //Initialize the OOM Test property. ROomRequest::InitializeL(); @@ -1459,7 +1452,7 @@ finished = err != KErrNone; if(!finished) { - iLbsProcess.Append(newProcess); + iLbsProcess.AppendL(newProcess); ++count; if (newProcess->IsRunning()) { diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsroot/src/lbssystemstatelistener.cpp --- a/locationmgmt/locationcore/lbsroot/src/lbssystemstatelistener.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbsroot/src/lbssystemstatelistener.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -74,15 +74,7 @@ void CLbsSystemStateListener::ConstructL() { #ifdef SYMBIAN_SYSTEM_STATE_MANAGEMENT - TInt err = iStateAwareSession.Connect( KSM2GenMiddlewareDomain3 ); - if (err != KErrNone) - { - iSystemStateManagerAvailable = EFalse; - } - else - { - iSystemStateManagerAvailable = ETrue; - } + User::LeaveIfError( iStateAwareSession.Connect( KSM2GenMiddlewareDomain3 ) ); #else User::LeaveIfError( iStartupObserver.Attach( KPSUidStartup, KPSGlobalSystemState, EOwnerThread ) ); @@ -110,23 +102,15 @@ { // Listen to global system state changes #ifdef SYMBIAN_SYSTEM_STATE_MANAGEMENT // From 9.2 onwards - if (!iSystemStateManagerAvailable) + TSsmState ssmState = iStateAwareSession.State(); + if( ssmState.MainState() != ESsmNormal ) { + iStateAwareSession.RequestStateNotification( iStatus ); + SetActive(); + } + else{ iObserver.HandleStartupCompletionL(); } - else - { - TSsmState ssmState = iStateAwareSession.State(); - if( ssmState.MainState() != ESsmNormal ) - { - iStateAwareSession.RequestStateNotification( iStatus ); - SetActive(); - } - else - { - iObserver.HandleStartupCompletionL(); - } - } #else // Prior to 9.2 TInt systemStatus = 0; User::LeaveIfError( iStartupObserver.Get( systemStatus ) ); diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locationcore/lbsrootapi/inc/lbspropertykeydefs.h --- a/locationmgmt/locationcore/lbsrootapi/inc/lbspropertykeydefs.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locationcore/lbsrootapi/inc/lbspropertykeydefs.h Wed Sep 01 12:35:25 2010 +0100 @@ -99,7 +99,6 @@ const TUint KLbsAssistDataApiBase = 0x08001000; //Base value for Assistance Data Api keys const TUint KLbsQualityProfileKeyBase = 0x09001000; //Base value for Quality Profile keys const TUint KLbsSuplPushAPIBase = 0x0A001000; //Base value for SUPL Push API keys -const TUint KLbsPositioningStatusAPIBase = 0x0B001000; //Base value for Positioning Status API keys #endif //LBSPROPERTYKEYDEFS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter.confml Binary file locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter.confml has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter_20026814.crml Binary file locationmgmt/locmonitor/lbslocmonitorapis/conf/locationinfoconverter_20026814.crml has changed diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp --- a/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/group/lbslocationmonitor.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -93,9 +93,7 @@ LIBRARY ecom.lib LIBRARY centralrepository.lib -#ifdef SYMBIAN_FEATURE_MANAGER -LIBRARY featdiscovery.lib -#endif + LIBRARY lbsinternalapi.lib LIBRARY lbslocationinfoconverterplugin.lib diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h --- a/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbslocmonitorgpsbus.h Wed Sep 01 12:35:25 2010 +0100 @@ -74,4 +74,4 @@ virtual void GpsPositionAvailableL(const TPosition& aPosition) = 0; }; -#endif // CLBSLOCMONITORGPSBUS_H \ No newline at end of file +#endif // CLBSLOCMONITORGPSBUS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/src/clbsconversionpositionersubsession.cpp --- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbsconversionpositionersubsession.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbsconversionpositionersubsession.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -167,7 +167,7 @@ void CLbsConversionPositionerSubsession::CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer) { - LBSLOG(ELogP1,"CLbsConversionPositionerSubsession::CreateSubSessionL()"); + LBSLOG(ELogP1,"CLbsAreaPositionerSubsession::CreateSubSessionL()"); CSecureServerBase* server = const_cast<CSecureServerBase*> (aServer); iLocMonitorServer = reinterpret_cast<CLbsLocMonitorServer*>(server); iSubsessionId.iSessionPtr = static_cast<CLbsLocMonitorSession*>(aMessage.Session()); diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorconversionhandler.cpp --- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorconversionhandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorconversionhandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -17,7 +17,7 @@ #include <s32mem.h> #include <ecom/ecom.h> -#include <ecom/implementationinformation.h> +#include <ecom/ImplementationInformation.h> #include <lbs/lbslocinfoconverterpluginbase.hrh> #include "clbslocmonitorconversionhandler.h" #include "lbslocmonitorclientconsts.h" diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp --- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorrequesthandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -52,7 +52,9 @@ // 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); + CleanupStack::PushL(locMonitorAreaInfoGci); + iCurrentAreaInfo.InsertL(static_cast<TLbsLocMonitorAreaInfoBase*>(locMonitorAreaInfoGci), EGlobalCellIdType); + CleanupStack::Pop(locMonitorAreaInfoGci); iDb.OpenL(); } @@ -107,7 +109,7 @@ if(iRequestQueue.Count()< KLbsLocMonitorMaxReadArraySize) { - iRequestQueue.Append(aMessage); + iRequestQueue.AppendL(aMessage); } else { @@ -131,7 +133,7 @@ LBSLOG(ELogP1,"->CLbsLocMonitorRequestHandler::PositionAvailableL"); if(iPositionsQueue.Count() < KLbsLocMonitorMaxWriteArraySize) { - iPositionsQueue.AppendL(aPosition); + iPositionsQueue.Append(aPosition); } else { @@ -735,8 +737,7 @@ case ELocMonDbGetPosArea: case ELocMonDbGetLast: // Check the request is still there before completing it - if ((iRequestQueue.Count() > 0) && - (iRequestQueue[0].Function() == DbReadOperationToOpCode(iOperationInProgress))) + if (iRequestQueue.Count() > 0) { CompleteClientRequest(0, aError); } diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp --- a/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/src/clbslocmonitorserver.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -18,10 +18,7 @@ #include "clbslocmonitorserver.h" #include "lbslocmonitorserverdata.h" #include "lbsdevloggermacros.h" -#ifdef SYMBIAN_FEATURE_MANAGER - #include <featdiscovery.h> - #include <featureuids.h> -#endif + // ------------------------------------------------------------------------------- // -------------------- Server's security policy ------------------------------- @@ -129,22 +126,16 @@ // 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); - } + 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. @@ -159,7 +150,7 @@ // and set DB reader and writer as its observers. iAreaInfoFinders.ReserveL(1); - iAreaInfoFinders.Insert(static_cast<CLbsLocMonitorAreaInfoFinder*>(CLbsLocMonitorNetworkInfoFinder::NewL()), ENetworkInfoFinder); + iAreaInfoFinders.InsertL(static_cast<CLbsLocMonitorAreaInfoFinder*>(CLbsLocMonitorNetworkInfoFinder::NewL()), ENetworkInfoFinder); iAreaInfoFinders[ENetworkInfoFinder]->RegisterObserverL(*iRequestHandler); // Instantiate a position listener that will feed positions to the DB writer diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp --- a/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/test/testlocationmonitor/group/testlocationmonitor.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -104,10 +104,6 @@ LIBRARY ecom.lib LIBRARY centralrepository.lib -#ifdef SYMBIAN_FEATURE_MANAGER -LIBRARY featdiscovery.lib -#endif - LIBRARY lbsinternalapi.lib LIBRARY lbsnetinternalapi.lib diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h --- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorgpsbus.h Wed Sep 01 12:35:25 2010 +0100 @@ -74,4 +74,4 @@ virtual void GpsPositionAvailableL(const TPosition& aPosition) = 0; }; -#endif // CLBSLOCMONITORGPSBUS_H \ No newline at end of file +#endif // CLBSLOCMONITORGPSBUS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h --- a/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/locmonitor/test/testlocationmonitor/inc/clbslocmonitorposlistener.h Wed Sep 01 12:35:25 2010 +0100 @@ -14,12 +14,15 @@ * Description: * */ + + #ifndef LBSLOCMONITORPOSLISTENER_H #define LBSLOCMONITORPOSLISTENER_H #include <e32base.h> #include "lbsnetinternalapi.h" #include "clbslocmonitorgpsbus.h" + class MLbsLocMonitorPosListenerObserver { public: @@ -45,6 +48,7 @@ // From MLbsLocMonitorGpsBusObserver void GpsPositionAvailableL(const TPosition& aPosition); + private: CLbsLocMonitorPosListener(MLbsLocMonitorPosListenerObserver& aObserver); @@ -54,6 +58,7 @@ //Bus used to broadcast position within LBS CLbsLocMonitorGpsBus* iGpsBus; + private: // Observer interested in knowing about newly arrived diff -r 0c2046328c85 -r c92d4f3c47c5 locationmgmt/networkgateway/src/netrequestchannel.cpp --- a/locationmgmt/networkgateway/src/netrequestchannel.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationmgmt/networkgateway/src/netrequestchannel.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -122,7 +122,11 @@ if((static_cast<const TLbsNetLocationRequestMsg*>(&aMessage))->IsEmergency()) { iEmergencyLocationRequestMsg = static_cast<const TLbsNetLocationRequestMsg&>(aMessage); - iEmergencyBuffer.Append(&iEmergencyLocationRequestMsg); + TInt err = iEmergencyBuffer.Append(&iEmergencyLocationRequestMsg); + if ( KErrNone != err) + { + LBSLOG(ELogP1, "LOCATION BUFFER APPEND FAILED!!"); + } emergency = ETrue; } } @@ -131,7 +135,11 @@ if( (static_cast<const TLbsNetMtLrRequestMsg*>(&aMessage))->IsEmergency() ) { iEmergencyPrivacyRequestMsg = static_cast<const TLbsNetMtLrRequestMsg&>(aMessage); - iEmergencyBuffer.Append(&iEmergencyPrivacyRequestMsg); + TInt err = iEmergencyBuffer.Append(&iEmergencyPrivacyRequestMsg); + if ( KErrNone != err) + { + LBSLOG(ELogP1, "PRIVACY BUFFER APPEND FAILED!!"); + } emergency = ETrue; } } diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/inc/EPos_CPosLocMonitorReqHandlerHub.h --- a/locationrequestmgmt/locationserver/inc/EPos_CPosLocMonitorReqHandlerHub.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/inc/EPos_CPosLocMonitorReqHandlerHub.h Wed Sep 01 12:35:25 2010 +0100 @@ -90,6 +90,8 @@ CPosLocMonitorReqHandlerHub( const CPosLocMonitorReqHandlerHub& ); CPosLocMonitorReqHandlerHub& operator=( const CPosLocMonitorReqHandlerHub& ); + void PublishPosition(const TPositionInfo& aPositionInfo); + private: // Data // Session with the location monitor @@ -103,6 +105,9 @@ CPosLastKnownPosAreaHandler* iLastKnownPosAreaHandler; // Empty Last Known Position Store request CPosEmptyLastKnownPosStoreHandler* iEmptyLastKnownPosStoreHandler; + + // P&S Property for publishing Last Known Position + RProperty iLastKnownPosProperty; }; diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/inc/EPos_CPosModulesStatus.h --- a/locationrequestmgmt/locationserver/inc/EPos_CPosModulesStatus.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/inc/EPos_CPosModulesStatus.h Wed Sep 01 12:35:25 2010 +0100 @@ -95,8 +95,7 @@ TInt DoTimerCallback(); void RequestComplete(const RMessage2& aMessage, TInt aCompleteCode); void NotifyEventToSubscriber(TPositionModuleStatusEvent& aOccurredEvent, const CPosModulesStatus::TPosSubscriber& aSubscriber); - void NotifyPosModuleStatusToSubscriber(const TPositionModuleId& aImplementationUid, const TPositionModuleStatus& aStatus); - + private: // Data CPosModules& iModules; RPointerArray< MPosModuleStatusListener > iListenerArray; @@ -105,8 +104,7 @@ TInt iSequenceNo; CPeriodic* iTimer; TTimeIntervalMicroSeconds32 iTimerInterval; - TUid iPosStatusCategory; - RArray<TPositionModuleId> iActivePosModuleArray; + }; #endif // CPOSMODULESSTATUS_H diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/inc/EPos_ServerPanic.h --- a/locationrequestmgmt/locationserver/inc/EPos_ServerPanic.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/inc/EPos_ServerPanic.h Wed Sep 01 12:35:25 2010 +0100 @@ -29,7 +29,8 @@ EPosServerPanicSessionsCountInconsistency, EPosServerPanicUnexpectedEvent, EPosServerPanicTrackingInconsistency, - EPosServerPanicGeneralInconsistency + EPosServerPanicGeneralInconsistency, + EPosServerPanicLastKnownPosPnsNotDefined }; // FUNCTION PROTOTYPES diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/lbstestpsys/group/bld.inf --- a/locationrequestmgmt/locationserver/lbstestpsys/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/lbstestpsys/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -14,6 +14,8 @@ * Description: * */ +// BLD.INF +// Component description file PRJ_PLATFORMS DEFAULT diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/src/EPos_CPosLocMonitorReqHandlerHub.cpp --- a/locationrequestmgmt/locationserver/src/EPos_CPosLocMonitorReqHandlerHub.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/src/EPos_CPosLocMonitorReqHandlerHub.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -29,6 +29,8 @@ _LIT(KTraceFileName, "EPos_CPosLocMonitorReqHandlerHub.cpp"); #endif +const TInt KLocationServerSID=0x101f97b2; + // ============================== MEMBER FUNCTIONS =================================================== /** @@ -68,7 +70,23 @@ // Establish the subsession with the location monitor - As SetPositionInfoL() // is likely to be called whenever we have an update from the PSYs, the subsession // with the location monitor is created as a member variable instead of a local variable. - iLocMonSubSession.OpenL(iLocMonSession); + iLocMonSubSession.OpenL(iLocMonSession); + + // Attach to the Last Known Location P&S property + iLastKnownPosProperty.Attach( + KPosLastKnownLocationCategory, + KPosLastKnownLocation); + + // Get the last known position from loc monitor and publish it. + TRequestStatus status; + TPositionInfo posInfo; + iLocMonSubSession.GetLastKnownPosition(posInfo, status); + User::WaitForRequest(status); + + if (status.Int()==KErrNone) + { + PublishPosition(posInfo); + } } @@ -106,8 +124,15 @@ void CPosLocMonitorReqHandlerHub::SetPositionInfo( const TPositionInfo& aPositionInfo ) { DEBUG_TRACE("CPosLocMonitorReqHandlerHub::SetPositionInfoL", __LINE__) - - TInt errSetPos = iLocMonSubSession.SetLastKnownPosition(aPositionInfo); + + // check the latest position is newer than the last published position + TPosition newPos; + aPositionInfo.GetPosition(newPos); + + // publish the position + PublishPosition(aPositionInfo); + // pass the position to the loc monitor. + TInt errSetPos = iLocMonSubSession.SetLastKnownPosition(aPositionInfo); } /** @@ -316,4 +341,29 @@ } - +/** + * PublishPosition + * >> Publishes the position to the Last Known Position P&S Property + * + */ +void CPosLocMonitorReqHandlerHub::PublishPosition(const TPositionInfo& aPositionInfo) + { + TPckg<TPositionInfo> positionDes( aPositionInfo ); + TInt err = iLastKnownPosProperty.Set(positionDes); + if(err == KErrNotFound) + { + __ASSERT_DEBUG(EFalse, DebugPanic(EPosServerPanicLastKnownPosPnsNotDefined)); + // The key is not defined. This should not happen in normal case. + // However, if this happens, we define the key again + _LIT_SECURITY_POLICY_C1(readPolicy, ECapabilityReadDeviceData); + _LIT_SECURITY_POLICY_S0(writePolicy, KLocationServerSID); + //Error code ignored + iLastKnownPosProperty.Define( + KPosLastKnownLocationCategory, + KPosLastKnownLocation, + RProperty::EText, + readPolicy, + writePolicy); + } + } + diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/src/EPos_CPosModulesStatus.cpp --- a/locationrequestmgmt/locationserver/src/EPos_CPosModulesStatus.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/src/EPos_CPosModulesStatus.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -17,8 +17,6 @@ // INCLUDE FILES #include <e32base.h> -#include <e32property.h> -#include <centralrepository.h> #include <lbs/epos_cposmodules.h> #include <lbs/epos_cposmoduleidlist.h> #include "epos_mposmodulestatuslistener.h" @@ -26,8 +24,6 @@ #include "EPos_CPosModulesStatus.h" #include "EPos_Global.h" #include "EPos_ServerPanic.h" -#include "lbsrootcenrepdefs.h" -#include "lbspositioningstatusprops.h" // CONSTANTS #ifdef _DEBUG @@ -135,17 +131,7 @@ User::LeaveIfError(iModuleStatusArray.Append(module)); } CleanupStack::PopAndDestroy(idList); - iActivePosModuleArray.Reset(); - // Get the CategoryUid from the cenrep file owned by LbsRoot. - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - TInt posStatusCategory; - DEBUG_TRACE("Opening Status API Settings...", __LINE__) - User::LeaveIfError(rep->Get(KMoPositioningStatusAPIKey, posStatusCategory)); - DEBUG_TRACE("Opened Status API Settings...", __LINE__) - CleanupStack::PopAndDestroy(rep); - iPosStatusCategory = TUid::Uid(posStatusCategory); - iTimer = CPeriodic::NewL(EPriorityLow); } @@ -461,8 +447,6 @@ return; } - NotifyPosModuleStatusToSubscriber(aImplementationUid, aStatus); - TPosModule& storedModule = iModuleStatusArray[index]; TPositionModuleStatus::TDeviceStatus storedDeviceStatus = storedModule.iStatus.DeviceStatus(); @@ -488,7 +472,7 @@ storedModule.iDataQualityTimeStamp = iSequenceNo; event.SetOccurredEvents(KEventQuality | (event.OccurredEvents())); } - + // Has any event occurred? if (event.OccurredEvents()) { @@ -710,44 +694,6 @@ } /** - * Notify event to subscriber - */ -void CPosModulesStatus::NotifyPosModuleStatusToSubscriber(const TPositionModuleId& aImplementationUid, const TPositionModuleStatus& aStatus) - { - //1. Search for uid in the list of active uids - //2. If uid doesnt exist, and status is active - add uid in the list - //3. If uid exists and status is inactive - remove it from the list - - TPositionModuleStatus::TDeviceStatus devStatus = aStatus.DeviceStatus(); - TInt item = iActivePosModuleArray.Find(aImplementationUid); - if(item == KErrNotFound) - { - if(devStatus == TPositionModuleStatus::EDeviceActive || devStatus == TPositionModuleStatus::EDeviceReady) - { - //Ignoring error as RArray by default creates array of Granularity 8 - iActivePosModuleArray.Append(aImplementationUid); - } - } - else - { - if(!(devStatus == TPositionModuleStatus::EDeviceActive || devStatus == TPositionModuleStatus::EDeviceReady)) - { - iActivePosModuleArray.Remove(item); - } - } - - TInt itemCount = iActivePosModuleArray.Count(); - if(itemCount > 0) - { - RProperty::Set(iPosStatusCategory, KLbsMoPositioningStatusKey, itemCount); - } - else - { - RProperty::Set(iPosStatusCategory, KLbsMoPositioningStatusKey, 0); - } - } - -/** * Timer callback */ TInt CPosModulesStatus::TimerCallback(TAny* aModulesStatus) diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/src/EPos_CPosServer.cpp --- a/locationrequestmgmt/locationserver/src/EPos_CPosServer.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/src/EPos_CPosServer.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -41,7 +41,6 @@ #include "EPos_CPosLocMonitorReqHandlerHub.h" #include "EPos_Global.h" -#include "lbspositioningstatusprops.h" // CONSTANTS _LIT(KPosResourceFile, "\\private\\101F97B2\\eposserver.rsc"); @@ -179,6 +178,12 @@ } #endif // WINSCW + // make sure that root process is running + if(LocationManagementSupported && !FindRootProcess()) + { + User::Leave(KErrNotReady); + } + // Backup listener DEBUG_TRACE("Checking for backup or restore...", __LINE__) iBackupListener = CPosBackupListener::NewL(); @@ -214,11 +219,10 @@ DEBUG_TRACE("Setting Location Settings observer...", __LINE__) iModuleSettings->AddListenerL(*this); - // Define the MO Positioning Status property - LbsPositioningStatusProps::InitializeMoPropertyL(); - DEBUG_TRACE("Starting server active object...", __LINE__) StartL(KPositionServerName); + + } /** @@ -238,6 +242,7 @@ */ CPosServer::~CPosServer() { + delete iLocMonitorReqHandlerHub; delete iShutdown; @@ -245,7 +250,7 @@ delete iModuleSettings; delete iBackupListener; - + // This is needed because CPositioner might have used ECom (PSYs) REComSession::FinalClose(); } diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/src/EPos_CPosSubSession.cpp --- a/locationrequestmgmt/locationserver/src/EPos_CPosSubSession.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/src/EPos_CPosSubSession.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -106,7 +106,6 @@ SetPsyDefaultUpdateTimeOut(iPsyDefaultUpdateTimeOut); iLocMonitorReqHandlerHub = &aLocMonitorReqHandlerHub; - #if defined __WINSCW__ && defined SYMBIAN_CELLMO_CENTRIC iLocationManagementSupported = EFalse; #else @@ -116,6 +115,7 @@ __ASSERT_ALWAYS(EFalse, User::Invariant()); // Would happen on older versions of symbian OS if this code ever backported #endif // SYMBIAN_FEATURE_MANAGER #endif // __WINSCW__ && defined SYMBIAN_CELLMO_CENTRIC + if(iLocationManagementSupported) { diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/src/EPos_CPositionRequest.cpp --- a/locationrequestmgmt/locationserver/src/EPos_CPositionRequest.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/src/EPos_CPositionRequest.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -37,6 +37,7 @@ + // CONSTANTS #ifdef _DEBUG _LIT(KTraceFileName, "EPos_CPositionRequest.cpp"); @@ -165,7 +166,7 @@ } __ASSERT_DEBUG(iPositioner, DebugPanic(EPosServerPanicPositionerNotInitialized)); - + iMessage = aMessage; // Store parameter here in case of leave. // Clear previous position data diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/test/te_locsrv/scripts/te_locsrvsuite.script --- a/locationrequestmgmt/locationserver/test/te_locsrv/scripts/te_locsrvsuite.script Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/test/te_locsrv/scripts/te_locsrvsuite.script Wed Sep 01 12:35:25 2010 +0100 @@ -52,6 +52,7 @@ CopyFile c:\testdata\configs\0313302A.cre c:\private\10202be9\persists\0313302A.cre REMOVE_PREFIX + RUN_TEST_STEP 100 te_locsrvsuite OpenTestStep RUN_TEST_STEP 100 te_locsrvsuite GetFixTestStep diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/test/te_locsrvtestlocmonsuite/group/bld.inf --- a/locationrequestmgmt/locationserver/test/te_locsrvtestlocmonsuite/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/test/te_locsrvtestlocmonsuite/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -20,7 +20,7 @@ // Locserver's unit test is dependent on these test location monitor components // Modified Location Server that uses the test location monitor API #include "../../testLocMonitorApi/group/bld.inf" -#include "../../testLocMonitorServer/group/bld.inf" +#include "../../testLocMonitorServer/group/BLD.INF" #include "../../testLocServer/group/bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/test/testLocServer/group/testlocserver.mmp --- a/locationrequestmgmt/locationserver/test/testLocServer/group/testlocserver.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/test/testLocServer/group/testlocserver.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -63,9 +63,6 @@ USERINCLUDE ../inc USERINCLUDE ../../../inc USERINCLUDE ../../../resource -USERINCLUDE ../../../../../locationmgmt/locationcore/lbsroot/inc -USERINCLUDE ../../../../../locationmgmt/locationcore/lbsrootapi/inc -USERINCLUDE ../../../../../locationmgmt/locationcore/LbsInternalApi/inc // for the lbspositioningstatusprops.h USERINCLUDE ../../../../../locationmgmt/locationcore/LbsNetInternalApi/inc // for the lbsnetinternalapi.h USERINCLUDE ../../../../../locationmgmt/locationcore/LbsPartnerCommon/inc USERINCLUDE ../../../../../locationmgmt/locationcore/LbsNetRegStatusInt/inc @@ -86,7 +83,6 @@ LIBRARY bafl.lib LIBRARY efsrv.lib LIBRARY ecom.lib -LIBRARY centralrepository.lib LIBRARY lbsadmin.lib LIBRARY lbsnetinternalapi.lib LIBRARY lbsnetregstatusint.lib diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/locationserver/traces/osttracedefinitions.h --- a/locationrequestmgmt/locationserver/traces/osttracedefinitions.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/locationserver/traces/osttracedefinitions.h Wed Sep 01 12:35:25 2010 +0100 @@ -18,5 +18,5 @@ #ifndef __OSTTRACEDEFINITIONS_H__ #define __OSTTRACEDEFINITIONS_H__ -#include <opensystemtrace.h> +#include <OpenSystemTrace.h> #endif diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/QueryAndNotificationAPI/group/Bld.inf --- a/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/QueryAndNotificationAPI/group/Bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/QueryAndNotificationAPI/group/Bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -20,7 +20,7 @@ // File needs to be exported to allow UI layer to access it. Otherwise code duplication/differentiation will occur. -../inc/EPos_TPosQNInputData.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/epos_tposqninputdata.h) +../inc/EPos_TPosQNInputData.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(lbs/EPos_TPosQNInputData.h) // End of file diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/group/BLD.INF --- a/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsQueryAndNotification/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -13,5 +13,5 @@ // Description: // -#include "../PrivacyDataTypes/group/bld.inf" -#include "../QueryAndNotificationAPI/group/bld.inf" +#include "../PrivacyDataTypes/group/Bld.inf" +#include "../QueryAndNotificationAPI/group/Bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/group/BLD.INF --- a/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -13,8 +13,8 @@ // Description: // -#include "../LbsPrivacyController/group/bld.inf" -#include "../LbsPrivacyExtNotifiers/group/bld.inf" +#include "../LbsPrivacyController/group/BLD.INF" +#include "../LbsPrivacyExtNotifiers/group/BLD.INF" #ifdef SYMBIAN_LOCATION_PRIVACY_V2 - #include "../LbsQueryAndNotification/group/bld.inf" + #include "../LbsQueryAndNotification/group/BLD.INF" #endif diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/LbsX3P/group/BLD.INF --- a/locationrequestmgmt/networkrequesthandler/LbsX3P/group/BLD.INF Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/LbsX3P/group/BLD.INF Wed Sep 01 12:35:25 2010 +0100 @@ -14,5 +14,5 @@ // // Main projects, in build order -#include "../LbsX3PApi/group/bld.inf" +#include "../LbsX3PApi/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/group/bld.inf --- a/locationrequestmgmt/networkrequesthandler/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -13,8 +13,8 @@ // Description: // -#include "../LBSPrivacyNotification/group/bld.inf" -#include "../LbsX3P/group/bld.inf" +#include "../LBSPrivacyNotification/group/BLD.INF" +#include "../LbsX3P/group/BLD.INF" #include "../test/group/bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/group/lbsnetworkrequesthandler.mmp --- a/locationrequestmgmt/networkrequesthandler/group/lbsnetworkrequesthandler.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/group/lbsnetworkrequesthandler.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -91,7 +91,6 @@ USERINCLUDE ../inc USERINCLUDE ../../../locationmgmt/locationcore/LbsCommonInternalDataTypes/inc -USERINCLUDE ../../../locationmgmt/locationcore/lbsroot/inc USERINCLUDE ../../../locationmgmt/locationcore/lbsrootapi/inc USERINCLUDE ../../../locationmgmt/locationcore/LbsInternalApi/inc USERINCLUDE ../../../locationmgmt/locationcore/LbsNetInternalApi/inc @@ -113,7 +112,6 @@ LIBRARY euser.lib LIBRARY estor.lib -LIBRARY centralrepository.lib LIBRARY lbs.lib LIBRARY lbsloccommon.lib LIBRARY lbsx3p.lib diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/inc/EPos_CPosDialogCtrl.h --- a/locationrequestmgmt/networkrequesthandler/inc/EPos_CPosDialogCtrl.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/inc/EPos_CPosDialogCtrl.h Wed Sep 01 12:35:25 2010 +0100 @@ -31,7 +31,7 @@ #include <e32base.h> #include <lbs/epos_cposrequestor.h> #include <lbs/epos_rposrequestorstack.h> -#include <lbs/epos_tposqninputdata.h> +#include <lbs/EPos_TPosQNInputData.h> #include "EPos_PrivacyInternal.h" #include <lbs/lbsloccommon.h> @@ -210,7 +210,6 @@ void DeferNotificationL(); void CreateNotificationAndEnqueueL(); void UpdateProperty(); - private: // Data RNotifier iNotifier; RArray<TRequest> iRequestQueue; diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/inc/privacyandlocationrequesthandler.h --- a/locationrequestmgmt/networkrequesthandler/inc/privacyandlocationrequesthandler.h Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/inc/privacyandlocationrequesthandler.h Wed Sep 01 12:35:25 2010 +0100 @@ -121,8 +121,6 @@ TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps(); CLbsAdmin::TLbsBehaviourMode BehaviourMode(); RLbsNetworkRegistrationStatus& NetworkRegistrationStatus(); - void IncrementPositioningStatus(); - void DecrementPositioningStatus(); private: static TBool IsSessionIdEqual( @@ -164,12 +162,6 @@ CLbsPrivLocFsm* iMolRFsm; CLbsPrivLocFsm* iX3pFsm; - - // ETrue if location management is supported - TBool iLocationManagementSupported; - - // Category of the Positioning Status P&S Keys - TUid iPosStatusCategory; }; @@ -445,7 +437,7 @@ RLbsNetworkRegistrationStatus& LbsNetworkRegistrationStatus(); TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps(); CLbsAdmin::TLbsBehaviourMode BehaviourMode(); - void IncrementPositioningStatus(); + protected: CLbsPrivLocFsm* iFsm; @@ -784,16 +776,9 @@ TLbsNetSessionIdInt& LastLocReqSessionId() { return iLastLocReqSessionId; } - TBool& WasPrivacyResponseReceivedStateExited() + TBool& WasPrivacyResponseReceivedStateExited() { return iWasPrivacyResponseReceivedStateExited; } - TLbsExternalRequestInfo::TRequestType& ExternalRequestType() - { return iExternalRequestType; } - - TBool& WasPositioningStatusIncremented() - { return iPositioningStatusIncremented; } - - private: // Allow access for friend classes (the states and the NRH) friend class CLbsPrivLocStateBase; friend class CLbsNetworkRequestHandler; @@ -875,12 +860,6 @@ // Has a privacy request been rejected? TBool iWasPrivacyResponseReceivedStateExited; - // The type of external request that has been recieved. - TLbsExternalRequestInfo::TRequestType iExternalRequestType; - - // Indicates if this session resulted in the positioning status being incremented. - TBool iPositioningStatusIncremented; - private: // the states CLbsPrivLocStateBase* iCurrentState; diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/src/lbsnetworkrequesthandler.cpp --- a/locationrequestmgmt/networkrequesthandler/src/lbsnetworkrequesthandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/lbsnetworkrequesthandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -102,7 +102,8 @@ TBool locationManagementSupported(ETrue); #endif // SYMBIAN_FEATURE_MANAGER #endif // __WINSCW__ && defined SYMBIAN_CELLMO_CENTRIC - + + if(locationManagementSupported) { iX3pHandler = CX3pHandler::NewL(*iNgMessageSwitch, iPrivLocHandler->X3pStatusHandler(), *iAdmin); diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/src/lbsnrhx3pserver.cpp --- a/locationrequestmgmt/networkrequesthandler/src/lbsnrhx3pserver.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/lbsnrhx3pserver.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -314,7 +314,6 @@ RThread client; aMessage.Client(client); iClientUid = client.SecureId(); - client.Close(); } } } diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/src/ngmessageswitch.cpp --- a/locationrequestmgmt/networkrequesthandler/src/ngmessageswitch.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/ngmessageswitch.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -135,7 +135,12 @@ void CNGMessageSendBuffer::BufferData(TLbsNetInternalMsgBase* aData) { // Add the data to the buffer - iBuffer.Append(aData); + TInt err = iBuffer.Append(aData); + if( err != KErrNone ) + { + LBSLOG_ERR2(ELogP3, "CNGMessageSendBuffer::BufferData Append failed: %d", err); + delete aData; + } } void CNGMessageSendBuffer::BufferEmergencyData(TLbsNetInternalMsgBase* aData) @@ -510,8 +515,11 @@ // not being saved. Note we do enure that the mobiles position // does get sent out to the network - its juts means that the callback // that delivers the REF pos to the privacy system does not happen! - iRefPosBuffer.Append(item); - + TInt err = iRefPosBuffer.Append(item); + if( KErrNone != err ) + { + LBSLOG_ERR(ELogP3, "CNGMessageSwitch::ProcessNetChannelMessage: iRefPosBuffer.Append Failed!!"); + } for (TInt i = 0; i < count; i++) { iObservers[i]->OnNetLocReferenceUpdate(msg->SessionId(), positionInfo); @@ -533,7 +541,12 @@ item->iSessionId = msg->SessionId(); Mem::Copy(&item->iPosInfo, &positionInfo, positionInfo.PositionClassSize()); - iFNPPosBuffer.Append(item); // here, ownership passes to pointer array! + TInt err = iFNPPosBuffer.Append(item); // here, ownership passes to pointer array! + if( KErrNone != err ) + { + delete item; + LBSLOG_ERR(ELogP3, "CNGMessageSwitch::ProcessNetChannelMessage: iFNPPosBuffer.Append Failed!!"); + } } for (TInt i = 0; i < count; i++) { diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/src/privacyandlocationrequesthandler.cpp --- a/locationrequestmgmt/networkrequesthandler/src/privacyandlocationrequesthandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/privacyandlocationrequesthandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -15,12 +15,6 @@ #include <e32std.h> #include <e32property.h> -#include <centralrepository.h> - -#ifdef SYMBIAN_FEATURE_MANAGER - #include <featdiscovery.h> - #include <featureuids.h> -#endif // LBS-specific #include <lbs.h> @@ -31,8 +25,6 @@ #include "nrhpanic.h" #include "lbsdevloggermacros.h" #include "lbsqualityprofile.h" -#include "lbsrootcenrepdefs.h" -#include "lbspositioningstatusprops.h" #include "privacyandlocationrequesthandler.h" @@ -101,10 +93,6 @@ iFsmArray.ResetAndDestroy(); - // force the count of active network initiated positioning sessions to 0 - // this supports the pre-APE centric architecture wherein the NRH is - // destroyed on completion of network initiated positioning. - RProperty::Set(iPosStatusCategory, KLbsNiPositioningStatusKey, 0); delete iEmergencyFsm; delete iAgpsInterface; @@ -173,24 +161,6 @@ } LBSLOG2(ELogP3, "Using KLbsSpecialFeatureIntermediateFutileUpdate = %d", specialFeature); iSpecialFeatureIntermediateFutileUpdate = (specialFeature == CLbsAdmin::ESpecialFeatureOn) ? ETrue : EFalse; - -#if defined __WINSCW__ && defined SYMBIAN_CELLMO_CENTRIC - iLocationManagementSupported = EFalse; -#else -#ifdef SYMBIAN_FEATURE_MANAGER - iLocationManagementSupported = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KLocationManagement); -#else - __ASSERT_ALWAYS(EFalse, User::Invariant()); // Would happen on older versions of symbian OS if this code ever backported -#endif // SYMBIAN_FEATURE_MANAGER -#endif // __WINSCW__ && defined SYMBIAN_CELLMO_CENTRIC - - // Get the CategoryUid from the cenrep file owned by LbsRoot for accessing Positioning Status P&S Keys - CRepository* rep = CRepository::NewLC(KLbsCenRepUid); - TInt posStatusCategory; - err = rep->Get(KNiPositioningStatusAPIKey, posStatusCategory); - User::LeaveIfError(err); - CleanupStack::PopAndDestroy(rep); - iPosStatusCategory = TUid::Uid(posStatusCategory); } @@ -312,7 +282,12 @@ if (fsm) { // Add the state machine to the buffer. - iFsmArray.Append(fsm); + TInt err = iFsmArray.Append(fsm); + if( err != KErrNone ) + { + delete fsm; + return NULL; + } iNumActiveSessions++; // conceptually, a session starts when a Fsm is created for it @@ -715,36 +690,6 @@ { return iNetRegStatus; } - -// increments the P&S key tracking mobile terminated positioning requests -void CPrivacyAndLocationHandler::IncrementPositioningStatus() - { - TInt count; - RProperty::Get(iPosStatusCategory, KLbsNiPositioningStatusKey, count); - RProperty::Set(iPosStatusCategory, KLbsNiPositioningStatusKey, count+1); - } - -// decrements the P&S key tracking mobile terminated positioning requests -// if location management is supported. In the alternative architecture, -// the NRH is not aware of the positioning session's progress, but is -// transient. Therefore the positioning status is set to zero in the -// class destructor. -void CPrivacyAndLocationHandler::DecrementPositioningStatus() - { - if (iLocationManagementSupported) - { - TInt count; - RProperty::Get(iPosStatusCategory, KLbsNiPositioningStatusKey, count); - if(count>0) - { - RProperty::Set(iPosStatusCategory, KLbsNiPositioningStatusKey, count-1); - } - else - { - LBSLOG_ERR(ELogP3, "CPrivacyAndLocationHandler::DecrementPositioningStatus() - Incorrect Positioning Status count\n"); - } - } - } /** @@ -975,7 +920,7 @@ if(aSessionId == iFsm->SessionId()) { iFsm->ExitData().SetExitData(TPrivLocStateExitData::EExitSessionComplete, aReason); - iFsm->ChangeState(CLbsPrivLocFsm::EStateIdle, aSessionId); + iFsm->ChangeState(CLbsPrivLocFsm::EStateIdle, aSessionId); } } @@ -1114,17 +1059,6 @@ return iFsm->PrivLocHandler().NetworkRegistrationStatus(); } -/* - * increments the network initiated positioning status count - * and remembers that it has done - */ -void CLbsPrivLocStateBase::IncrementPositioningStatus() - { - iFsm->PrivLocHandler().IncrementPositioningStatus(); - iFsm->WasPositioningStatusIncremented() = ETrue; - } - - // ----------------------------------------------------------------------------- // // ----------------------- Class CLbsPrivLocIdleState -------------------- @@ -1200,7 +1134,7 @@ // The request relates to a rejected privacy request // or a request for this session which has already been answered. // In either case, it should be refused. The message is sent to the - // network gateway as a part of exit from the state, but we want to + // network gateway as apart of exit from the state, but we want to // remain in Idle state. iFsm->ExitData().SetExitData(TPrivLocStateExitData::EExitCancelledByPrivacyController, KErrAccessDenied); iFsm->ChangeState(CLbsPrivLocFsm::EStateIdle, aSessionId); @@ -1254,7 +1188,6 @@ const TLbsNetPosRequestPrivacyInt& aNetPosRequestPrivacy) { iFsm->SessionType() = aSessionType; - iFsm->ExternalRequestType() = aExternalRequestInfo.RequestType(); iFsm->ExitData().SetExitData(TPrivLocStateExitData::EExitPrivacyRequestReceived, KErrNone); TPrivLocWaitPrivResponseParams privacyRequestParams( aSessionId, aSessionType, @@ -1364,7 +1297,7 @@ } } - // For MtLrs the Protocol module should not + // For MtLrs the Protcol module should not // send a REF position until after we have sent the Priv response to the PM // Inform network of the privacy response for normal privacy requests. @@ -1438,13 +1371,6 @@ // Tell the AGPS handler that we are going to start a location request soon. AgpsInterface()->PreStartPositioning(iFsm->SessionId(), iFsm->IsEmergency()); - // Set the Positioning Status for the UI indicator. - // Not done for silent requests. - if (iFsm->ExternalRequestType() < TLbsExternalRequestInfo::ERequestSingleShotSilent) - { - IncrementPositioningStatus(); - } - if(iFsm->LocReqReceived()) { TPrivLocWaitLocationUpdateParams updateRequestParams(iFsm->SessionId(), @@ -2566,8 +2492,7 @@ iRefPosProcessed(EFalse), iLocReqReceived(EFalse), iReqCancelled(EFalse), - iWasPrivacyResponseReceivedStateExited(EFalse), - iPositioningStatusIncremented(EFalse) + iWasPrivacyResponseReceivedStateExited(EFalse) { } @@ -2692,14 +2617,6 @@ { LBSLOG3(ELogP3, "FSM(%d) OnSessionComplete reason=%d",iSessionId.SessionNum(),aReason); iCurrentState->OnSessionComplete(aSessionId, aReason); - - // update the positioning status. Note this is updated only if it was previously - // incremented as a result of this session. - if (WasPositioningStatusIncremented()) - { - PrivLocHandler().DecrementPositioningStatus(); - WasPositioningStatusIncremented() = EFalse; - } } // ----------------------------------------------------------------------------- diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/src/privacyhandler.cpp --- a/locationrequestmgmt/networkrequesthandler/src/privacyhandler.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/privacyhandler.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -971,7 +971,11 @@ privReq->SetRequestPrivacy(aNetPosRequestPrivacy); } privReq->SetStartTime(); - iRequestBuffer.Append(privReq); + TInt err = iRequestBuffer.Append(privReq); + if(err != KErrNone) + { + LBSLOG2(ELogP4, "CPrivacyControllerHandler::ProcessNetworkLocationRequest : iRequestBuffer.Append failed with - %d error",err); + } iAlwaysVerify = EFalse; if (iNrhServer == 0) diff -r 0c2046328c85 -r c92d4f3c47c5 locationrequestmgmt/networkrequesthandler/test/group/t_lbsnetworkrequesthandler.mmp --- a/locationrequestmgmt/networkrequesthandler/test/group/t_lbsnetworkrequesthandler.mmp Tue Aug 31 16:38:06 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/test/group/t_lbsnetworkrequesthandler.mmp Wed Sep 01 12:35:25 2010 +0100 @@ -99,7 +99,6 @@ USERINCLUDE ../../inc USERINCLUDE ../../../../locationmgmt/locationcore/LbsCommonInternalDataTypes/inc -USERINCLUDE ../../../../locationmgmt/locationcore/lbsroot/inc USERINCLUDE ../../../../locationmgmt/locationcore/lbsrootapi/inc USERINCLUDE ../../../../locationmgmt/locationcore/LbsInternalApi/inc USERINCLUDE ../../../../locationmgmt/locationcore/LbsNetInternalApi/inc @@ -120,7 +119,6 @@ LIBRARY euser.lib LIBRARY estor.lib -LIBRARY centralrepository.lib LIBRARY lbs.lib LIBRARY lbsloccommon.lib LIBRARY lbsx3p.lib diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/networkpmasn1_pub/group/lbs_networkpmasn1_pub.mrp --- a/networkprotocolmodules/networkpmasn1_pub/group/lbs_networkpmasn1_pub.mrp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/networkpmasn1_pub/group/lbs_networkpmasn1_pub.mrp Wed Sep 01 12:35:25 2010 +0100 @@ -18,6 +18,8 @@ source \sf\os\lbs\networkprotocolmodules\networkpmasn1_pub +exports \sf\os\lbs\networkprotocolmodules\networkpmasn1_pub\group + notes_source \component_defs\release.src ipr E diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/src/cconfigmanager.cpp --- a/networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/src/cconfigmanager.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/networkprotocolmodule/LbsProtocolModule/src/cconfigmanager.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -108,7 +108,7 @@ }; } - iDecisionTable.Append(value); + iDecisionTable.AppendL(value); } } diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/privacyprotocolmodule/ClientAPI/NetworkPrivacyAPI/inc/EPos_NetworkPrivacyPanicDeclaration.h --- a/networkprotocolmodules/privacyprotocolmodule/ClientAPI/NetworkPrivacyAPI/inc/EPos_NetworkPrivacyPanicDeclaration.h Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/privacyprotocolmodule/ClientAPI/NetworkPrivacyAPI/inc/EPos_NetworkPrivacyPanicDeclaration.h Wed Sep 01 12:35:25 2010 +0100 @@ -26,7 +26,7 @@ #ifndef NETWORKPRIVACYPANICDECLARATION_H #define NETWORKPRIVACYPANICDECLARATION_H -#include <epos_networkprivacypanic.h> +#include <EPos_NetworkPrivacyPanic.h> #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/privacyprotocolmodule/PrivacyProtocolModule/src/privacyshutdown.cpp --- a/networkprotocolmodules/privacyprotocolmodule/PrivacyProtocolModule/src/privacyshutdown.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/privacyprotocolmodule/PrivacyProtocolModule/src/privacyshutdown.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -19,10 +19,6 @@ #include "privacyshutdown.h" -// P&S Key we check how many outstanding requests there are -const TInt EPrivacyNumberOfRequest = 0x1028720F; - - /** Static public constructor */ @@ -43,8 +39,7 @@ add timer to active scheduler. */ CPrivacyShutdown::CPrivacyShutdown() : CTimer(CActive::EPriorityStandard), - iState(EShutdownStateIdle), - iTimerCount(0) + iState(EShutdownStateIdle) { LBSLOG(ELogP1, "CPrivacyShutdown::CPrivacyShutdown() Begin\n"); CActiveScheduler::Add(this); @@ -84,7 +79,6 @@ { LBSLOG(ELogP1, "CPrivacyShutdown::Start() Begin\n"); iState = EShutdownStateTimerStarted; - iTimerCount = aDelay; After(aDelay); LBSLOG(ELogP1, "CPrivacyShutdown::Start() End\n"); } @@ -108,27 +102,16 @@ { LBSLOG(ELogP1, "CPrivacyShutdown::RunL() Begin\n"); - // Check if there are any notifications outstanding - TInt outstandingRequests = 0; - RProperty::Get(KUidSystemCategory, EPrivacyNumberOfRequest, outstandingRequests); - if (outstandingRequests > 0) - { - LBSLOG(ELogP1, "CPrivacyShutdown::RunL() - Restarting Timer\n") - Start(iTimerCount); - } - else - { - iState = EShutdownStateShutdownRequested; - - RLbsSystemController systemController; - RProcess process; - systemController.OpenL(process.SecureId()); - CleanupClosePushL(systemController); - - systemController.RequestSystemCloseDown(ETrue); - - CleanupStack::PopAndDestroy(&systemController); - } + iState = EShutdownStateShutdownRequested; + + RLbsSystemController systemController; + RProcess process; + systemController.OpenL(process.SecureId()); + CleanupClosePushL(systemController); + + systemController.RequestSystemCloseDown(ETrue); + + CleanupStack::PopAndDestroy(&systemController); LBSLOG(ELogP1, "CPrivacyShutdown::RunL() End\n"); } diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/privacyprotocolmodule/test/group/bld.inf --- a/networkprotocolmodules/privacyprotocolmodule/test/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/privacyprotocolmodule/test/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -14,5 +14,5 @@ // #include "../te_lbsnetworkprivacy/group/bld.inf" -#include "../te_dummynetgateway/group/bld.inf" -#include "../te_lbsprivfwcap/group/bld.inf" +#include "../te_dummynetgateway/group/BLD.INF" +#include "../te_lbsprivfwcap/group/BLD.INF" diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplprotocolmodule/group/bld.inf --- a/networkprotocolmodules/suplprotocolmodule/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -PRJ_EXPORTS -lbssupl.iby /epoc32/rom/include/lbssupl.iby - -// ConfML files -../conf/suplprotocolmodule.confml OS_LAYER_EXPORTS_CONFML(suplprotocolmodule.confml) -../conf/suplprotocolmodule_10285AA8.crml OS_LAYER_EXPORTS_CRML(suplprotocolmodule_10285aa8.crml) - -// Main projects, in build order -#include "../HostSettingsApi/group/bld.inf" -#include "../SuplConnectionManager/group/bld.inf" -#include "../SuplProtocol/group/bld.inf" - -#include "../SuplPushAPI/group/bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplprotocolmodule/group/lbs_suplprotocolmodule.mrp --- a/networkprotocolmodules/suplprotocolmodule/group/lbs_suplprotocolmodule.mrp Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - -component lbs_suplprotocolmodule - -source \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\ - -binary \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\group all - -exports \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\group - -notes_source \component_defs\release.src - - -ipr E -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\HostSettingsAPI\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\SuplConnectionManager\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\SuplRrlpProtocol\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\SuplProtocol\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\SuplPushAPI\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\SuplRrlpAsn1\test -ipr T \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\test -ipr B \sf\os\lbs\networkprotocolmodules\suplprotocolmodule\test\export - diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplprotocolmodule/group/lbssupl.iby --- a/networkprotocolmodules/suplprotocolmodule/group/lbssupl.iby Tue Aug 31 16:38:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#ifndef __LBS_SUPL_IBY__ -#define __LBS_SUPL_IBY__ - - -#if !defined(SYMBIAN_EXCLUDE_LOCATION) && defined(SYMBIAN_INCLUDE_LOCATION_SUPLv10) - -#include "supldevlogger.iby" -#include "asn1export.iby" -#include "asn1supl.iby" -#include "asn1rrlp.iby" -#include "lbshostsettings.iby" -#include "suplrrlpprotocol.iby" -#include "lbssuplconnectionmanager.iby" -#include "suplprotocolmodule.iby" -#include "lbssuplpush.iby" -#include "suplrrlpasn1.iby" - -#endif // SYMBIAN_EXCLUDE_LOCATION, SYMBIAN_INCLUDE_LOCATION_SUPLv10 - - -#endif // __LBS_SUPL_IBY__ diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplproxyprotocolmodule/clientapi/suplposmsgpluginapi/src/epos_comasuplreqasstdata.cpp --- a/networkprotocolmodules/suplproxyprotocolmodule/clientapi/suplposmsgpluginapi/src/epos_comasuplreqasstdata.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/suplproxyprotocolmodule/clientapi/suplposmsgpluginapi/src/epos_comasuplreqasstdata.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -127,7 +127,11 @@ aSatInfo.Reset(); for(TInt i = 0; i<noOfElems; i++) { - aSatInfo.Append(iSatInfo[i]); + TInt err = aSatInfo.Append(iSatInfo[i]); + if(err != KErrNone) + { + return err; + } } return KErrNone; } @@ -150,7 +154,12 @@ for(TInt i = 0; i<noOfElems; i++) { - iSatInfo.Append(aSatInfo[i]); + TInt err = iSatInfo.Append(aSatInfo[i]); + if( err != KErrNone ) + { + // Nothing can be done + return; + } } iSatInfoPresent = ETrue; @@ -174,7 +183,7 @@ iSatInfo.Reset(); for(TInt i=0; i< aNaviModel.iSatInfo.Count();++i) { - iSatInfo.Append(aNaviModel.iSatInfo[i]); + TRAP_IGNORE( iSatInfo.AppendL(aNaviModel.iSatInfo[i]) ); } } diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplproxyprotocolmodule/group/lbs_suplproxyprotocolmodule.mrp --- a/networkprotocolmodules/suplproxyprotocolmodule/group/lbs_suplproxyprotocolmodule.mrp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/suplproxyprotocolmodule/group/lbs_suplproxyprotocolmodule.mrp Wed Sep 01 12:35:25 2010 +0100 @@ -14,6 +14,7 @@ # Description: # + component lbs_suplproxyprotocolmodule source \sf\os\lbs\networkprotocolmodules\suplproxyprotocolmodule diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/group/bld.inf --- a/networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -19,8 +19,8 @@ PRJ_EXPORTS lbssuplproxyprotocolmodule.iby /epoc32/rom/include/lbssuplproxyprotocolmodule.iby -102871ed.cre z:/private/10202be9/102871ed.cre +102871ED.cre z:/private/10202be9/102871ED.cre // ConfML files ../conf/suplproxyprotocolmodule.confml OS_LAYER_EXPORTS_CONFML(suplproxyprotocolmodule.confml) -../conf/suplproxyprotocolmodule_102871ed.crml OS_LAYER_EXPORTS_CRML(suplproxyprotocolmodule_102871ed.crml) +../conf/suplproxyprotocolmodule_102871ED.crml OS_LAYER_EXPORTS_CRML(suplproxyprotocolmodule_102871ED.crml) diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/src/suplproxymodule.cpp --- a/networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/src/suplproxymodule.cpp Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/suplproxyprotocolmodule/suplproxyprotocolmodule/src/suplproxymodule.cpp Wed Sep 01 12:35:25 2010 +0100 @@ -549,15 +549,6 @@ const TLbsNetPosRequestOptionsBase& aOptions) { LBSLOG(ELogP1, "CSuplProxyProtocol::RequestNetworkLocation() Begin\n"); - - if(!iSuplTiApiWrapper) - { - //Error, TI Plugin not available. Complete the request with error - LBSLOG_ERR(ELogP1, "Error, TI Plugin not available, not able to complete request"); - LBSLOG2(ELogP1, "-->ProcessSessionComplete(0x%x)\n", aSessionId.SessionNum()); - iObserver.ProcessSessionComplete(aSessionId, KErrNotReady); - return; - } const TLbsNetPosRequestOptions reqParams = static_cast<const TLbsNetPosRequestOptions&> (aOptions); @@ -572,7 +563,12 @@ // Add this request to the queue of outstanding requests LBSLOG2(ELogP1, "CSuplProxyProtocol::RequestNetworkLocation() Adding sppm session object 0x%x to array\n", aSessionId); - iLbsNetSessions.Append(netSession); + TInt err = iLbsNetSessions.Append(netSession); + if(KErrNone != err) + { + LBSLOG(ELogP1, "CSuplProxyProtocol::RequestNetworkLocation() - iLbsNetSessions.Append failed!!\n"); + delete netSession; + } } //Create the prioritised list of positioning methods @@ -651,13 +647,6 @@ LBSLOG2(ELogP1, "-->ProcessSessionComplete(0x%x)\n", aSessionId.SessionNum()); iObserver.ProcessSessionComplete(aSessionId, KErrNone); } - else if(!iSuplTiApiWrapper) - { - //Error, TI Plugin not available. Complete the request with error - LBSLOG_ERR(ELogP1, "Error, TI Plugin not available, not able to complete request"); - LBSLOG2(ELogP1, "-->ProcessSessionComplete(0x%x)\n", aSessionId.SessionNum()); - iObserver.ProcessSessionComplete(aSessionId, KErrNotReady); - } else { @@ -733,7 +722,13 @@ // Add this request to the queue of outstanding requests LBSLOG2(ELogP1, "CSuplProxyProtocol::RequestSelfLocation() Adding sppm session object 0x%x to array\n", aSessionId); - iLbsNetSessions.Append(netSession); + TInt err = iLbsNetSessions.Append(netSession); + if(KErrNone != err) + { + LBSLOG(ELogP1, "CSuplProxyProtocol::RequestSelfLocation() - iLbsNetSessions.Append failed!!\n"); + delete netSession; + return; + } } //Inform LBS of the start of an MOLR - TB @@ -873,7 +868,6 @@ void CSuplProxyProtocol::ConstructL() { LBSLOG(ELogP1, "CSuplProxyProtocol::ConstructL() Begin\n"); - TInt err = KErrNone; CRepository* cenRep = CRepository::NewLC(KLbsSuplProxyProtocolModuleCenRepUid); TInt refLocSourceId(KErrNone); @@ -893,18 +887,14 @@ LBSLOG(ELogP9, "->A CLbsSuplTiApi::NewL() SUPL-FW\n"); LBSLOG2(ELogP9, " > Uid = 0x%08X\n", suplTiPluginImplUid); - TRAP(err, iSuplTiApiWrapper = CLbsSuplTiApi::NewL(*this, TUid::Uid(suplTiPluginImplUid))); - if(err != KErrNone) - { - LBSLOG_ERR2(ELogP1, "Failed to load the Terminal Initiation API Plugin (error: %d)", err); - } + iSuplTiApiWrapper = CLbsSuplTiApi::NewL(*this, TUid::Uid(suplTiPluginImplUid)); CLbsAdmin* admin = CLbsAdmin::NewL(); CleanupStack::PushL(admin); // Read admin setting for maximum number of external locate requests TUint maxExternalLocateRequests = KLbsDefaultMaximumExternalLocateRequests; - err = admin->Get(KLbsSettingMaximumExternalLocateRequests, maxExternalLocateRequests); + TInt err = admin->Get(KLbsSettingMaximumExternalLocateRequests, maxExternalLocateRequests); if (err != KErrNone) { LBSLOG_ERR2(ELogP4, "Failed to get KLbsSettingMaximumExternalLocateRequests (err %d)", err); @@ -990,7 +980,19 @@ { netSession->SetExtRequestInfo(extReqInfo); LBSLOG2(ELogP1, "CSuplProxyProtocol::ProcessRequest() Adding sppm session object 0x%x to array\n", sessionId); - iLbsNetSessions.Append(netSession); + TInt err = iLbsNetSessions.Append(netSession); + if (err != KErrNone) + { + // A problem occured and the request could not be added to the buffer + LBSLOG_WARN2(ELogP1, "CSuplProxyProtocol::ProcessRequest() - iLbsNetSessions.Append failed!! - (%d)\n", err); + if (aRequest->IsResponseRequired()) + { + aRequest->CompleteRequest(err); + } + delete netSession; + delete aRequest; + return; + } } } } @@ -1145,7 +1147,12 @@ netSession->SetPosSessionStarted(ETrue); netSession->SetSessionStarted(); LBSLOG2(ELogP1, "CSuplProxyProtocol::NotifySubSessionOpen() Adding sppm session object 0x%x to array\n", sessionId); - iLbsNetSessions.Append(netSession); + TInt err = iLbsNetSessions.Append(netSession); + if(KErrNone != err) + { + LBSLOG(ELogP1, "CSuplProxyProtocol::NotifySubSessionOpen() - iLbsNetSessions.Append failed!!\n"); + delete netSession; + } } //Update LBS of the currently active services including this new session type StatusUpdate(MLbsNetworkProtocolObserver2::EServiceTriggeredMolr,ETrue); @@ -1544,7 +1551,7 @@ const TLbsNetSessionId& aSessionId) { LBSLOG(ELogP1, "CSuplProxyProtocol::RequestComplete() Begin\n"); - + TInt index = iLbsNetSessions.Find(aSessionId, CLbsNetSession::IsSessionMatch); diff -r 0c2046328c85 -r c92d4f3c47c5 networkprotocolmodules/suplproxyprotocolmodule/test/group/bld.inf --- a/networkprotocolmodules/suplproxyprotocolmodule/test/group/bld.inf Tue Aug 31 16:38:06 2010 +0300 +++ b/networkprotocolmodules/suplproxyprotocolmodule/test/group/bld.inf Wed Sep 01 12:35:25 2010 +0100 @@ -19,4 +19,4 @@ #include "../te_lbs_sppm_privfwcap/group/bld.inf" #include "../te_terminalplugin/group/bld.inf" #include "../te_suplproxyprotocolmodule/group/bld.inf" -#include "../te_sppm_reflocplugin/group/bld.inf" \ No newline at end of file +#include "../te_sppm_reflocplugin/group/bld.inf" diff -r 0c2046328c85 -r c92d4f3c47c5 package_definition.xml --- a/package_definition.xml Tue Aug 31 16:38:06 2010 +0300 +++ b/package_definition.xml Wed Sep 01 12:35:25 2010 +0100 @@ -20,9 +20,6 @@ <component id="npeintegmodule" name="NPE Integration Module" introduced="^3" purpose="optional" class="plugin"> <unit bldFile="datasourcemodules/npeintegmodule/group" mrp="datasourcemodules/npeintegmodule/group/lbs_npeintegrationmodule.mrp"/> </component> - <component id="locationapesuplpsy" name="APE SUPL Positioning Module" introduced="^3" purpose="optional" class="plugin"> - <unit bldFile="datasourcemodules/locationapesuplpsy/group" mrp="datasourcemodules/locationapesuplpsy/group/lbs_ape_supl_positioning_module.mrp"/> - </component> </collection> <collection id="datasourceadaptation" name="Data Source Adaptation" level="adaptation"> <component id="gpsdatasourceadaptation" name="GPS Data Source Adaptation" introduced="^2" purpose="optional" class="plugin"> diff -r 0c2046328c85 -r c92d4f3c47c5 sysdef_1_4_0.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysdef_1_4_0.dtd Wed Sep 01 12:35:25 2010 +0100 @@ -0,0 +1,86 @@ + <!ELEMENT SystemDefinition (systemModel?, build?)> + <!ATTLIST SystemDefinition + name CDATA #REQUIRED + schema CDATA #REQUIRED> + <!ELEMENT systemModel (layer+)> + <!ELEMENT layer (logicalset* | module*)*> + <!ATTLIST layer + name CDATA #REQUIRED + levels CDATA #IMPLIED + span CDATA #IMPLIED> + <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*> + <!ATTLIST logicalset name CDATA #REQUIRED> + <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*> + <!ATTLIST logicalsubset name CDATA #REQUIRED> + <!ELEMENT module (component* | unit* | package* | prebuilt*)*> + <!ATTLIST module + name CDATA #REQUIRED + level CDATA #IMPLIED> + <!ELEMENT component (unit* | package* | prebuilt*)*> + <!ATTLIST component name CDATA #REQUIRED> + <!ELEMENT unit EMPTY> + <!ATTLIST unit + unitID ID #REQUIRED + name CDATA #REQUIRED + mrp CDATA #REQUIRED + filter CDATA #IMPLIED + bldFile CDATA #REQUIRED + priority CDATA #IMPLIED + contract CDATA #IMPLIED> + <!ELEMENT package EMPTY> + <!ATTLIST package + name CDATA #REQUIRED + mrp CDATA #REQUIRED + filter CDATA #IMPLIED + contract CDATA #IMPLIED> + <!ELEMENT prebuilt EMPTY> + <!ATTLIST prebuilt + name CDATA #REQUIRED + version CDATA #REQUIRED + late (Y|N) #IMPLIED + filter CDATA #IMPLIED + contract CDATA #IMPLIED> + <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*> + <!ELEMENT unitList (unitRef+)> + <!ATTLIST unitList + name ID #REQUIRED + description CDATA #REQUIRED> + <!ELEMENT unitRef EMPTY> + <!ATTLIST unitRef unit IDREF #REQUIRED> + <!ELEMENT targetList EMPTY> + <!ATTLIST targetList + name ID #REQUIRED + description CDATA #REQUIRED + target IDREFS #REQUIRED> + <!ELEMENT target EMPTY> + <!ATTLIST target + name ID #REQUIRED + abldTarget CDATA #REQUIRED + description CDATA #REQUIRED> + <!ELEMENT option EMPTY> + <!ATTLIST option + name ID #REQUIRED + abldOption CDATA #REQUIRED + description CDATA #REQUIRED + enable (Y | N | y | n) #REQUIRED> + <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*> + <!ATTLIST configuration + name ID #REQUIRED + description CDATA #REQUIRED + filter CDATA #REQUIRED> + <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))> + <!ELEMENT unitListRef EMPTY> + <!ATTLIST unitListRef unitList IDREF #REQUIRED> + <!ELEMENT layerRef EMPTY> + <!ATTLIST layerRef layerName CDATA #REQUIRED> + <!ELEMENT buildLayer EMPTY> + <!ATTLIST buildLayer + command CDATA #REQUIRED + targetList IDREFS #IMPLIED + unitParallel (Y | N | y | n) #REQUIRED + targetParallel (Y | N | y | n) #IMPLIED> + <!ELEMENT specialInstructions EMPTY> + <!ATTLIST specialInstructions + name CDATA #REQUIRED + cwd CDATA #REQUIRED + command CDATA #REQUIRED>