supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 0 667063e416a2
child 45 6b6920c56e2f
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstartstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -88,24 +88,25 @@
 //
 COMASuplTriggerStartState::~COMASuplTriggerStartState()
     {
-    	if(iTrace)
-    		{
-    		iTrace->Trace(_L("COMASuplTriggerStartState::~COMASuplTriggerStartState..."), KTraceFileName, __LINE__); 							
-    		iTrace->Trace(_L("deleting iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
-    	  }
-    	delete iLocationIDRequestor;
-    	
-    	if(iPosRequestor)
-    		iPosRequestor->DestroyList();
-		else    	    	
-            {                
-    	    iTrace->Trace(_L("deleting iSETCapabilities ..."), KTraceFileName, __LINE__); 							
-    		delete iSETCapabilities ;
-            }
+    if(iTrace)
+        {
+        iTrace->Trace(_L("COMASuplTriggerStartState::~COMASuplTriggerStartState..."), KTraceFileName, __LINE__); 							
+        iTrace->Trace(_L("deleting iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
+        }
+    delete iLocationIDRequestor;
 
+    if(iPosRequestor)
+        iPosRequestor->DestroyList();
+    else    	    	
+        {   
+        if(iTrace)
+            iTrace->Trace(_L("deleting iSETCapabilities ..."), KTraceFileName, __LINE__); 							
+        delete iSETCapabilities ;
+        }
 
-    	iTrace->Trace(_L("deleting iAllowedCapabilities ..."), KTraceFileName, __LINE__); 							
-    	delete iAllowedCapabilities;
+    if(iTrace)
+        iTrace->Trace(_L("deleting iAllowedCapabilities ..."), KTraceFileName, __LINE__); 							
+    delete iAllowedCapabilities;
 
     }
 
@@ -260,7 +261,7 @@
 							 posProtocolExt.SetTOMASuplVer2ProtocolExt(tempProtocolVersion,posProtocolVersion,posProtocolVersionTia);								
 							 posProtocol2.SetVer2PosProtoExtn(posProtocolExt);
 						}
-			
+			if(iSETCapabilities2)
 			      iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
       
       }
@@ -308,9 +309,10 @@
         // Set SET Capability extn
         TOMAVer2SetCapExtn setCapsExtn;
         setCapsExtn.SetServiceCaps(serviceCaps);
-				iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
+		iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
         // Set SET Capabilities
-        iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
+		if(iSETCapabilities2)
+		    iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
 
 	    iTrace->Trace(_L("SetSuplTriggeredStart"), KTraceFileName, __LINE__);
 	    
@@ -621,8 +623,9 @@
             TOMASuplTriggerParams trgParams;
             TOMASuplPeriodicParams prdParams; 
             TUint fixes, interval, starttime;
-            iTriggerParams.Get(fixes, interval, starttime);
-            
+           TInt errorCode= iTriggerParams.Get(fixes, interval, starttime);
+            if(errorCode==KErrNone)
+             {
 #ifdef PRINT_MESSAGE	
 		    		iTrace->Trace(_L("Periodic Trigger params ..."), KTraceFileName, __LINE__); 							
 	          TBuf<128> buf;
@@ -642,6 +645,7 @@
             OMASuplStart->SetTriggerType(COMASuplTriggeredStart::ETOMASuplPeriodicTrigType);
 				    iTrace->Trace(_L("Trigger Type - Periodic ..."), KTraceFileName, __LINE__); 							
 	          OMASuplStart->SetTriggerParams(trgParams);
+	           }
             }
 			
 		iTrace->Trace(_L("Starting Encoding..."), KTraceFileName, __LINE__); 							
@@ -717,7 +721,9 @@
 			
 		COMASuplGSMCellInfo* cellInfo;
         COMASuplLocationId::TOMASuplStatus status;
-        aLocationId->SuplLocationId(cellInfo, status);
+        TInt err =aLocationId->SuplLocationId(cellInfo, status);
+        if(KErrNone != err)
+        	return;
 
 		TInt refMNC,refMCC,refCI,refLac;
 		cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
@@ -725,10 +731,7 @@
         COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
         cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
 		iLocationId->SetSuplLocationId(cellInfoClone, status);
-		
-		delete aLocationId;
-		aLocationId=NULL;
-		
+				
 		if(iECId)
 			{
 				iTrace->Trace(_L("COMASuplTriggerStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); 					
@@ -739,6 +742,8 @@
 			{	
 				GetAssistceDataFromPluginL(aErrorCode);
 			}	
+		delete aLocationId;
+		aLocationId=NULL;
 	}
 
 // -----------------------------------------------------------------------------