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(¶m); |
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(¶m); |
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() ) |