natplugins/natpdevmgmtnatfwadapter/inc/natfwdomainentry.h
changeset 0 1bce908db942
equal deleted inserted replaced
-1:000000000000 0:1bce908db942
       
     1 /*
       
     2 * Copyright (c) 2005-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:  Device Management NAT-FW Traversal domain specific settings
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 //  INCLUDES
       
    20 #include <e32base.h>
       
    21 
       
    22 
       
    23 /*
       
    24 * CNATFWDomainEntry
       
    25 * Buffer class for holding domain specific NAT/FW settings
       
    26 */
       
    27 class CNATFWDomainEntry : public CBase
       
    28     {
       
    29     public:  // Constructors and destructor
       
    30 
       
    31         static CNATFWDomainEntry* NewL();
       
    32         static CNATFWDomainEntry* NewLC();
       
    33         virtual ~CNATFWDomainEntry();
       
    34 
       
    35     private:
       
    36 
       
    37         CNATFWDomainEntry();
       
    38         void ConstructL();
       
    39 
       
    40     public: // New methods
       
    41 
       
    42         /**
       
    43          * Setter for DomainKey.
       
    44          * @since Series 60_3.1
       
    45          * @param aDomainKey value to set. Key for domain table in CenRep.
       
    46          */
       
    47         void SetDomainKey( TUint32 aDomainKey );
       
    48 
       
    49         /**
       
    50          * Setter for Domain.
       
    51          * @since Series 60_3.1
       
    52          * @param aDomain value to set.
       
    53          */
       
    54         void SetDomainL( const TDesC8& aDomain );
       
    55 
       
    56         /**
       
    57          * Setter for STUNServerAddr.
       
    58          * @since Series 60_3.1
       
    59          * @param aSTUNServerAddr value to set.
       
    60          */
       
    61         void SetSTUNServerAddrL( const TDesC8& aSTUNServerAddr );
       
    62 
       
    63         /**
       
    64          * Setter for STUNServerPort.
       
    65          * @since Series 60_3.1
       
    66          * @param aSTUNServerPort value to set.
       
    67          */
       
    68         void SetSTUNServerPort( TUint aSTUNServerPort );
       
    69 
       
    70         /**
       
    71          * Setter for NATRefreshTCP.
       
    72          * @since Series 60_3.1
       
    73          * @param aNATRefreshTCP value to set.
       
    74          */
       
    75         void SetNATRefreshTCP( TInt aNATRefreshTCP );
       
    76 
       
    77         /**
       
    78          * Setter for NATRefreshUDP.
       
    79          * @since Series 60_3.1
       
    80          * @param aNATRefreshUDP value to set.
       
    81          */
       
    82         void SetNATRefreshUDP( TInt aNATRefreshUDP );
       
    83 
       
    84         /**
       
    85          * Setter for CRLFRefresh.
       
    86          * @since Series 60_3.1
       
    87          * @param aEnableCRLFRefresh value to set.
       
    88          */
       
    89         void SetEnableCRLFRefresh( TInt aEnableCRLFRefresh );
       
    90 
       
    91         /**
       
    92          * Setter for STUNUsername.
       
    93          * @since S60 3.2
       
    94          * @param aSTUNUsername value to set.
       
    95          */
       
    96         void SetSTUNUsernameL( const TDesC8& aSTUNUsername );
       
    97 
       
    98         /**        
       
    99          * Setter for STUNPassword.
       
   100          * @since S60 3.2
       
   101          * @param aSTUNPassword value to set.
       
   102          */
       
   103         void SetSTUNPasswordL( const TDesC8& aSTUNPassword );
       
   104 
       
   105         /**
       
   106          * Add STUN server address.
       
   107          * @since S60 3.2
       
   108          * @param aStunSrvAddr STUN server address.
       
   109          */
       
   110         void AddStunSrvAddrL( const TDesC8& aStunSrvAddr );
       
   111 
       
   112         /**
       
   113          * Add STUN server port.
       
   114          * @since S60 3.2
       
   115          * @param aStunSrvPort STUN server port.
       
   116          */
       
   117         void AddStunSrvPortL( TInt aStunSrvPort );
       
   118 
       
   119         /**
       
   120          * Add STUN server username.
       
   121          * @since S60 3.2
       
   122          * @param aStunUsername STUN server username.
       
   123          */
       
   124         void AddStunUsernameL( const TDesC8& aStunUsername );
       
   125 
       
   126         /**
       
   127          * Add STUN server password.
       
   128          * @since S60 3.2
       
   129          * @param aStunPassword STUN server password.
       
   130          */
       
   131         void AddStunPasswordL( const TDesC8& aStunPassword );
       
   132 
       
   133         /**
       
   134          * Setter for DisableStunSharedSecret.
       
   135          * @since S60 3.2
       
   136          * @param aDisableStunSharedSecret Value to be set.
       
   137          */
       
   138         void SetDisableStunSharedSecret( TInt aDisableStunSharedSecret );
       
   139 
       
   140         /**
       
   141          * Setter for StartPortRange.
       
   142          * @since S60 3.2
       
   143          * @param aPortPoolStart value to set.
       
   144          */
       
   145         void SetStartPortRange( TInt aStartPortRange );
       
   146 
       
   147         /**
       
   148          * Setter for EndPortRange.
       
   149          * @since S60 3.2
       
   150          * @param aPortPoolEnd value to set.
       
   151          */
       
   152         void SetEndPortRange( TInt aEndPortRange );
       
   153 
       
   154         /**
       
   155          * Setter for UsedNATProtocol.
       
   156          * @since S60 3.2
       
   157          * @param aNatProtocol value to set.
       
   158          */
       
   159         void SetNatProtocolL( const TDesC8& aNatProtocol );
       
   160 
       
   161         /**
       
   162          * Setter for NATUtilities.
       
   163          * @since S60 3.2
       
   164          * @param aNatUtilities NAT utilities to be se.
       
   165          */
       
   166         void SetNatUtilitiesL( const TDesC8& aNatUtilities );
       
   167 
       
   168         /**
       
   169          * Getter for HostPreference.
       
   170          * @since S60 3.2
       
   171          * @param aHostPref Preference value to be set.
       
   172          */
       
   173         void SetHostPref( TInt aHostPref );
       
   174 
       
   175         /**
       
   176          * Getter for ServerReflexPreference.
       
   177          * @since S60 3.2
       
   178          * @param aServerReflexPref Preference value to be set.
       
   179          */
       
   180         void SetServerReflexPref( TInt aServerReflexPref );
       
   181 
       
   182         /**
       
   183          * Getter for RelayPreference.
       
   184          * @since S60 3.2
       
   185          * @param aRelayPref Preference value to be set.
       
   186          */
       
   187         void SetRelayPref( TInt aRelayPref );
       
   188 
       
   189         /**
       
   190          * Getter for PeerReflexPreference.
       
   191          * @since S60 3.2
       
   192          * @param aPeerReflexPref Preference value to be set.
       
   193          */
       
   194         void SetPeerReflexPref( TInt aPeerReflexPref );
       
   195 
       
   196         /**
       
   197          * Getter for IPv4Preference.
       
   198          * @since S60 3.2
       
   199          * @param aIPv4Pref Preference value to be set.
       
   200          */
       
   201         void SetIPv4Pref( TInt aIPv4Pref );
       
   202 
       
   203         /**
       
   204          * Getter for IPv6Preference.
       
   205          * @since S60 3.2
       
   206          * @param aIPv6Pref Preference value to be set.
       
   207          */
       
   208         void SetIPv6Pref( TInt aIPv6Pref );
       
   209 
       
   210         /**
       
   211          * Getter for VpnPreference.
       
   212          * @since S60 3.2
       
   213          * @param aVpnPref Preference value to be set.
       
   214          */
       
   215         void SetVpnPref( TInt aVpnPref );
       
   216 
       
   217         /**
       
   218          * Getter for UdpPreference.
       
   219          * @since S60 3.2
       
   220          * @param aUdpPref Preference value to be set.
       
   221          */
       
   222         void SetUdpPref( TInt aUdpPref );
       
   223 
       
   224         /**
       
   225          * Getter for TcpPreference.
       
   226          * @since S60 3.2
       
   227          * @param aTcpPref Preference value to be set.
       
   228          */
       
   229         void SetTcpPref( TInt aTcpPref );
       
   230 
       
   231         /**
       
   232          * Getter for TcpActivePreference.
       
   233          * @since S60 3.2
       
   234          * @param aTcpActivePref Preference value to be set.
       
   235          */
       
   236         void SetTcpActivePref( TInt aTcpActivePref );
       
   237 
       
   238         /**
       
   239          * Getter for TcpPassivePreference.
       
   240          * @since S60 3.2
       
   241          * @param aTcpPassivePref Preference value to be set.
       
   242          */
       
   243         void SetTcpPassivePref( TInt aTcpPassivePref );
       
   244 
       
   245         /**
       
   246          * Setter for TcpSimultPreference.
       
   247          * @since S60 3.2
       
   248          * @param aTcpSimultPref Preference value to be set.
       
   249          */
       
   250         void SetTcpSimultPref( TInt aTcpSimultPref );
       
   251 
       
   252         /**
       
   253          * Add TURN server address.
       
   254          * @since S60 3.2
       
   255          * @param aTurnSrvAddr TURN server address.
       
   256          */
       
   257         void AddTurnSrvAddrL( const TDesC8& aTurnSrvAddr );
       
   258 
       
   259         /**
       
   260          * Add TURN server port.
       
   261          * @since S60 3.2
       
   262          * @param aTurnSrvPort TURN server port.
       
   263          */
       
   264         void AddTurnSrvPortL( TInt aTurnSrvPort );
       
   265 
       
   266         /**
       
   267          * Add TURN server username.
       
   268          * @since S60 3.2
       
   269          * @param aTurnSrvAddr TURN server username.
       
   270          */
       
   271         void AddTurnUsernameL( const TDesC8& aTurnUsername );
       
   272 
       
   273         /**
       
   274          * Add TURN server password.
       
   275          * @since S60 3.2
       
   276          * @param aTurnPassword TURN server password.
       
   277          */
       
   278         void AddTurnPasswordL( const TDesC8& aTurnPassword );
       
   279 
       
   280         /**
       
   281          * Update STUNSrvAddr in array.
       
   282          * @since S60 3.2
       
   283          * @param aIndex Array index.
       
   284          * @param aAddr New STUN server address.
       
   285          * @return KErrNone if successful,
       
   286          *         KErrArgument if aIndex negative or too big.
       
   287          */
       
   288         TInt UpdateStunSrvAddrL( TInt aIndex, const TDesC8& aAddr );
       
   289 
       
   290         /**
       
   291          * Update STUNSrvPort in array.
       
   292          * @since S60 3.2
       
   293          * @param aIndex Array index.
       
   294          * @param aPort New STUN server port.
       
   295          * @return KErrNone if successful,
       
   296          *         KErrArgument if aIndex negative or too big.
       
   297          */
       
   298         TInt UpdateStunSrvPort( TInt aIndex, TInt aPort );
       
   299 
       
   300         /**
       
   301          * Update STUNUsername in array.
       
   302          * @since S60 3.2
       
   303          * @param aIndex Array index.
       
   304          * @param aUsername New STUN server username.
       
   305          * @return KErrNone if successful,
       
   306          *         KErrArgument if aIndex negative or too big.
       
   307          */
       
   308         TInt UpdateStunUsernameL( TInt aIndex, const TDesC8& aUsername );
       
   309 
       
   310         /**
       
   311          * Update STUNPassword in array.
       
   312          * @since S60 3.2
       
   313          * @param aIndex Array index.
       
   314          * @param aPassword New STUN server password.
       
   315          * @return KErrNone if successful,
       
   316          *         KErrArgument if aIndex negative or too big.
       
   317          */
       
   318         TInt UpdateStunPasswordL( TInt aIndex, const TDesC8& aPassword );
       
   319 
       
   320         /**
       
   321          * Update TURN server address in array.
       
   322          * @since S60 3.2
       
   323          * @param aIndex Array index.
       
   324          * @param aAddr New TURN server address.
       
   325          * @return KErrNone if successful,
       
   326          *         KErrArgument if aIndex negative or too big.
       
   327          */
       
   328         TInt UpdateTurnSrvAddrL( TInt aIndex, const TDesC8& aAddr );
       
   329 
       
   330         /**
       
   331          * Update TURN server port in array.
       
   332          * @since S60 3.2
       
   333          * @param aIndex Array index.
       
   334          * @param aPort New TURN server port.
       
   335          * @return KErrNone if successful,
       
   336          *         KErrArgument if aIndex negative or too big.
       
   337          */
       
   338         TInt UpdateTurnSrvPort( TInt aIndex, TInt aPort );
       
   339 
       
   340         /**
       
   341          * Update TURN server username in array.
       
   342          * @since S60 3.2
       
   343          * @param aIndex Array index.
       
   344          * @param aUsername New TURN server username.
       
   345          * @return KErrNone if successful,
       
   346          *         KErrArgument if aIndex negative or too big.
       
   347          */
       
   348         TInt UpdateTurnUsernameL( TInt aIndex, const TDesC8& aUsername );
       
   349 
       
   350         /**
       
   351          * Update TURN server password in array.
       
   352          * @since S60 3.2
       
   353          * @param aIndex Array index.
       
   354          * @param aPassword New TURN server password.
       
   355          * @return KErrNone if successful,
       
   356          *         KErrArgument if aIndex negative or too big.
       
   357          */
       
   358         TInt UpdateTurnPasswordL( TInt aIndex, const TDesC8& aUsername );
       
   359 
       
   360         /**
       
   361          * Remove STUNSrvAddr from array.
       
   362          * @since S60 3.2
       
   363          * @param aIndex Array index.
       
   364          * @return KErrNone if successful,
       
   365          *         KErrArgument if aIndex negative or too big.
       
   366          */
       
   367         TInt RemoveStunSrvAddr( TInt aIndex );
       
   368 
       
   369         /**
       
   370          * Remove STUNSrvPort from array.
       
   371          * @since S60 3.2
       
   372          * @param aIndex Array index.
       
   373          * @return KErrNone if successful,
       
   374          *         KErrArgument if aIndex negative or too big.
       
   375          */
       
   376         TInt RemoveStunSrvPort( TInt aIndex );
       
   377 
       
   378         /**
       
   379          * Remove STUNUsername from array.
       
   380          * @since S60 3.2
       
   381          * @param aIndex Array index.
       
   382          * @return KErrNone if successful,
       
   383          *         KErrArgument if aIndex negative or too big.
       
   384          */
       
   385         TInt RemoveStunUsername( TInt aIndex );
       
   386 
       
   387         /**
       
   388          * Remove STUNPassword from array.
       
   389          * @since S60 3.2
       
   390          * @param aIndex Array index.
       
   391          * @return KErrNone if successful,
       
   392          *         KErrArgument if aIndex negative or too big.
       
   393          */
       
   394         TInt RemoveStunPassword( TInt aIndex );
       
   395 
       
   396         /**
       
   397          * Remove TURN server address from array.
       
   398          * @since S60 3.2
       
   399          * @param aIndex Array index.
       
   400          * @return KErrNone if successful,
       
   401          *         KErrArgument if aIndex negative or too big.
       
   402          */
       
   403         TInt RemoveTurnSrvAddr( TInt aIndex );
       
   404 
       
   405         /**
       
   406          * Remove TURN server port from array.
       
   407          * @since S60 3.2
       
   408          * @param aIndex Array index.
       
   409          * @return KErrNone if successful,
       
   410          *         KErrArgument if aIndex negative or too big.
       
   411          */
       
   412         TInt RemoveTurnSrvPort( TInt aIndex );
       
   413 
       
   414         /**
       
   415          * Remove TURN server username from array.
       
   416          * @since S60 3.2
       
   417          * @param aIndex Array index.
       
   418          * @return KErrNone if successful,
       
   419          *         KErrArgument if aIndex negative or too big.
       
   420          */
       
   421         TInt RemoveTurnUsername( TInt aIndex );
       
   422 
       
   423         /**
       
   424          * Remove TURN server password from array.
       
   425          * @since S60 3.2
       
   426          * @param aIndex Array index.
       
   427          * @return KErrNone if successful,
       
   428          *         KErrArgument if aIndex negative or too big.
       
   429          */
       
   430         TInt RemoveTurnPassword( TInt aIndex );
       
   431 
       
   432         /**
       
   433          * Getter for DomainKey.
       
   434          * @since Series 60_3.1
       
   435          * @return TUint32. Key for domain table in CenRep.
       
   436          */
       
   437         TUint32 GetDomainKey() const;
       
   438 
       
   439         /**
       
   440          * Getter for Domain.
       
   441          * @since Series 60_3.1
       
   442          * @return TDesC8.
       
   443          */
       
   444         const TDesC8& GetDomain() const;
       
   445 
       
   446         /**
       
   447          * Getter for STUNServerAddr.
       
   448          * @since Series 60_3.1
       
   449          * @return TDesC8.
       
   450          */           
       
   451         const TDesC8& GetSTUNAddr() const;
       
   452 
       
   453         /**
       
   454          * Getter for STUNServerPort.
       
   455          * @since Series 60_3.1
       
   456          * @return TUint.
       
   457          */     
       
   458         TInt GetSTUNPort() const;
       
   459 
       
   460         /**
       
   461          * Getter for NATRefreshTCP.
       
   462          * @since Series 60_3.1
       
   463          * @return TInt.
       
   464          */
       
   465         TInt GetNATRefreshTCP() const;
       
   466 
       
   467         /**
       
   468          * Getter for NATRefreshUDP.
       
   469          * @since Series 60_3.1
       
   470          * @return TInt.
       
   471          */
       
   472         TInt GetNATRefreshUDP() const;
       
   473 
       
   474         /**
       
   475          * Getter for aCRLFRefresh.
       
   476          * @since Series 60_3.1
       
   477          * @return TInt.
       
   478          */
       
   479         TInt GetEnableCRLFRefresh() const;
       
   480 
       
   481         /**
       
   482          * Getter for STUNUsername.
       
   483          * @since S60 3.2
       
   484          * @return TDesC8.
       
   485          */           
       
   486         const TDesC8& GetSTUNUsername() const;
       
   487 
       
   488         /**
       
   489          * Getter for STUNPassword.
       
   490          * @since S60 3.2
       
   491          * @return TDesC8.
       
   492          */           
       
   493         const TDesC8& GetSTUNPassword() const;
       
   494 
       
   495         /**
       
   496          * Getter for a specific STUN server address.
       
   497          * @since S60 3.2
       
   498          * @param aIndex Array index.
       
   499          * @return STUN server address or "NotSet" if aIndex out of bounds.
       
   500          */
       
   501         const TDesC8& StunSrvAddrL( TInt aIndex ) const;
       
   502 
       
   503         /**
       
   504          * Getter for a specific STUN server port.
       
   505          * @since S60 3.2
       
   506          * @param aIndex Array index.
       
   507          * @return STUN server port or KErrNotFound if aIndex out of bounds.
       
   508          */
       
   509         TInt StunSrvPort( TInt aIndex ) const;
       
   510 
       
   511         /**
       
   512          * Getter for a specific STUN server username.
       
   513          * @since S60 3.2
       
   514          * @param aIndex Array index.
       
   515          * @return STUN server username or "NotSet" if aIndex out of bounds.
       
   516          */
       
   517         const TDesC8& StunUsernameL( TInt aIndex ) const;
       
   518 
       
   519         /**
       
   520          * Getter for a specific STUN server password.
       
   521          * @since S60 3.2
       
   522          * @param aIndex Array index.
       
   523          * @return STUN server password or "NotSet" if aIndex out of bounds.
       
   524          */
       
   525         const TDesC8& StunPasswordL( TInt aIndex ) const;
       
   526 
       
   527         /**
       
   528          * Getter for DisableStunSharedSecret.
       
   529          * @since S60 3.2
       
   530          * @return Value for STUN_SHARED_SECRET.
       
   531          */           
       
   532         TInt DisableStunSharedSecret() const;
       
   533 
       
   534         /**
       
   535          * Getter for StartPortRange.
       
   536          * @since Series 60_3.1
       
   537          * @return Start port of port pool.
       
   538          */
       
   539         TInt StartPortRange() const;
       
   540 
       
   541         /**
       
   542          * Getter for EndPortRange.
       
   543          * @since S60 3.2
       
   544          * @return End port of port pool.
       
   545          */
       
   546         TInt EndPortRange() const;
       
   547 
       
   548         /**
       
   549          * Getter for UsedNATProtocol.
       
   550          * @since S60 3.2
       
   551          * @return Used NAT protocol.
       
   552          */
       
   553         const TDesC8& UsedNatProtocol() const;
       
   554 
       
   555         /**
       
   556          * Getter for NATUtilities.
       
   557          * @since S60 3.2
       
   558          * @return NAT utilities.
       
   559          */
       
   560         const TDesC8& NatUtilities () const;
       
   561 
       
   562         /**
       
   563          * Getter for HostPreference.
       
   564          * @since S60 3.2
       
   565          * @return HostPreference value.
       
   566          */
       
   567         TInt HostPref() const;
       
   568 
       
   569         /**
       
   570          * Getter for ServerReflexPreference.
       
   571          * @since S60 3.2
       
   572          * @return ServerReflexPreference value.
       
   573          */
       
   574         TInt ServerReflexPref() const;
       
   575 
       
   576         /**
       
   577          * Getter for RelayPreference.
       
   578          * @since S60 3.2
       
   579          * @return RelayPreference value.
       
   580          */
       
   581         TInt RelayPref() const;
       
   582 
       
   583         /**
       
   584          * Getter for PeerReflexPreference.
       
   585          * @since S60 3.2
       
   586          * @return PeerReflexPreference value.
       
   587          */
       
   588         TInt PeerReflexPref() const;
       
   589 
       
   590         /**
       
   591          * Getter for IPv4Preference.
       
   592          * @since S60 3.2
       
   593          * @return IPv4Preference value.
       
   594          */
       
   595         TInt IPv4Pref() const;
       
   596 
       
   597         /**
       
   598          * Getter for IPv6Preference.
       
   599          * @since S60 3.2
       
   600          * @return IPv6Preference value.
       
   601          */
       
   602         TInt IPv6Pref() const;
       
   603 
       
   604         /**
       
   605          * Getter for VpnPreference.
       
   606          * @since S60 3.2
       
   607          * @return VpnPreference value.
       
   608          */
       
   609         TInt VpnPref() const;
       
   610 
       
   611         /**
       
   612          * Getter for UdpPreference.
       
   613          * @since S60 3.2
       
   614          * @return UdpPreference value.
       
   615          */
       
   616         TInt UdpPref() const;
       
   617 
       
   618         /**
       
   619          * Getter for TcpPreference.
       
   620          * @since S60 3.2
       
   621          * @return TcpPreference value.
       
   622          */
       
   623         TInt TcpPref() const;
       
   624 
       
   625         /**
       
   626          * Getter for TcpActivePreference.
       
   627          * @since S60 3.2
       
   628          * @return TcpActivePreference value.
       
   629          */
       
   630         TInt TcpActivePref() const;
       
   631 
       
   632         /**
       
   633          * Getter for TcpPassivePreference.
       
   634          * @since S60 3.2
       
   635          * @return TcpPassivePreference value.
       
   636          */
       
   637         TInt TcpPassivePref() const;
       
   638 
       
   639         /**
       
   640          * Getter for TcpSimultPreference.
       
   641          * @since S60 3.2
       
   642          * @return TcpSimultPreference value.
       
   643          */
       
   644         TInt TcpSimultPref() const;
       
   645 
       
   646         /**
       
   647          * Getter for a specific TURN server address.
       
   648          * @since S60 3.2
       
   649          * @param aIndex Array index.
       
   650          * @return TURN server address or "NotSet" if aIndex out of bounds.
       
   651          */
       
   652         const TDesC8& TurnSrvAddrL( TInt aIndex ) const;
       
   653 
       
   654         /**
       
   655          * Getter for a specific TURN server port.
       
   656          * @since S60 3.2
       
   657          * @param aIndex Array index.
       
   658          * @return TURN server port or KErrNotFound if aIndex out of bounds.
       
   659          */
       
   660         TInt TurnSrvPort( TInt aIndex ) const;
       
   661 
       
   662         /**
       
   663          * Getter for a specific TURN server username.
       
   664          * @since S60 3.2
       
   665          * @param aIndex Array index.
       
   666          * @return TURN server username or "NotSet" if aIndex out of bounds.
       
   667          */
       
   668         const TDesC8& TurnUsernameL( TInt aIndex ) const;
       
   669 
       
   670         /**
       
   671          * Getter for a specific TURN server password.
       
   672          * @since S60 3.2
       
   673          * @param aIndex Array index.
       
   674          * @return TURN server password or "NotSet" if aIndex out of bounds.
       
   675          */
       
   676         const TDesC8& TurnPasswordL( TInt aIndex ) const;
       
   677 
       
   678 private: // Data
       
   679 
       
   680         // Identifier of the codec.
       
   681         TUint32 iDomainKey;
       
   682 
       
   683         // Domain address
       
   684         HBufC8* iDomain;
       
   685 
       
   686         // STUN server addr
       
   687         HBufC8* iSTUNServerAddr;
       
   688 
       
   689         // STUN server port
       
   690         TInt iSTUNServerPort;
       
   691 
       
   692         // NAT refresh tcp
       
   693         TInt iNATRefreshTCP;
       
   694 
       
   695         // NAT refresh udp
       
   696         TInt iNATRefreshUDP;
       
   697 
       
   698         // CRLF refresh
       
   699         TInt iEnableCRLFRefresh;
       
   700 
       
   701         // STUN server username
       
   702         HBufC8* iSTUNUsername;
       
   703 
       
   704         // STUN server password
       
   705         HBufC8* iSTUNPassword;
       
   706 
       
   707         /**
       
   708          * List of STUN server addresses.
       
   709          */
       
   710         RPointerArray<HBufC8> iStunSrvAddrArray;
       
   711 
       
   712         /**
       
   713          * List of STUN server ports.
       
   714          */
       
   715         RArray<TInt> iStunSrvPortArray;
       
   716         
       
   717         /**
       
   718          * List of STUN server usernames.
       
   719          */
       
   720         RPointerArray<HBufC8> iStunUsernameArray;
       
   721 
       
   722         /**
       
   723          * List of STUN server passwords.
       
   724          */
       
   725         RPointerArray<HBufC8> iStunPasswordArray;
       
   726 
       
   727         /**
       
   728          * Whether to disable STUN shared secret mechanism.
       
   729          */
       
   730         TInt iDisableStunSharedSecret;
       
   731 
       
   732         /**
       
   733          * Start port of the port range.
       
   734          */
       
   735         TInt iStartPortRange;
       
   736 
       
   737         /**
       
   738          * End port of the port range.
       
   739          */
       
   740         TInt iEndPortRange;
       
   741 
       
   742         /**
       
   743          * Used NAT protocol.
       
   744          * Own.
       
   745          */
       
   746         HBufC8* iUsedNatProtocol;
       
   747 
       
   748         /**
       
   749          * ICE: NAT Utilties.
       
   750          * Own.
       
   751          */
       
   752         HBufC8* iNatUtilities;
       
   753 
       
   754         /**
       
   755          * ICE: Host preference
       
   756          */
       
   757         TInt iHostPref;
       
   758 
       
   759         /**
       
   760          * ICE: Server-reflexive preference
       
   761          */
       
   762         TInt iServerReflexPref;
       
   763 
       
   764         /**
       
   765          * ICE: Relay preference
       
   766          */
       
   767         TInt iRelayPref;
       
   768 
       
   769         /**
       
   770          * ICE: Peer-reflexive preference
       
   771          */
       
   772         TInt iPeerReflexPref;
       
   773 
       
   774         /**
       
   775          * ICE: IPv4 preference
       
   776          */
       
   777         TInt iIPv4Pref;
       
   778 
       
   779         /**
       
   780          * ICE: IPv6 preference
       
   781          */
       
   782         TInt iIPv6Pref;
       
   783 
       
   784         /**
       
   785          * ICE: VPN preference
       
   786          */
       
   787         TInt iVpnPref;
       
   788 
       
   789         /**
       
   790          * ICE: UDP preference
       
   791          */
       
   792         TInt iUdpPref;
       
   793 
       
   794         /**
       
   795          * ICE: TCP preference
       
   796          */
       
   797         TInt iTcpPref;
       
   798 
       
   799         /**
       
   800          * ICE: TCP-active preference
       
   801          */
       
   802         TInt iTcpActivePref;
       
   803 
       
   804         /**
       
   805          * ICE: TCP-passive preference
       
   806          */
       
   807         TInt iTcpPassivePref;
       
   808 
       
   809         /**
       
   810          * ICE: TCP-simultaneous-open preference
       
   811          */
       
   812         TInt iTcpSimultPref;
       
   813 
       
   814         /**
       
   815          * List of TURN server addresses.
       
   816          */
       
   817         RPointerArray<HBufC8> iTurnSrvAddrArray;
       
   818 
       
   819         /**
       
   820          * List of TURN server ports.
       
   821          */
       
   822         RArray<TInt> iTurnSrvPortArray;
       
   823 
       
   824         /**
       
   825          * List of TURN server usernames.
       
   826          */
       
   827         RPointerArray<HBufC8> iTurnUsernameArray;
       
   828 
       
   829         /**
       
   830          * List of TURN server passwords.
       
   831          */
       
   832         RPointerArray<HBufC8> iTurnPasswordArray;
       
   833 
       
   834         /**
       
   835          * Uncomment this for unit testing.
       
   836          */
       
   837         //friend class UT_CNSmlDmNATFWTraversalAdapter;
       
   838     };