lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp
branchRCL_3
changeset 54 0c2046328c85
parent 0 9cfd9a3ee49c
child 49 5f20f71a57a3
child 55 c92d4f3c47c5
--- a/lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp	Thu Aug 19 11:17:26 2010 +0300
+++ b/lbstest/lbstestproduct/lbshybridmolr/src/ctlbsmolrtracking.cpp	Tue Aug 31 16:38:06 2010 +0300
@@ -84,6 +84,9 @@
 	{
 	// Create the base class objects.
 	CT_LbsHybridMOLRStep::ConstructL();
+    iLbsPositioningStatus = CLbsPositioningStatus::NewL(*this);
+    iPosStatusCount = 0;
+    iPositioningStatus = CLbsPositioningStatus::ELbsPositioningStatusNotActive;
 	}
 
 /**
@@ -91,6 +94,7 @@
  */
 CT_LbsMolrTracking::~CT_LbsMolrTracking()
 	{
+    delete iLbsPositioningStatus;
 	TRAP_IGNORE(doTestStepPostambleL());
 	}
 
@@ -232,6 +236,16 @@
 		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");
@@ -274,6 +288,11 @@
 TVerdict CT_LbsMolrTracking::doTestStepPostambleL()
 	{
 	INFO_PRINTF1(_L(">>CT_LbsMolrTracking::doTestStepPostambleL()"));
+    if(iPositioningIndicatorCount>0)
+        {
+        TESTL(iPositioningIndicatorCount==iPosStatusCount);
+        TESTL(iPositioningStatus == CLbsPositioningStatus::ELbsPositioningStatusNotActive);
+        }
 	iClients.ResetAndDestroy();
 	iClientTestManagers.ResetAndDestroy();
 
@@ -389,7 +408,11 @@
 			
 			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)
 				{
@@ -726,3 +749,8 @@
 	CleanupStack::PopAndDestroy(moduleUpdate);
 	CleanupStack::PopAndDestroy(db);
 }
+void CT_LbsMolrTracking::OnPositioningStatusUpdate(const CLbsPositioningStatus::TLbsPositioningStatus& aPositioningStatus)
+    {
+    iPosStatusCount++;
+    iPositioningStatus = aPositioningStatus;
+    }