iptel_plat/richcallsettingsengine_api/inc/crcseprofileentry.h
changeset 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/iptel_plat/richcallsettingsengine_api/inc/crcseprofileentry.h	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,327 @@
+/*
+* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Single profile entry, which is stored to RCSE
+*
+*/
+
+
+
+#ifndef CRCSEPROFILEENTRY_H
+#define CRCSEPROFILEENTRY_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+
+// CONSTANTS
+const TInt32 KNotSet = -1;
+
+// OMA Provisioning Content 1.1 defines the minimum lengths of
+// these constants. These constants are doubled.
+const TInt KMaxProviderNameLength = 64;
+const TInt KMaxSettingsNameLength = 32;
+const TInt KMaxSettingsLength32   = 32;
+const TInt KMaxSettingsUrlLength  = 256;
+
+// struct TSettings defines SIP, SCCP and SIP profile specific VOIP settings ids.
+struct TSettingIds
+        {
+        TInt iProfileType;
+        TInt iProfileId;
+        TInt iProfileSpecificSettingId;    
+        };
+
+// CLASS DECLARATION
+
+/**
+*  Profile entry, which is stored to RCSE.
+*
+*  @lib RCSE.lib
+*  @since S60 3.0
+*/
+class CRCSEProfileEntry : public CBase
+    {
+    public: // Enums
+
+    enum TOnOff
+        {
+        EOONotSet = KNotSet,
+        EOff = 0,
+        EOn = 1
+        };
+
+    // Profile types of Ids
+    enum TProtocolType
+        {
+        EProtocolNone    = -1,
+        EProtocolSIP     = 0,
+        EProtocolSCCP    = 1,
+        EProtocolLast,
+        };
+
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CRCSEProfileEntry* NewL();
+
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CRCSEProfileEntry* NewLC();
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CRCSEProfileEntry();
+        
+    public: // New functions
+                
+        /**
+        * Resets entry to default values.
+        * @since S60 3.0
+        */
+        void ResetDefaultValues();
+        
+    private:
+    
+        /**
+        * C++ default constructor.
+        * Initialises values to ENotSet.
+        */
+        CRCSEProfileEntry();
+        
+	    /**
+    	* By default Symbian 2nd phase constructor is private.
+    	*/
+    	void ConstructL();
+
+    public:     // Data
+
+        // Identifier of profile. This values is set by CRCSEProfile, when
+        // profile entry is got from CRCSEProfile.
+        TUint32 iId;
+
+        // Provider of the profile.
+        TBuf<KMaxProviderNameLength> iProviderName;
+        
+        // Name of the settings.
+        TBuf<KMaxSettingsNameLength> iSettingsName;
+
+        // Preferred codec ids in priority order.
+        RArray<TUint32> iPreferredCodecs;
+
+        // Start media port.
+        TUint32 iStartMediaPort;
+
+        // End media port.
+        TUint32 iEndMediaPort;
+
+        // Siqnaling Quolity Of Service
+        TInt32 iSiqnalingQOS;
+
+        // Media Quality Of Service.
+        TInt32 iMediaQOS;
+
+        // Whether Inband DTMF is in use.
+        TOnOff iInbandDTMF;
+
+        // Whether outband DTMF in in use
+        TOnOff iOutbandDTMF;
+
+        // Hold ring back timer value
+        TInt32 iHoldRingBack;
+
+        // Auto complete
+        TOnOff iAutoComplete;
+
+        // Call forwarding no answer
+        TOnOff iCFNoAnswer;
+        
+        // Call forwarding when busy
+        TOnOff iCFBusy;
+        
+        // Call forwarding unconditional
+        TOnOff iCFUnconditional;
+        
+        // Redundancy
+        TOnOff iRedundancy;
+        
+        // SIP, SCCp and SIP profile specific VOIP settings ids.
+        RArray<TSettingIds> iIds;
+
+        // Secure call preference
+        TUint32 iSecureCallPreference;
+        
+        // VoIP profile lock
+        TUint32 iVoIPProfileLock;
+        
+        // Adhoc allowed
+        TUint32 iAdhocAllowed;
+        
+        // SIP Server type
+        TBuf<KMaxSettingsLength32> iSIPServerType;
+        
+        // Session Board Controller type
+        TBuf<KMaxSettingsLength32> iSBCType;
+        
+        // STUN Server type
+        TBuf<KMaxSettingsLength32> iSTUNServerType;
+        
+        // WLAN AP type
+        TBuf<KMaxSettingsLength32> iWLANAPType;
+        
+        // PSTN Gateway type
+        TBuf<KMaxSettingsLength32> iPSTNGatewayType;
+        
+        // Security Gateway type
+        TBuf<KMaxSettingsLength32> iSecurityGatewayType;
+
+        // RTCP, Real-Time Control Protocol reporting
+        TUint32 iRTCP;
+        
+        // SIP VoIP User Agent header: terminal type display
+        TUint32 iSIPVoIPUAHTerminalType;
+        
+        // SIP VoIP User Agent header WLAN MAC address display 
+        TUint32 iSIPVoIPUAHeaderWLANMAC;
+        
+        // SIP VoIP User Agent header string
+        TBuf<KMaxSettingsLength32> iSIPVoIPUAHeaderString;
+
+        //Profile locked to IAP
+        TOnOff iProfileLockedToIAP;
+        
+        //VoIP plugin UID
+        TInt32 iVoIPPluginUID;
+
+        // Allow VoIP over WCDMA
+        TOnOff iAllowVoIPoverWCDMA;
+
+        // Allow VoIP over Bluetooth
+        TOnOff iAllowVoIPoverBT;
+
+        // Meaningfull count of VoIP digits for call identification
+        TInt32 iMeanCountOfVoIPDigits;
+
+        // Ignore address domain part for VoIP calls
+        TInt32 iIgnoreAddrDomainPart;
+
+        // Handover dialect
+        TInt32 iHandoverDialect;
+
+        // PS Telephony handover preference
+        TInt32 iPSTelephonyHOPreference;
+
+        //Handover threshold value lower level 
+        TInt32 iHOThresholdValueLL;
+
+        // Handover threshold value higher level
+        TInt32 iHOThresholdValueHL;
+
+        // Number of measurements (above value)
+        TInt32 iNumberOfMeasurementsAbove;
+
+        // Number of measurements (below value)
+        TInt32 iNumberOfMeasurementsBelow;
+
+        // Smart scanning interval parameter high
+        TInt32 iSmartScannInterParaHigh;
+
+        // Smart scanning interval parameter medium
+        TInt32 iSmartScannInterParaMedium;
+
+        // Smart scanning interval parameter low
+        TInt32 iSmartScannInterParaLow;
+
+        // Smart scanning interval parameter: static
+        TInt32 iSmartScannInterParaStatic;
+
+        // Smart scanning duration in high mode
+        TInt32 iSmartScannDurationHighMode;
+
+        // Smart scanning duration in medium mode
+        TInt32 iSmartScannDurationMediumMode;
+
+        // Smart scanning duration in low mode
+        TInt32 iSmartScannDurationLowMode;
+
+        // Handoff number (CS->PS)
+        TInt32 iHandoffNumber;
+
+        // Handback number (PS -> CS)
+        TInt32 iHandbackNumber;
+
+        // Hysterisis timer
+        TInt32 iHysterisisTimer;
+
+        // Hand off/back process timer.
+        TInt32 iHandOffProcessTimer;
+
+        // Disconnect process timer
+        TInt32 iDisconnectProcessTimer;
+
+        // Handoff reroute prefix.
+        TBuf<KMaxSettingsLength32> iHandoffPrefix;
+
+        // Handback reroute prefix.
+        TBuf<KMaxSettingsLength32> iHandbackPrefix;
+
+        // Handover tones on/off
+        TInt32 iHandoverTones;
+
+        // Support for SMS over WLAN
+        TInt32 iSupportSMSoverWLAN;
+
+        // Service provider ID
+        TUint32 iServiceProviderId;
+
+        // URI's user=phone parameter
+        TOnOff iUserPhoneUriParameter;
+
+        // Connectivity test call address in registering
+        TBuf<KMaxSettingsLength32> iSIPConnTestAddress;
+
+        // NAT/FW Domain specific settings storage ID (CenRep key)
+        TUint32 iNATSettingsStorageId;
+
+        // The minimum allowed value for the session timer
+        TInt32 iSIPMinSE;
+
+        // The session interval for a SIP session
+        TInt32 iSIPSessionExpires;
+
+        // Used NAT protocol
+        // STUN = 0x00000000, TURN = 0x00000001, ICE = 0x00000002
+        TInt32 iNATProtocol;
+
+        // Variable which indicates if Service table entry needs to be created
+        // during a new VoIP profile creation. New service entry will be created
+        // if value is EOONotSet or EOn. Otherwise existing service is used if
+        // iServiceProviderId is set and valid and it's not used by any other
+        // voip profile.
+        TOnOff iNewServiceTableEntry;
+
+        // Destination network id
+        TUint32 iSNAPId;
+
+         // Account creation URL. Used when service contains no login information
+         // and the user wants to create a new account on the provider web page.
+         TBuf<KMaxSettingsUrlLength> iAccountCreationUrl;
+    };
+
+#endif      // CRCSEPROFILEENTRY_H   
+            
+// End of File