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