|
1 /* |
|
2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: SUPL Settings class |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef __EPOS_CSUPLSETTINGSINTERNAL_H__ |
|
21 #define __EPOS_CSUPLSETTINGSINTERNAL_H__ |
|
22 |
|
23 // INCLUDES |
|
24 #include <e32base.h> |
|
25 #include <epos_csuplsettings.h> |
|
26 // FORWARD DECLARATIONS |
|
27 class CTriggerParams; |
|
28 class CServerExtensionParams; |
|
29 |
|
30 // CONSTANTS |
|
31 |
|
32 // CLASS DECLARATION |
|
33 |
|
34 /** |
|
35 * This class is used for accessing SUPL settings. The SUPL settings |
|
36 * contains information such about server properties which includes following: |
|
37 * |
|
38 * Server address in string format. This is an HSLP address used for SUPL connection. |
|
39 * Protocol version in mmnn format where mm indicates minor version nn is major version |
|
40 * The Internet Access Point Name refers to the access point which is used to access the HSLP over the internet. |
|
41 * This can have maximum size of 100 characters. |
|
42 * Manufacturer name of server indicates the server manufacturer. |
|
43 * Time stamp when last used. |
|
44 * Time stamp when last tried. |
|
45 * Network info when the server was last used |
|
46 * Network info when the server was last used sucessfully |
|
47 * Information on whether server supports emergency support or not |
|
48 * Information on whether server supports TLS or not |
|
49 * Information on whether server supports PSK-TLS or not |
|
50 * Information on whether server enabled or not |
|
51 * Information on whether this server entry needs to be deleted when SIM changes |
|
52 * Information on whether server can be used in the home network or not |
|
53 * Information on whether this server entry can be edited or not |
|
54 * SUPL Usage indicates whether user should be notified before using SUPL. |
|
55 * Fallback indicates whether fallback is allowed or not if SUPL session fails with default server. |
|
56 * |
|
57 * When changing SUPL settings, client has to explicitly lock the SUPL settings and |
|
58 * unlock the SUPL settings immediately after the changes are made. Locking is required to |
|
59 * avoid multiple clients changing SUPL settings at the same time. Only after |
|
60 * unlock of SUPL settings, changes are committed to SUPL settings storage. |
|
61 * |
|
62 * This is part of @lib epos_suplsettings.lib |
|
63 * @since S60 9.1TB |
|
64 */ |
|
65 |
|
66 class CSuplSettingsInternal : public CSuplSettings |
|
67 { |
|
68 public: |
|
69 /** |
|
70 * Enumeration to indicate which type of network used. |
|
71 * This is one of the parameters for @ref SetNetInfoLastUse() and |
|
72 * @ref SetNetInfoLastSucess() methods. |
|
73 * Client has to select one of the values from this enumeration when changing |
|
74 * network info in server settings. |
|
75 * |
|
76 * @since S60 9.1TB |
|
77 */ |
|
78 enum TSuplSettingsNetworkType |
|
79 { |
|
80 /** Indicates that network is GSM network */ |
|
81 EGsmNetwork = 0, |
|
82 /** Indicates that network is WCDMA network */ |
|
83 EWcdmaNetwork |
|
84 }; |
|
85 /** |
|
86 * Enumeration to indicate which parameter of server needs to be changed. |
|
87 * This is one of the parameters for @ref Set() method. Client has to select one of the values from |
|
88 * this enumeration when changing SUPL settings. For example, if UI application is changing |
|
89 * SUPL settings, it should select EUserInterface. Client can get information about |
|
90 * particular parameter from SUPL settings using @ref Get() method with this enumeration. |
|
91 */ |
|
92 enum TServerParam |
|
93 { |
|
94 /** Indicates SUPL server address parameter in server parameters */ |
|
95 EServerAddress = 0, |
|
96 /** Indicates protocol version parameter in server parameters */ |
|
97 EProtocolVersion, |
|
98 /** Indicates emergency support parameter in server parameters */ |
|
99 EEmergencySupport, |
|
100 /** Indicates TLS parameter in server parameters */ |
|
101 ETlsEnabled, |
|
102 /** Indicates PSK-TLS parameter in server parameters */ |
|
103 EPskTlsUsed, |
|
104 /** Indicates IAP parameter in server parameters */ |
|
105 EIap, |
|
106 /** Indicates server enabled parameter in server parameters */ |
|
107 EServerEnabled, |
|
108 /** Indicates manufacturer parameter in server parameters */ |
|
109 EManufacturer, |
|
110 /** Indicates SIM change remove parameter in server parameters */ |
|
111 ESimChangeRemove, |
|
112 /** Indicates usage in home network parameter in server parameters */ |
|
113 EUsageInHomeNw, |
|
114 /** Indicates time stamp when used last time parameter in server parameters */ |
|
115 ETimeLastUse, |
|
116 /** Indicates time stamp when used tried parameter in server parameters */ |
|
117 ETimeLastTried, |
|
118 /** Indicates network information when used last time parameter in server parameters */ |
|
119 ENetInfoLastUse, |
|
120 /** Indicates network information when last succeeded parameter in server parameters */ |
|
121 ENetInfoLastSucess, |
|
122 /** Indicates editable parameter in server parameters */ |
|
123 EEditable |
|
124 }; |
|
125 |
|
126 /** |
|
127 * Enumeration to indicate which parameter of active session needs to be changed. |
|
128 */ |
|
129 enum TSessionParam |
|
130 { |
|
131 /** Indicates Trigger notification status parameter */ |
|
132 ETriggerNotificationStatus = 0, |
|
133 /** Indicates number of outstanding triggers parameter */ |
|
134 EOutstandingTriggers = 1 |
|
135 }; |
|
136 public: // Constructors and destructor |
|
137 |
|
138 /** |
|
139 * Two-phased constructor. |
|
140 * |
|
141 * @since S60 3.1 |
|
142 * @returns A new instance of this class. |
|
143 */ |
|
144 IMPORT_C static CSuplSettingsInternal* NewL(); |
|
145 |
|
146 /** |
|
147 * Two-phased constructor. |
|
148 * |
|
149 * @since S60 9.1TB |
|
150 * @returns A new instance of this class. |
|
151 */ |
|
152 IMPORT_C static CSuplSettingsInternal* NewLC(); |
|
153 |
|
154 /** |
|
155 * Destructor. |
|
156 * |
|
157 * @since S60 3.1 |
|
158 * |
|
159 */ |
|
160 IMPORT_C ~CSuplSettingsInternal(); |
|
161 |
|
162 private: |
|
163 |
|
164 /** |
|
165 * C++ default constructor. |
|
166 * |
|
167 * @since S60 3.1 |
|
168 * |
|
169 */ |
|
170 CSuplSettingsInternal(); |
|
171 |
|
172 /** |
|
173 * By default EPOC constructor is private. |
|
174 * |
|
175 * @since S60 3.1 |
|
176 * |
|
177 */ |
|
178 void ConstructL(); |
|
179 |
|
180 public: // New functions |
|
181 |
|
182 /** |
|
183 * This method is used to change protocol version supported by SUPL server. The protocol |
|
184 * version consists of two parts : Major version and Minor version. |
|
185 * |
|
186 * @since S60 9.1TB |
|
187 * |
|
188 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
189 * @param [IN] aMajor Major version number. It can takes values from 0 to 255. |
|
190 * @param [IN] aMinor Minor version number. It can takes values from 0 to 255. |
|
191 * @return one of the following error codes: |
|
192 * - KErrNone if SUPL settings are changed successfully. |
|
193 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
194 * - KErrArgument if version parameters are not in range or if the SLP ID passed is not valid |
|
195 */ |
|
196 IMPORT_C TInt SetVersion( |
|
197 const TInt64 aSlpId, |
|
198 const TInt aMajor, |
|
199 const TInt aMinor |
|
200 ); |
|
201 |
|
202 /** |
|
203 * This method is used to retrieve protocol version supported by SUPL server. The protocol |
|
204 * version consists of two parts : Major version and Minor version. |
|
205 * |
|
206 * @since S60 9.1TB |
|
207 * |
|
208 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
209 * @param [OUT] aMajor Major version number. It can takes values from 0 to 255. |
|
210 * @param [OUT] aMinor Minor version number. It can takes values from 0 to 255. |
|
211 * @return one of the following error codes: |
|
212 * - KErrNone if version parameters are retrieved successfully |
|
213 * - KErrArgument if the SLP ID passed is not valid |
|
214 */ |
|
215 IMPORT_C TInt GetVersion( |
|
216 const TInt64 aSlpId, |
|
217 TInt& aMajor, |
|
218 TInt& aMinor |
|
219 ) const; |
|
220 |
|
221 |
|
222 /** |
|
223 * This method is used to change parameter which indicates whether server |
|
224 * supports emergency service or not. |
|
225 * |
|
226 * @since S60 9.1TB |
|
227 * |
|
228 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
229 * @param [IN] aEmergencySupportFlag Flag to indicate whether emergency service is supported or not |
|
230 * @return one of the following error codes: |
|
231 * - KErrNone if SUPL settings are changed successfully. |
|
232 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
233 * - KErrArgument if the SLP ID passed is not valid |
|
234 */ |
|
235 IMPORT_C TInt SetEmergencySupportFlag( |
|
236 const TInt64 aSlpId, |
|
237 const TBool aEmergencySupportFlag |
|
238 ); |
|
239 |
|
240 /** |
|
241 * This method is used to retrieve parameter which indicates whether server |
|
242 * supports emergency service or not. |
|
243 * |
|
244 * @since S60 9.1TB |
|
245 * |
|
246 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
247 * @param [OUT] aEmergencySupportFlag Flag to indicate whether emergency service is supported or not |
|
248 * @return one of the following error codes: |
|
249 * - KErrNone if emergency support flag is retrieved successfully |
|
250 * - KErrArgument if the SLP ID passed is not valid |
|
251 */ |
|
252 IMPORT_C TInt GetEmergencySupportFlag( |
|
253 const TInt64 aSlpId, |
|
254 TBool& aEmergencySupportFlag |
|
255 ) const; |
|
256 |
|
257 |
|
258 /** |
|
259 * This method is used to change manufacturer in server parameters. Manufacturer name |
|
260 * refers to the service provider who is providing SUPL service. |
|
261 * |
|
262 * @since S60 9.1TB |
|
263 * |
|
264 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
265 * @param [IN] aManufacturer Manufacture name. This can have maximum size of 100 characters. |
|
266 * @return one of the following error codes: |
|
267 * - KErrNone if SUPL settings are changed successfully. |
|
268 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
269 * - KErrArgument if manufacturer name is empty or if the SLP ID passed is not valid |
|
270 */ |
|
271 IMPORT_C TInt SetManufacturerName( |
|
272 const TInt64 aSlpId, |
|
273 const TDesC& aManufacturer |
|
274 ); |
|
275 |
|
276 /** |
|
277 * This method is used to retrieve manufacturer name in server parameters. Manufacturer name |
|
278 * refers to the service provider who is providing SUPL service. It is client's responsibility |
|
279 * to allocate memory to aManufacturer parameter before invoking this method. |
|
280 * |
|
281 * @since S60 9.1TB |
|
282 * |
|
283 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
284 * @param [OUT] aManufacturer Manufacture name. This can have maximum size of 100 characters. |
|
285 * @return one of the following error codes: |
|
286 * - KErrNone if manugacturer name retrieved successfully |
|
287 * - KErrOverflow if the descriptor is too small to hold the manufacturer name |
|
288 * - KErrArgument if the SLP ID passed is not valid |
|
289 */ |
|
290 IMPORT_C TInt GetManufacturerName( |
|
291 const TInt64 aSlpId, |
|
292 TDes& aManufacturerName |
|
293 ) const; |
|
294 |
|
295 |
|
296 /** |
|
297 * This method is used to change timestamp when the HSLP was used last time. |
|
298 * |
|
299 * @since S60 9.1TB |
|
300 * |
|
301 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
302 * @param [IN] aTime Time stamp |
|
303 * @return one of the following error codes: |
|
304 * - KErrNone if SUPL settings are changed successfully. |
|
305 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
306 * - KErrArgument if the SLP ID passed is not valid |
|
307 */ |
|
308 IMPORT_C TInt SetLastUseTime( |
|
309 const TInt64 aSlpId, |
|
310 const TTime aTime |
|
311 ); |
|
312 |
|
313 /** |
|
314 * This method is used to retrieve timestamp when the SLP was used last time. |
|
315 * |
|
316 * @since S60 9.1TB |
|
317 * |
|
318 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
319 * @param [OUT] aTime Time stamp |
|
320 * @return one of the following error codes: |
|
321 * - KErrNone if timestamp retrieved successfully |
|
322 * - KErrArgument if the SLP ID passed is not valid |
|
323 */ |
|
324 IMPORT_C TInt GetLastUseTime( |
|
325 const TInt64 aSlpId, |
|
326 TTime& aTime |
|
327 ) const; |
|
328 |
|
329 |
|
330 /** |
|
331 * This method is used to change timestamp when the HSLP was used tried last time. |
|
332 * |
|
333 * @since S60 9.1TB |
|
334 * |
|
335 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
336 * @param [IN] aTime Time stamp |
|
337 * @return one of the following error codes: |
|
338 * - KErrNone if SUPL settings are changed successfully. |
|
339 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
340 * - KErrArgument if the SLP ID passed is not valid |
|
341 */ |
|
342 IMPORT_C TInt SetLastTriedTime( |
|
343 const TInt64 aSlpId, |
|
344 const TTime aTime |
|
345 ); |
|
346 |
|
347 /** |
|
348 * This method is used to retrieve timestamp when the HSLP was used tried last time. |
|
349 * |
|
350 * @since S60 9.1TB |
|
351 * |
|
352 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
353 * @param [OUT] aTime Time stamp |
|
354 * @return one of the following error codes: |
|
355 * - KErrNone if timestamp retrieved successfully |
|
356 * - KErrArgument if the SLP ID passed is not valid |
|
357 */ |
|
358 IMPORT_C TInt GetLastTriedTime( |
|
359 const TInt64 aSlpId, |
|
360 TTime& aTime |
|
361 ) const; |
|
362 |
|
363 /** |
|
364 * This method is used to change network information when the SUPL session was last done. |
|
365 * The SUPL session could be sucessful one or failed one. |
|
366 * |
|
367 * @since S60 9.1TB |
|
368 * |
|
369 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
370 * @param [IN] aNetType The network type |
|
371 * @param [IN] aMcc Mobile country code. It can have value from 0 to 999 |
|
372 * @param [IN] aMnc Mobile network code. It can have value from 0 to 999 |
|
373 * @param [IN] aCid Cell Identity. It can have value from 0 to 65535 if aNetType is GSM or |
|
374 * it can have value from 0 to 268435455 if aNetType is WCDMA |
|
375 * @param [IN] aLac Location Aread Code. This parameter is written to settings only if aNetType is GSM. |
|
376 * @return one of the following error codes: |
|
377 * - KErrNone if SUPL settings are changed successfully. |
|
378 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
379 * - KErrArgument if the SLP ID passed is not valid or any of the parameters passed is not in range |
|
380 */ |
|
381 IMPORT_C TInt SetNetInfoLastUse( |
|
382 const TInt64 aSlpId, |
|
383 const CSuplSettingsInternal::TSuplSettingsNetworkType aNetType, |
|
384 const TInt aMcc, |
|
385 const TInt aMnc, |
|
386 const TInt aCid, |
|
387 const TInt aLac=0 |
|
388 ); |
|
389 |
|
390 /** |
|
391 * This method is used to retrieve network information when the SUPL session was last done. |
|
392 * The SUPL session could be sucessful one or failed one. |
|
393 * |
|
394 * @since S60 9.1TB |
|
395 * |
|
396 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
397 * @param [OUT] aNetType The network type |
|
398 * @param [OUT] aMcc Mobile country code. It can have value from 0 to 999 |
|
399 * @param [OUT] aMnc Mobile network code. It can have value from 0 to 999 |
|
400 * @param [OUT] aCid Cell Identity. It can have value from 0 to 65535 if aNetType is GSM or |
|
401 * it can have value from 0 to 268435455 if aNetType is WCDMA |
|
402 * @param [OUT] aLac Location Aread Code. This parameter is written to settings only if aNetType is GSM. |
|
403 * @return one of the following error codes: |
|
404 * - KErrNone if network information retrieved successfully |
|
405 * - KErrArgument if the SLP ID passed is not valid |
|
406 */ |
|
407 IMPORT_C TInt GetNetInfoLastUse( |
|
408 const TInt64 aSlpId, |
|
409 CSuplSettingsInternal::TSuplSettingsNetworkType& aNetType, |
|
410 TInt& aMcc, |
|
411 TInt& aMnc, |
|
412 TInt& aCid, |
|
413 TInt& aLac |
|
414 ) const; |
|
415 |
|
416 /** |
|
417 * This method is used to change network information when the SUPL session was last done sucessfully. |
|
418 * |
|
419 * @since S60 9.1TB |
|
420 * |
|
421 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
422 * @param [IN] aNetType The network type |
|
423 * @param [IN] aMcc Mobile country code. It can have value from 0 to 999 |
|
424 * @param [IN] aMnc Mobile network code. It can have value from 0 to 999 |
|
425 * @param [IN] aCid Cell Identity. It can have value from 0 to 65535 if aNetType is GSM or |
|
426 * it can have value from 0 to 268435455 if aNetType is WCDMA |
|
427 * @param [IN] aLac Location Aread Code. This parameter is written to settings only if aNetType is GSM. |
|
428 * @return one of the following error codes: |
|
429 * - KErrNone if SUPL settings are changed successfully. |
|
430 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
431 * - KErrArgument if the SLP ID passed is not valid or any of the parameters passed is not in range |
|
432 */ |
|
433 IMPORT_C TInt SetNetInfoLastSucess( |
|
434 const TInt64 aSlpId, |
|
435 const CSuplSettingsInternal::TSuplSettingsNetworkType aNetType, |
|
436 const TInt aMcc, |
|
437 const TInt aMnc, |
|
438 const TInt aCid, |
|
439 const TInt aLac=0 |
|
440 ); |
|
441 |
|
442 /** |
|
443 * This method is used to retrieve network information when the SUPL session was last done sucessfully. |
|
444 * |
|
445 * @since S60 9.1TB |
|
446 * |
|
447 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
448 * @param [OUT] aNetType The network type |
|
449 * @param [OUT] aMcc Mobile country code. It can have value from 0 to 999 |
|
450 * @param [OUT] aMnc Mobile network code. It can have value from 0 to 999 |
|
451 * @param [OUT] aCid Cell Identity. It can have value from 0 to 65535 if aNetType is GSM or |
|
452 * it can have value from 0 to 268435455 if aNetType is WCDMA |
|
453 * @param [OUT] aLac Location Aread Code. This parameter is written to settings only if aNetType is GSM. |
|
454 * @return one of the following error codes: |
|
455 * - KErrNone if network information retrieved successfully |
|
456 * - KErrArgument if the SLP ID passed is not valid |
|
457 */ |
|
458 IMPORT_C TInt GetNetInfoLastSucess( |
|
459 const TInt64 aSlpId, |
|
460 CSuplSettingsInternal::TSuplSettingsNetworkType& aNetType, |
|
461 TInt& aMcc, |
|
462 TInt& aMnc, |
|
463 TInt& aCid, |
|
464 TInt& aLac |
|
465 ) const; |
|
466 |
|
467 |
|
468 |
|
469 /** |
|
470 * This method is used to change parameter which indicates whether server |
|
471 * supports TLS or not. |
|
472 * |
|
473 * @since S60 9.1TB |
|
474 * |
|
475 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
476 * @param [IN] aTlsSupportFlag Flag to indicate whether TLS is needs to be enabled or not. |
|
477 * @return one of the following error codes: |
|
478 * - KErrNone if SUPL settings are changed successfully. |
|
479 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
480 * - KErrArgument if the SLP ID passed is not valid |
|
481 */ |
|
482 IMPORT_C TInt SetTlsSupportFlag( |
|
483 const TInt64 aSlpId, |
|
484 const TBool aTlsSupportFlag |
|
485 ); |
|
486 |
|
487 /** |
|
488 * This method is used to retrieve parameter which indicates whether server |
|
489 * supports TLS or not. |
|
490 * |
|
491 * @since S60 9.1TB |
|
492 * |
|
493 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
494 * @param [OUT] aTlsFlag Flag to indicate whether TLS is enabled or not |
|
495 * @return one of the following error codes: |
|
496 * - KErrNone if TLS support flag is retrieved successfully |
|
497 * - KErrArgument if the SLP ID passed is not valid |
|
498 */ |
|
499 IMPORT_C TInt GetTlsFlag( |
|
500 const TInt64 aSlpId, |
|
501 TBool& aTlsFlag |
|
502 ) const; |
|
503 |
|
504 |
|
505 /** |
|
506 * This method is used to change parameter which indicates whether server |
|
507 * supports PSK-TLS or not. |
|
508 * |
|
509 * @since S60 9.1TB |
|
510 * |
|
511 * @param [IN] aSlpId SLP ID for which the parameter needs to be changed |
|
512 * @param [IN] aPskTlsSupportFlag Flag to indicate whether PSK-TLS is needs to be enabled or not. |
|
513 * @return one of the following error codes: |
|
514 * - KErrNone if SUPL settings are changed successfully. |
|
515 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
516 * - KErrArgument if the SLP ID passed is not valid |
|
517 */ |
|
518 IMPORT_C TInt SetPskTlsSupportFlag( |
|
519 const TInt64 aSlpId, |
|
520 const TBool aPskTlsSupportFlag |
|
521 ); |
|
522 |
|
523 /** |
|
524 * This method is used to retrieve parameter which indicates whether server |
|
525 * supports PSK-TLS or not. |
|
526 * |
|
527 * @since S60 9.1TB |
|
528 * |
|
529 * @param [IN] aSlpId SLP ID for which the parameter needs to be retrieved |
|
530 * @param [OUT] aPskTlsFlag Flag to indicate whether PSK-TLS enabled or not. |
|
531 * @return one of the following error codes: |
|
532 * - KErrNone if PSK-TLS support flag is retrieved successfully |
|
533 * - KErrArgument if the SLP ID passed is not valid |
|
534 */ |
|
535 IMPORT_C TInt GetPskTlsFlag( |
|
536 const TInt64 aSlpId, |
|
537 TBool& aPskTlsFlag |
|
538 ) const; |
|
539 |
|
540 /** |
|
541 * This method is used to set one server entry as default in SUPL settings. |
|
542 * |
|
543 * @since S60 9.1TB |
|
544 * |
|
545 * @param [IN] aSlpId SLP ID of server entry which needs to set as default server |
|
546 * @return one of the following error codes: |
|
547 * - KErrNone if SUPL settings are changed successfully. |
|
548 * - KErrNotReady if this method is invoked before invoked before @ref LockSettingsL() |
|
549 * - KErrNotFound if the specified server identity does not exists in the settings |
|
550 */ |
|
551 |
|
552 IMPORT_C TInt SetTopPriority( |
|
553 const TInt64 aSlpId |
|
554 ); |
|
555 |
|
556 /** |
|
557 * This method is used to retrieve default SLP identification. |
|
558 * |
|
559 * @since S60 9.1TB |
|
560 * |
|
561 * @param [OUT] aSlpId SLP ID of default server |
|
562 * |
|
563 * @return one of the following error codes: |
|
564 * - KErrNone if SUPL settings are retrieved successfully. |
|
565 * - KErrNotFound if settings does not have any server entries or if none of server is marked as default |
|
566 * |
|
567 */ |
|
568 IMPORT_C TInt GetDefaultSlpId( |
|
569 TInt64& aSlpId |
|
570 ) const; |
|
571 |
|
572 /** |
|
573 * This method is used to delete all servers which have the Sim Change Remove Flag set |
|
574 * |
|
575 * @since S60 9.1TB |
|
576 * |
|
577 * |
|
578 * @return one of the following error codes: |
|
579 * - KErrNone if entries were deleted. |
|
580 * - KErrGeneral if changing settings failed |
|
581 * |
|
582 */ |
|
583 IMPORT_C TInt RemoveOnSimChange(); |
|
584 /** |
|
585 * This Method is used to Set the fallback timer value into the SUPL Settings |
|
586 * |
|
587 * @since S60 9.1 TB |
|
588 * @return one of the following error codes: |
|
589 * - KErrNone if entries were deleted. |
|
590 * - KErrGeneral if retrieving settings failed |
|
591 */ |
|
592 IMPORT_C TInt GetFallBackTimerValue(TInt& aTimerValue); |
|
593 |
|
594 /** |
|
595 * This Method is used to Get the fallback timer value from the SUPL Settings |
|
596 * |
|
597 * @since S60 9.1 TB |
|
598 * @return one of the following error codes: |
|
599 * - KErrNone if entries were deleted. |
|
600 * - KErrGeneral if Setting timer value failed |
|
601 */ |
|
602 IMPORT_C TInt SetFallBackTimerValue(const TInt aTimerValue); |
|
603 |
|
604 /** |
|
605 * This method is used to insert Active session record into the SUPL session DB |
|
606 * @since S60 5.2 |
|
607 * |
|
608 * @param [IN] aSessionParamValues The CServerParams pointer containing trigger session params |
|
609 * to be added to the DB |
|
610 * @return one of the following error codes: |
|
611 * - KErrNone if entries were added successfully. |
|
612 * - KErrArgument if entry to be added is NULL |
|
613 * otherwise system wide error codes. |
|
614 */ |
|
615 IMPORT_C TInt InsertSessionRecord(const CTriggerParams* aSessionParamValues); |
|
616 |
|
617 /** |
|
618 * This method is used to set outstanding triggers attribute for a given session |
|
619 * @since S60 5.2 |
|
620 * |
|
621 * @param [IN] aSessionId Session identifier to get/change paramater of particular session |
|
622 * @param [IN] aOutstandingTriggers Indicates number of outstanding triggers for a given session |
|
623 * @return one of the following error codes: |
|
624 * - KErrNone if successful |
|
625 * - KErrNotFound if there is no active session with given id |
|
626 * otherwise system wide error codes. |
|
627 */ |
|
628 IMPORT_C TInt SetOutstandingTriggers( TInt64 aSessionId,TUint64 aOutstandingTriggers ); |
|
629 |
|
630 |
|
631 /** |
|
632 * This method is used to delete a session record corresponding to the given session ID |
|
633 * @since S60 5.2 |
|
634 * @param [OUT] aSessionId The session ID of the session that is to be deleted |
|
635 * @return one of the following error codes: |
|
636 * - KErrNone if entries were deleted successfully. |
|
637 * - KErrNotFound if given session id doesnt exist. |
|
638 * otherwise system wide error codes. |
|
639 */ |
|
640 IMPORT_C TInt DeleteSessionRecord(TInt64 aSessionId); |
|
641 |
|
642 /** |
|
643 * This method is used to delete all session records from session table |
|
644 * @since S60 5.2 |
|
645 * @return one of the following error codes: |
|
646 * - KErrNone if entries were deleted successfully. |
|
647 * otherwise system wide error codes. |
|
648 */ |
|
649 IMPORT_C TInt DeleteAllSessionRecords(); |
|
650 |
|
651 /** |
|
652 * This method is used to retrieve extended parameters of given server |
|
653 * @since S60 5.2 |
|
654 * @param [IN] aSlpId SLP identifier. |
|
655 * @param [OUT] aServerExtnParams Extended parameters of default server.Ownership remains with client. |
|
656 * @return one of the following error codes: |
|
657 * - KErrNone if parameters were retrieved successfully. |
|
658 * - KErrNotFound if server doesnt exist. |
|
659 * - KErrArgument if parameter is NULL. |
|
660 * otherwise system wide error codes. |
|
661 */ |
|
662 IMPORT_C TInt GetServerExtensionParams( TInt64 aSlpId,CServerExtensionParams* aServerExtnParams ) const; |
|
663 |
|
664 /** |
|
665 * This method is used to set extended parameters of a given server. |
|
666 * @since S60 5.2 |
|
667 * @param [IN] aSlpId SLP identifier. |
|
668 * @param [IN] aServerExtnParams Server extended parameters.Ownership remains with client. |
|
669 * @return one of the following error codes: |
|
670 * - KErrNone if entries were deleted successfully. |
|
671 * - KErrNotFound if SLP with given id doesnt exist. |
|
672 * - KErrArgument if aServerExtnParams is NULL |
|
673 * otherwise system wide error codes. |
|
674 */ |
|
675 IMPORT_C TInt SetServerExtensionParams( TInt64 aSlpId,CServerExtensionParams* aServerExtnParams ); |
|
676 |
|
677 private: // New functions |
|
678 |
|
679 private: |
|
680 // By default, prohibit copy constructor |
|
681 CSuplSettingsInternal( const CSuplSettingsInternal& ); |
|
682 // Prohibit assigment operator |
|
683 CSuplSettingsInternal& operator= ( const CSuplSettingsInternal& ); |
|
684 |
|
685 private: // Data |
|
686 }; |
|
687 |
|
688 #endif // __EPOS_CSUPLSETTINGSINTERNAL_H__ |
|
689 |
|
690 // End of File |