iptel_plat/richcallsettingsengine_api/inc/crcseprofileentry.h
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
equal deleted inserted replaced
21:f742655b05bf 22:d38647835c2e
       
     1 /*
       
     2 * Copyright (c) 2002-2007 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:  Single profile entry, which is stored to RCSE
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CRCSEPROFILEENTRY_H
       
    21 #define CRCSEPROFILEENTRY_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include <e32base.h>
       
    25 #include <badesca.h>
       
    26 
       
    27 // CONSTANTS
       
    28 const TInt32 KNotSet = -1;
       
    29 
       
    30 // OMA Provisioning Content 1.1 defines the minimum lengths of
       
    31 // these constants. These constants are doubled.
       
    32 const TInt KMaxProviderNameLength = 64;
       
    33 const TInt KMaxSettingsNameLength = 32;
       
    34 const TInt KMaxSettingsLength32   = 32;
       
    35 const TInt KMaxSettingsUrlLength  = 256;
       
    36 
       
    37 // struct TSettings defines SIP, SCCP and SIP profile specific VOIP settings ids.
       
    38 struct TSettingIds
       
    39         {
       
    40         TInt iProfileType;
       
    41         TInt iProfileId;
       
    42         TInt iProfileSpecificSettingId;    
       
    43         };
       
    44 
       
    45 // CLASS DECLARATION
       
    46 
       
    47 /**
       
    48 *  Profile entry, which is stored to RCSE.
       
    49 *
       
    50 *  @lib RCSE.lib
       
    51 *  @since S60 3.0
       
    52 */
       
    53 class CRCSEProfileEntry : public CBase
       
    54     {
       
    55     public: // Enums
       
    56 
       
    57     enum TOnOff
       
    58         {
       
    59         EOONotSet = KNotSet,
       
    60         EOff = 0,
       
    61         EOn = 1
       
    62         };
       
    63 
       
    64     // Profile types of Ids
       
    65     enum TProtocolType
       
    66         {
       
    67         EProtocolNone    = -1,
       
    68         EProtocolSIP     = 0,
       
    69         EProtocolSCCP    = 1,
       
    70         EProtocolLast,
       
    71         };
       
    72 
       
    73     public:  // Constructors and destructor
       
    74         
       
    75         /**
       
    76         * Two-phased constructor.
       
    77         */
       
    78         IMPORT_C static CRCSEProfileEntry* NewL();
       
    79 
       
    80         /**
       
    81         * Two-phased constructor.
       
    82         */
       
    83         IMPORT_C static CRCSEProfileEntry* NewLC();
       
    84 
       
    85         /**
       
    86         * Destructor.
       
    87         */
       
    88         IMPORT_C virtual ~CRCSEProfileEntry();
       
    89         
       
    90     public: // New functions
       
    91                 
       
    92         /**
       
    93         * Resets entry to default values.
       
    94         * @since S60 3.0
       
    95         */
       
    96         void ResetDefaultValues();
       
    97         
       
    98     private:
       
    99     
       
   100         /**
       
   101         * C++ default constructor.
       
   102         * Initialises values to ENotSet.
       
   103         */
       
   104         CRCSEProfileEntry();
       
   105         
       
   106 	    /**
       
   107     	* By default Symbian 2nd phase constructor is private.
       
   108     	*/
       
   109     	void ConstructL();
       
   110 
       
   111     public:     // Data
       
   112 
       
   113         // Identifier of profile. This values is set by CRCSEProfile, when
       
   114         // profile entry is got from CRCSEProfile.
       
   115         TUint32 iId;
       
   116 
       
   117         // Provider of the profile.
       
   118         TBuf<KMaxProviderNameLength> iProviderName;
       
   119         
       
   120         // Name of the settings.
       
   121         TBuf<KMaxSettingsNameLength> iSettingsName;
       
   122 
       
   123         // Preferred codec ids in priority order.
       
   124         RArray<TUint32> iPreferredCodecs;
       
   125 
       
   126         // Start media port.
       
   127         TUint32 iStartMediaPort;
       
   128 
       
   129         // End media port.
       
   130         TUint32 iEndMediaPort;
       
   131 
       
   132         // Siqnaling Quolity Of Service
       
   133         TInt32 iSiqnalingQOS;
       
   134 
       
   135         // Media Quality Of Service.
       
   136         TInt32 iMediaQOS;
       
   137 
       
   138         // Whether Inband DTMF is in use.
       
   139         TOnOff iInbandDTMF;
       
   140 
       
   141         // Whether outband DTMF in in use
       
   142         TOnOff iOutbandDTMF;
       
   143 
       
   144         // Hold ring back timer value
       
   145         TInt32 iHoldRingBack;
       
   146 
       
   147         // Auto complete
       
   148         TOnOff iAutoComplete;
       
   149 
       
   150         // Call forwarding no answer
       
   151         TOnOff iCFNoAnswer;
       
   152         
       
   153         // Call forwarding when busy
       
   154         TOnOff iCFBusy;
       
   155         
       
   156         // Call forwarding unconditional
       
   157         TOnOff iCFUnconditional;
       
   158         
       
   159         // Redundancy
       
   160         TOnOff iRedundancy;
       
   161         
       
   162         // SIP, SCCp and SIP profile specific VOIP settings ids.
       
   163         RArray<TSettingIds> iIds;
       
   164 
       
   165         // Secure call preference
       
   166         TUint32 iSecureCallPreference;
       
   167         
       
   168         // VoIP profile lock
       
   169         TUint32 iVoIPProfileLock;
       
   170         
       
   171         // Adhoc allowed
       
   172         TUint32 iAdhocAllowed;
       
   173         
       
   174         // SIP Server type
       
   175         TBuf<KMaxSettingsLength32> iSIPServerType;
       
   176         
       
   177         // Session Board Controller type
       
   178         TBuf<KMaxSettingsLength32> iSBCType;
       
   179         
       
   180         // STUN Server type
       
   181         TBuf<KMaxSettingsLength32> iSTUNServerType;
       
   182         
       
   183         // WLAN AP type
       
   184         TBuf<KMaxSettingsLength32> iWLANAPType;
       
   185         
       
   186         // PSTN Gateway type
       
   187         TBuf<KMaxSettingsLength32> iPSTNGatewayType;
       
   188         
       
   189         // Security Gateway type
       
   190         TBuf<KMaxSettingsLength32> iSecurityGatewayType;
       
   191 
       
   192         // RTCP, Real-Time Control Protocol reporting
       
   193         TUint32 iRTCP;
       
   194         
       
   195         // SIP VoIP User Agent header: terminal type display
       
   196         TUint32 iSIPVoIPUAHTerminalType;
       
   197         
       
   198         // SIP VoIP User Agent header WLAN MAC address display 
       
   199         TUint32 iSIPVoIPUAHeaderWLANMAC;
       
   200         
       
   201         // SIP VoIP User Agent header string
       
   202         TBuf<KMaxSettingsLength32> iSIPVoIPUAHeaderString;
       
   203 
       
   204         //Profile locked to IAP
       
   205         TOnOff iProfileLockedToIAP;
       
   206         
       
   207         //VoIP plugin UID
       
   208         TInt32 iVoIPPluginUID;
       
   209 
       
   210         // Allow VoIP over WCDMA
       
   211         TOnOff iAllowVoIPoverWCDMA;
       
   212 
       
   213         // Allow VoIP over Bluetooth
       
   214         TOnOff iAllowVoIPoverBT;
       
   215 
       
   216         // Meaningfull count of VoIP digits for call identification
       
   217         TInt32 iMeanCountOfVoIPDigits;
       
   218 
       
   219         // Ignore address domain part for VoIP calls
       
   220         TInt32 iIgnoreAddrDomainPart;
       
   221 
       
   222         // Handover dialect
       
   223         TInt32 iHandoverDialect;
       
   224 
       
   225         // PS Telephony handover preference
       
   226         TInt32 iPSTelephonyHOPreference;
       
   227 
       
   228         //Handover threshold value lower level 
       
   229         TInt32 iHOThresholdValueLL;
       
   230 
       
   231         // Handover threshold value higher level
       
   232         TInt32 iHOThresholdValueHL;
       
   233 
       
   234         // Number of measurements (above value)
       
   235         TInt32 iNumberOfMeasurementsAbove;
       
   236 
       
   237         // Number of measurements (below value)
       
   238         TInt32 iNumberOfMeasurementsBelow;
       
   239 
       
   240         // Smart scanning interval parameter high
       
   241         TInt32 iSmartScannInterParaHigh;
       
   242 
       
   243         // Smart scanning interval parameter medium
       
   244         TInt32 iSmartScannInterParaMedium;
       
   245 
       
   246         // Smart scanning interval parameter low
       
   247         TInt32 iSmartScannInterParaLow;
       
   248 
       
   249         // Smart scanning interval parameter: static
       
   250         TInt32 iSmartScannInterParaStatic;
       
   251 
       
   252         // Smart scanning duration in high mode
       
   253         TInt32 iSmartScannDurationHighMode;
       
   254 
       
   255         // Smart scanning duration in medium mode
       
   256         TInt32 iSmartScannDurationMediumMode;
       
   257 
       
   258         // Smart scanning duration in low mode
       
   259         TInt32 iSmartScannDurationLowMode;
       
   260 
       
   261         // Handoff number (CS->PS)
       
   262         TInt32 iHandoffNumber;
       
   263 
       
   264         // Handback number (PS -> CS)
       
   265         TInt32 iHandbackNumber;
       
   266 
       
   267         // Hysterisis timer
       
   268         TInt32 iHysterisisTimer;
       
   269 
       
   270         // Hand off/back process timer.
       
   271         TInt32 iHandOffProcessTimer;
       
   272 
       
   273         // Disconnect process timer
       
   274         TInt32 iDisconnectProcessTimer;
       
   275 
       
   276         // Handoff reroute prefix.
       
   277         TBuf<KMaxSettingsLength32> iHandoffPrefix;
       
   278 
       
   279         // Handback reroute prefix.
       
   280         TBuf<KMaxSettingsLength32> iHandbackPrefix;
       
   281 
       
   282         // Handover tones on/off
       
   283         TInt32 iHandoverTones;
       
   284 
       
   285         // Support for SMS over WLAN
       
   286         TInt32 iSupportSMSoverWLAN;
       
   287 
       
   288         // Service provider ID
       
   289         TUint32 iServiceProviderId;
       
   290 
       
   291         // URI's user=phone parameter
       
   292         TOnOff iUserPhoneUriParameter;
       
   293 
       
   294         // Connectivity test call address in registering
       
   295         TBuf<KMaxSettingsLength32> iSIPConnTestAddress;
       
   296 
       
   297         // NAT/FW Domain specific settings storage ID (CenRep key)
       
   298         TUint32 iNATSettingsStorageId;
       
   299 
       
   300         // The minimum allowed value for the session timer
       
   301         TInt32 iSIPMinSE;
       
   302 
       
   303         // The session interval for a SIP session
       
   304         TInt32 iSIPSessionExpires;
       
   305 
       
   306         // Used NAT protocol
       
   307         // STUN = 0x00000000, TURN = 0x00000001, ICE = 0x00000002
       
   308         TInt32 iNATProtocol;
       
   309 
       
   310         // Variable which indicates if Service table entry needs to be created
       
   311         // during a new VoIP profile creation. New service entry will be created
       
   312         // if value is EOONotSet or EOn. Otherwise existing service is used if
       
   313         // iServiceProviderId is set and valid and it's not used by any other
       
   314         // voip profile.
       
   315         TOnOff iNewServiceTableEntry;
       
   316 
       
   317         // Destination network id
       
   318         TUint32 iSNAPId;
       
   319 
       
   320          // Account creation URL. Used when service contains no login information
       
   321          // and the user wants to create a new account on the provider web page.
       
   322          TBuf<KMaxSettingsUrlLength> iAccountCreationUrl;
       
   323     };
       
   324 
       
   325 #endif      // CRCSEPROFILEENTRY_H   
       
   326             
       
   327 // End of File