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