supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplfallbackhandler.cpp
branchRCL_3
changeset 13 9c303455e256
parent 12 5944cae565c9
child 20 2b4ea9893b66
equal deleted inserted replaced
12:5944cae565c9 13:9c303455e256
   134             		aIAPName.Zero();   
   134             		aIAPName.Zero();   
   135             		aIAPName.Copy(iDefaultIAPName);
   135             		aIAPName.Copy(iDefaultIAPName);
   136             		aTls = ETrue;
   136             		aTls = ETrue;
   137             		aPskTls = EFalse;
   137             		aPskTls = EFalse;
   138             		aIsIapDialogShown = ETrue;
   138             		aIsIapDialogShown = ETrue;
       
   139 					
       
   140 					CServerParams* param = CServerParams::NewL();
       
   141 					CleanupStack::PushL(param);
       
   142 					
       
   143 					//Find out if this alternative generated SUPL server is in the SUPL Settings list
       
   144 					TInt err = iSuplSettings.GetSlpInfoAddress(iGenratedHslpAddress, param);
       
   145 					if(err == KErrNotFound)
       
   146 						{
       
   147 						//Server does not exist
       
   148 						iTrace->Trace(_L("Server does not exist in list so adding it in."),KTraceFileName, __LINE__);
       
   149 						CServerParams* newParam=CServerParams::NewL();
       
   150 						CleanupStack::PushL(newParam);
       
   151 						User::LeaveIfError(newParam->Set( iGenratedHslpAddress,iDefaultIAPName,ETrue,ETrue,ETrue,EFalse ));
       
   152 
       
   153 						err = iSuplSettings.AddNewServer( newParam, aSLPId ); //Ignore error
       
   154 						LogBuffer.Copy(_L("AddNewServer() completed with err: "));
       
   155 						LogBuffer.AppendNum(err);
       
   156 						iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
       
   157 						
       
   158 						CleanupStack::PopAndDestroy(&newParam);
       
   159 						}
       
   160 					else
       
   161 						{
       
   162 						//Server exists, get the SLP ID and the IAP Access point for this server
       
   163 						HBufC* hslpAddress =  HBufC::NewL(KHSLPAddressLength);       
       
   164 						HBufC* iapName =  HBufC::NewL(KMaxIapNameLength);
       
   165 						TBool serverEnabled;
       
   166 						TBool simChangeRemove;
       
   167 						TBool usageInHomeNw;
       
   168 						TBool editable;
       
   169 						
       
   170 						iTrace->Trace(_L("Server already exists, getting the SLP ID and Access Point."),KTraceFileName, __LINE__);
       
   171 						
       
   172 						param->Get(aSLPId,hslpAddress->Des(),iapName->Des(),serverEnabled,simChangeRemove,usageInHomeNw,editable);
       
   173 						aIAPName.Copy(iapName->Des());
       
   174 						
       
   175 						delete hslpAddress;
       
   176 						delete iapName;
       
   177 						}
       
   178 					
       
   179 					CleanupStack::PopAndDestroy(&param);
   139                                 
   180                                 
   140             		iTrace->Trace(_L("Fallback allowed & TLSAuth failed"),KTraceFileName, __LINE__);
   181             		iTrace->Trace(_L("Fallback allowed & TLSAuth failed"),KTraceFileName, __LINE__);
   141             		iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
   182             		iTrace->Trace(_L("Server being used:"),KTraceFileName, __LINE__);
   142             		LogBuffer.Copy(aHslpToBeUsedAddress);
   183             		LogBuffer.Copy(aHslpToBeUsedAddress);
   143             		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
   184             		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
   190 		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
   231 		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
   191 
   232 
   192 		iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
   233 		iTrace->Trace(_L("iap being used:"),KTraceFileName, __LINE__);
   193 		LogBuffer.Copy(aIAPName);
   234 		LogBuffer.Copy(aIAPName);
   194 		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
   235 		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__);
       
   236 		
       
   237 		//Add the server to the list for future connections
       
   238 		CServerParams* param=CServerParams::NewL();
       
   239 		CleanupStack::PushL(param);
       
   240 		User::LeaveIfError(param->Set( iGenratedHslpAddress,iDefaultIAPName,ETrue,ETrue,ETrue,EFalse ));
       
   241 
       
   242 		TInt err = iSuplSettings.AddNewServer( param, aSLPId ); //Ignore error
       
   243 		LogBuffer.Copy(_L("AddNewServer() completed with err: "));
       
   244 		LogBuffer.AppendNum(err);
       
   245 		iTrace->Trace(LogBuffer,KTraceFileName, __LINE__); 		
       
   246 		
       
   247 		CleanupStack::PopAndDestroy(&param);
   195 
   248 
   196 		return KErrNone;
   249 		return KErrNone;
   197 		}
   250 		}
   198     
   251     
   199     if( iSLPList->Count() <= 0 || iCurrentServerCounter >= iSLPList->Count() ) 
   252     if( iSLPList->Count() <= 0 || iCurrentServerCounter >= iSLPList->Count() )