supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 19 d6e4203b7ebe
child 45 6b6920c56e2f
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -89,7 +89,8 @@
 		iTrace->Trace(_L("COMASuplStartState::~COMASuplStartState..."), KTraceFileName, __LINE__); 							
 
 	delete iLocationIDRequestor;
-	iTrace->Trace(_L("Deleted iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
+	if(iTrace)
+	    iTrace->Trace(_L("Deleted iLocationIDRequestor..."), KTraceFileName, __LINE__); 							
 	
 	if(iPosRequestor)
         {                
@@ -98,15 +99,19 @@
 	else    	    	
         {                
 		delete iSETCapabilities ;
-	    iTrace->Trace(_L("Deleted iSETCapabilities ..."), KTraceFileName, __LINE__); 							
+		if(iTrace)
+		    iTrace->Trace(_L("Deleted iSETCapabilities ..."), KTraceFileName, __LINE__); 							
         }
 
 	delete iAllowedCapabilities;
-	iTrace->Trace(_L("Deleted iAllowedCapabilities..."), KTraceFileName, __LINE__); 							
+	
+	if(iTrace)
+	    iTrace->Trace(_L("Deleted iAllowedCapabilities..."), KTraceFileName, __LINE__); 							
  							
 	if(iLocationId)
 		{
-		iTrace->Trace(_L("Deleted iLocationId..."), KTraceFileName, __LINE__); 							
+        if(iTrace)
+            iTrace->Trace(_L("Deleted iLocationId..."), KTraceFileName, __LINE__); 							
 		delete iLocationId;	
 		iLocationId=NULL;
 		}    		
@@ -241,8 +246,8 @@
             TBool tia801, rrlp, rrc;
 		    posProtocol.GetPosProtocol(tia801, rrlp, rrc);
             posProtocol2.SetPosProtocol(tia801, rrlp, rrc);
-
-            iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
+            if(iSETCapabilities2)
+                iSETCapabilities2->SetSETCapabilities(posTechnology2, prefMethod2, posProtocol2);
         }
 		OMASuplStart->SetMessageBase(aSuplVersion,aSessionId); 
 	
@@ -286,9 +291,10 @@
         // Set SET Capability extn
         TOMAVer2SetCapExtn setCapsExtn;
         setCapsExtn.SetServiceCaps(serviceCaps);
-				iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
+        iTrace->Trace(_L("SetVer2SetCapExtn"), KTraceFileName, __LINE__);
         // Set SET Capabilities
-        iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
+		if(iSETCapabilities2)
+		    iSETCapabilities2->SetVer2SetCapExtn(setCapsExtn);
 		//iLocationId ownership will be with SUPL start class
 		OMASuplStart->SetSuplStart(iSETCapabilities2,iLocationId2,iECId);
 		if(iECId)
@@ -640,48 +646,53 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void COMASuplStartState::LocationIDRequestCompletedL(COMASuplLocationId* aLocationId,
-													TInt aErrorCode)
-	{
-		iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompleted..."), KTraceFileName, __LINE__); 								
-		iGenerationStatus = EFalse;
-		if(aErrorCode!=KErrNone)
-			{
-				iTrace->Trace(_L("COMASuplStartState::LocationRequestFailed"), KTraceFileName, __LINE__); 					
-				if(iMsgStateObserver)
-					{
-						iMsgStateObserver->OperationCompleteL(aErrorCode);
-						return;
-					}
-			}
-			
-		COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
-        COMASuplLocationId::TOMASuplStatus status;
-        TInt err = aLocationId->SuplLocationId(cellInfo, status);
-		
-		if(err == KErrNone)
-			{
-			TInt refMNC,refMCC,refCI,refLac;
-			cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
-			
-			COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
-			cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac);
-			iLocationId2->SetSuplLocationId(cellInfoClone, status);
+void COMASuplStartState::LocationIDRequestCompletedL(
+        COMASuplLocationId* aLocationId, TInt aErrorCode)
+    {
+    delete iLocationId;
+    iLocationId = NULL;
+    iLocationId = aLocationId;
+    iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompleted..."),
+            KTraceFileName, __LINE__);
+    iGenerationStatus = EFalse;
+    if (aErrorCode != KErrNone)
+        {
+        iTrace->Trace(_L("COMASuplStartState::LocationRequestFailed"),
+                KTraceFileName, __LINE__);
+        if (iMsgStateObserver)
+            {
+            iMsgStateObserver->OperationCompleteL(aErrorCode);
+            return;
+            }
+        }
+
+    COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
+    COMASuplLocationId::TOMASuplStatus status;
+    TInt err = aLocationId->SuplLocationId(cellInfo, status);
 
-			iLocationId = aLocationId;
+    if (err == KErrNone)
+        {
+        TInt refMNC, refMCC, refCI, refLac;
+        cellInfo->SuplGSMCellInfo(refMNC, refMCC, refCI, refLac);
+
+        COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL();
+        cellInfoClone->SetSuplGSMCellInfo(refMNC, refMCC, refCI, refLac);
+        iLocationId2->SetSuplLocationId(cellInfoClone, status);
 
-			if(iECId)
-				{
-					iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); 					
-					iGenerationStatus = ETrue;
-					iLocationIDRequestor->GetECellID();
-				}
-			else
-				{	
-					GetAssistceDataFromPluginL(aErrorCode);
-				}	
-			}
-	}
+        if (iECId)
+            {
+            iTrace->Trace(
+                    _L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"),
+                    KTraceFileName, __LINE__);
+            iGenerationStatus = ETrue;
+            iLocationIDRequestor->GetECellID();
+            }
+        else
+            {
+            GetAssistceDataFromPluginL(aErrorCode);
+            }
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplStartState::LocationECellIdRequestCompletedL