diff -r 000000000000 -r 1bce908db942 natplugins/natpdevmgmtnatfwadapter/src/natfwdomainentry.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/natplugins/natpdevmgmtnatfwadapter/src/natfwdomainentry.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,1145 @@ +/* +* Copyright (c) 2005-2008 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: Device Management NAT-FW Traversal domain specific settings +* +*/ + + +// INCLUDE FILES +#include +#include "natfwdomainentry.h" +#include "natfwdefaults.h" + +const TInt KNotSet = -1; +_LIT8( KValueNotSet, "NotSet" ); + +// ============================ MEMBER FUNCTIONS ============================= + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::NewL +// +// --------------------------------------------------------------------------- +// +CNATFWDomainEntry* CNATFWDomainEntry::NewL() + { + CNATFWDomainEntry* self = NewLC(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::NewLC +// +// --------------------------------------------------------------------------- +// +CNATFWDomainEntry* CNATFWDomainEntry::NewLC() + { + CNATFWDomainEntry* self = new (ELeave) CNATFWDomainEntry(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::CNATFWDomainEntry +// +// --------------------------------------------------------------------------- +// +CNATFWDomainEntry::CNATFWDomainEntry() + { + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::ConstructL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::ConstructL() + { + iDomain = HBufC8::NewL( 0 ); + iSTUNServerAddr = HBufC8::NewL( 0 ); + iSTUNServerPort = KDefaultSTUNPort; + iNATRefreshTCP = KDefaultTCPRefreshInterval; + iNATRefreshUDP = KDefaultUDPRefreshInterval; + iSTUNUsername = HBufC8::NewL( 0 ); + iSTUNPassword = HBufC8::NewL( 0 ); + iDisableStunSharedSecret = KNotSet; + iStartPortRange = KNotSet; + iEndPortRange = KNotSet; + iUsedNatProtocol = HBufC8::NewL( 0 ); + iNatUtilities = HBufC8::NewL( 0 ); + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::~CNATFWDomainEntry +// +// --------------------------------------------------------------------------- +// +CNATFWDomainEntry::~CNATFWDomainEntry() + { + delete iDomain; + delete iSTUNServerAddr; + delete iSTUNUsername; + delete iSTUNPassword; + delete iUsedNatProtocol; + delete iNatUtilities; + iStunSrvAddrArray.ResetAndDestroy(); + iStunSrvPortArray.Close(); + iStunUsernameArray.ResetAndDestroy(); + iStunPasswordArray.ResetAndDestroy(); + iTurnSrvAddrArray.ResetAndDestroy(); + iTurnSrvPortArray.Close(); + iTurnUsernameArray.ResetAndDestroy(); + iTurnPasswordArray.ResetAndDestroy(); + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetDomainKey +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetDomainKey( TUint32 aDomainKey ) + { + iDomainKey = aDomainKey; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetDomainL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetDomainL( const TDesC8& aDomain ) + { + HBufC8* temp = aDomain.AllocL(); + delete iDomain; + iDomain = NULL; + iDomain = temp; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetSTUNServerAddrL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetSTUNServerAddrL( const TDesC8& aSTUNServerAddr ) + { + HBufC8* temp = aSTUNServerAddr.AllocL(); + delete iSTUNServerAddr; + iSTUNServerAddr = NULL; + iSTUNServerAddr = temp; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetSTUNServerPort +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetSTUNServerPort( TUint aSTUNServerPort ) + { + iSTUNServerPort = aSTUNServerPort; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetNATRefreshTCP +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetNATRefreshTCP( TInt aNATRefreshTCP ) + { + iNATRefreshTCP = aNATRefreshTCP; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetNATRefreshUDP +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetNATRefreshUDP( TInt aNATRefreshUDP ) + { + iNATRefreshUDP = aNATRefreshUDP; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetEnableCRLFRefresh +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetEnableCRLFRefresh( TInt aEnableCRLFRefresh ) + { + iEnableCRLFRefresh = aEnableCRLFRefresh; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetDomain +// +// --------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::GetDomain() const + { + return *iDomain; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetDomainKey +// +// --------------------------------------------------------------------------- +// +TUint32 CNATFWDomainEntry::GetDomainKey() const + { + return iDomainKey; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetSTUNAddr +// +// --------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::GetSTUNAddr() const + { + return *iSTUNServerAddr; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetSTUNPort +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::GetSTUNPort() const + { + return iSTUNServerPort; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetNATRefreshTCP +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::GetNATRefreshTCP() const + { + return iNATRefreshTCP; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetNATRefreshUDP +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::GetNATRefreshUDP() const + { + return iNATRefreshUDP; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetEnableCRLFRefresh +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::GetEnableCRLFRefresh() const + { + return iEnableCRLFRefresh; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetSTUNUsernameL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetSTUNUsernameL( const TDesC8& aSTUNUsername ) + { + HBufC8* temp = aSTUNUsername.AllocL(); + delete iSTUNUsername; + iSTUNUsername = NULL; + iSTUNUsername = temp; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetSTUNPasswordL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetSTUNPasswordL( const TDesC8& aSTUNPassword ) + { + HBufC8* temp = aSTUNPassword.AllocL(); + delete iSTUNPassword; + iSTUNPassword = NULL; + iSTUNPassword = temp; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddStunSrvAddrL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddStunSrvAddrL( const TDesC8& aStunSrvAddr ) + { + HBufC8* temp = aStunSrvAddr.AllocLC(); + iStunSrvAddrArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddStunSrvPortL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddStunSrvPortL( TInt aStunSrvPort ) + { + iStunSrvPortArray.AppendL( aStunSrvPort ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddStunUsernameL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddStunUsernameL( const TDesC8& aStunUsername ) + { + HBufC8* temp = aStunUsername.AllocLC(); + iStunUsernameArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddStunPasswordL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddStunPasswordL( const TDesC8& aStunPassword ) + { + HBufC8* temp = aStunPassword.AllocLC(); + iStunPasswordArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetDisableStunSharedSecret +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetDisableStunSharedSecret( + TInt aDisableStunSharedSecret ) + { + iDisableStunSharedSecret = aDisableStunSharedSecret; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetStartPortRange +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetStartPortRange( TInt aStartPortRange ) + { + iStartPortRange = aStartPortRange; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetEndPortRange +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetEndPortRange( TInt aEndPortRange ) + { + iEndPortRange = aEndPortRange; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::SetNatProtocolL +// +// --------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetNatProtocolL( const TDesC8& aNatProtocol ) + { + HBufC8* temp = aNatProtocol.AllocL(); + delete iUsedNatProtocol; + iUsedNatProtocol = NULL; + iUsedNatProtocol = temp; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetNatUtilitiesL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetNatUtilitiesL( const TDesC8& aNatUtilities ) + { + HBufC8* temp = aNatUtilities.AllocL(); + delete iNatUtilities; + iNatUtilities = NULL; + iNatUtilities = temp; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetHostPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetHostPref( TInt aHostPref ) + { + iHostPref = aHostPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetServerReflexPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetServerReflexPref( TInt aServerReflexPref ) + { + iServerReflexPref = aServerReflexPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetRelayPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetRelayPref( TInt aRelayPref ) + { + iRelayPref = aRelayPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetPeerReflexPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetPeerReflexPref( TInt aPeerReflexPref ) + { + iPeerReflexPref = aPeerReflexPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetIPv4Pref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetIPv4Pref( TInt aIPv4Pref ) + { + iIPv4Pref = aIPv4Pref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetIPv6Pref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetIPv6Pref( TInt aIPv6Pref ) + { + iIPv6Pref = aIPv6Pref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetVpnPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetVpnPref( TInt aVpnPref ) + { + iVpnPref = aVpnPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetUdpPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetUdpPref( TInt aUdpPref ) + { + iUdpPref = aUdpPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetTcpPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetTcpPref( TInt aTcpPref ) + { + iTcpPref = aTcpPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetTcpActivePref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetTcpActivePref( TInt aTcpActivePref ) + { + iTcpActivePref = aTcpActivePref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetTcpPassivePref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetTcpPassivePref( TInt aTcpPassivePref ) + { + iTcpPassivePref = aTcpPassivePref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::SetTcpSimultPref +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::SetTcpSimultPref( TInt aTcpSimultPref ) + { + iTcpSimultPref = aTcpSimultPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddTurnSrvAddrL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddTurnSrvAddrL( const TDesC8& aTurnSrvAddr ) + { + HBufC8* temp = aTurnSrvAddr.AllocLC(); + iTurnSrvAddrArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddTurnSrvPortL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddTurnSrvPortL( TInt aTurnSrvPort ) + { + iTurnSrvPortArray.AppendL( aTurnSrvPort ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddTurnUsernameL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddTurnUsernameL( const TDesC8& aTurnUsername ) + { + HBufC8* temp = aTurnUsername.AllocLC(); + iTurnUsernameArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::AddTurnPasswordL +// +// ---------------------------------------------------------------------------- +// +void CNATFWDomainEntry::AddTurnPasswordL( const TDesC8& aTurnPassword ) + { + HBufC8* temp = aTurnPassword.AllocLC(); + iTurnPasswordArray.AppendL( temp ); + CleanupStack::Pop( temp ); + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateStunSrvAddrL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateStunSrvAddrL( TInt aIndex, const TDesC8& aAddr ) + { + if ( aIndex < 0 || aIndex >= iStunSrvAddrArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aAddr.AllocLC(); + delete iStunSrvAddrArray[ aIndex ]; + iStunSrvAddrArray.Remove( aIndex ); + iStunSrvAddrArray.Compress(); + iStunSrvAddrArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateStunSrvPort() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateStunSrvPort( TInt aIndex, TInt aPort ) + { + if ( aIndex < 0 || aIndex >= iStunSrvPortArray.Count() ) + { + return KErrArgument; + } + iStunSrvPortArray[aIndex] = aPort; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateStunUsernameL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateStunUsernameL( TInt aIndex, + const TDesC8& aUsername ) + { + if ( aIndex < 0 || aIndex >= iStunUsernameArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aUsername.AllocLC(); + delete iStunUsernameArray[ aIndex ]; + iStunUsernameArray.Remove( aIndex ); + iStunUsernameArray.Compress(); + iStunUsernameArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateStunPasswordL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateStunPasswordL( TInt aIndex, + const TDesC8& aPassword ) + { + if ( aIndex < 0 || aIndex >= iStunPasswordArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aPassword.AllocLC(); + delete iStunPasswordArray[ aIndex ]; + iStunPasswordArray.Remove( aIndex ); + iStunPasswordArray.Compress(); + iStunPasswordArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateTurnSrvAddrL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateTurnSrvAddrL( TInt aIndex, const TDesC8& aAddr ) + { + if ( aIndex < 0 || aIndex >= iTurnSrvAddrArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aAddr.AllocLC(); + delete iTurnSrvAddrArray[ aIndex ]; + iTurnSrvAddrArray.Remove( aIndex ); + iTurnSrvAddrArray.Compress(); + iTurnSrvAddrArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateTurnSrvPort() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateTurnSrvPort( TInt aIndex, TInt aPort ) + { + if ( aIndex < 0 || aIndex >= iTurnSrvPortArray.Count() ) + { + return KErrArgument; + } + iTurnSrvPortArray[aIndex] = aPort; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateTurnUsernameL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateTurnUsernameL( TInt aIndex, + const TDesC8& aUsername ) + { + if ( aIndex < 0 || aIndex >= iTurnUsernameArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aUsername.AllocLC(); + delete iTurnUsernameArray[ aIndex ]; + iTurnUsernameArray.Remove( aIndex ); + iTurnUsernameArray.Compress(); + iTurnUsernameArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UpdateTurnPasswordL() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UpdateTurnPasswordL( TInt aIndex, + const TDesC8& aPassword ) + { + if ( aIndex < 0 || aIndex >= iTurnPasswordArray.Count() ) + { + return KErrArgument; + } + HBufC8* temp = aPassword.AllocLC(); + delete iTurnPasswordArray[ aIndex ]; + iTurnPasswordArray.Remove( aIndex ); + iTurnPasswordArray.Compress(); + iTurnPasswordArray.InsertL( temp, aIndex ); + CleanupStack::Pop( temp ); + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveStunSrvAddr() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveStunSrvAddr( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iStunSrvAddrArray.Count() ) + { + return KErrArgument; + } + delete iStunSrvAddrArray[ aIndex ]; + iStunSrvAddrArray.Remove( aIndex ); + iStunSrvAddrArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveStunSrvPort() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveStunSrvPort( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iStunSrvPortArray.Count() ) + { + return KErrArgument; + } + iStunSrvPortArray.Remove( aIndex ); + iStunSrvPortArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveStunUsername() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveStunUsername( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iStunUsernameArray.Count() ) + { + return KErrArgument; + } + delete iStunUsernameArray[ aIndex ]; + iStunUsernameArray.Remove( aIndex ); + iStunUsernameArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveStunPassword() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveStunPassword( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iStunPasswordArray.Count() ) + { + return KErrArgument; + } + delete iStunPasswordArray[ aIndex ]; + iStunPasswordArray.Remove( aIndex ); + iStunPasswordArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveTurnSrvAddr() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveTurnSrvAddr( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iTurnSrvAddrArray.Count() ) + { + return KErrArgument; + } + delete iTurnSrvAddrArray[ aIndex ]; + iTurnSrvAddrArray.Remove( aIndex ); + iTurnSrvAddrArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveTurnSrvPort() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveTurnSrvPort( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iTurnSrvPortArray.Count() ) + { + return KErrArgument; + } + iTurnSrvPortArray.Remove( aIndex ); + iTurnSrvPortArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveTurnUsername() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveTurnUsername( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iTurnUsernameArray.Count() ) + { + return KErrArgument; + } + delete iTurnUsernameArray[ aIndex ]; + iTurnUsernameArray.Remove( aIndex ); + iTurnUsernameArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::RemoveTurnPassword() +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RemoveTurnPassword( TInt aIndex ) + { + if ( aIndex < 0 || aIndex >= iTurnPasswordArray.Count() ) + { + return KErrArgument; + } + delete iTurnPasswordArray[ aIndex ]; + iTurnPasswordArray.Remove( aIndex ); + iTurnPasswordArray.Compress(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetSTUNUsername +// +// --------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::GetSTUNUsername() const + { + return *iSTUNUsername; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::GetSTUNPassword +// +// --------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::GetSTUNPassword() const + { + return *iSTUNPassword; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::StunSrvAddrL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::StunSrvAddrL( TInt aIndex ) const + { + if ( aIndex < iStunSrvAddrArray.Count() && aIndex >= 0 ) + { + return *( iStunSrvAddrArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::StunSrvPort +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::StunSrvPort( TInt aIndex ) const + { + if ( aIndex < iStunSrvPortArray.Count() && aIndex >= 0 ) + { + return iStunSrvPortArray[aIndex]; + } + return KErrNotFound; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::StunUsernameL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::StunUsernameL( TInt aIndex ) const + { + if ( aIndex < iStunUsernameArray.Count() && aIndex >= 0 ) + { + return *( iStunUsernameArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::StunPasswordL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::StunPasswordL( TInt aIndex ) const + { + if ( aIndex < iStunPasswordArray.Count() && aIndex >= 0 ) + { + return *( iStunPasswordArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::DisableStunSharedSecret +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::DisableStunSharedSecret() const + { + return iDisableStunSharedSecret; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::StartPortRange +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::StartPortRange() const + { + return iStartPortRange; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::EndPortRange +// +// --------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::EndPortRange() const + { + return iEndPortRange; + } + +// --------------------------------------------------------------------------- +// CNATFWDomainEntry::UsedNatProtocol +// +// --------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::UsedNatProtocol() const + { + return *iUsedNatProtocol; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::NatUtilities +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::NatUtilities() const + { + return *iNatUtilities; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::HostPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::HostPref() const + { + return iHostPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::ServerReflexPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::ServerReflexPref() const + { + return iServerReflexPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::RelayPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::RelayPref() const + { + return iRelayPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::PeerReflexPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::PeerReflexPref() const + { + return iPeerReflexPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::IPv4Pref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::IPv4Pref() const + { + return iIPv4Pref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::IPv6Pref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::IPv6Pref() const + { + return iIPv6Pref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::VpnPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::VpnPref() const + { + return iVpnPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::UdpPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::UdpPref() const + { + return iUdpPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TcpPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::TcpPref() const + { + return iTcpPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TcpActivePref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::TcpActivePref() const + { + return iTcpActivePref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TcpPassivePref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::TcpPassivePref() const + { + return iTcpPassivePref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TcpSimultPref +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::TcpSimultPref() const + { + return iTcpSimultPref; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TurnSrvAddrL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::TurnSrvAddrL( TInt aIndex ) const + { + if ( aIndex < iTurnSrvAddrArray.Count() && aIndex >= 0 ) + { + return *( iTurnSrvAddrArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TurnSrvPort +// +// ---------------------------------------------------------------------------- +// +TInt CNATFWDomainEntry::TurnSrvPort( TInt aIndex ) const + { + if ( aIndex < iTurnSrvPortArray.Count() && aIndex >= 0 ) + { + return iTurnSrvPortArray[aIndex]; + } + return KErrNotFound; + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TurnUsernameL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::TurnUsernameL( TInt aIndex ) const + { + if ( aIndex < iTurnUsernameArray.Count() && aIndex >= 0 ) + { + return *( iTurnUsernameArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + +// ---------------------------------------------------------------------------- +// CNATFWDomainEntry::TurnPasswordL +// +// ---------------------------------------------------------------------------- +// +const TDesC8& CNATFWDomainEntry::TurnPasswordL( TInt aIndex ) const + { + if ( aIndex < iTurnPasswordArray.Count() && aIndex >= 0 ) + { + return *( iTurnPasswordArray[aIndex] ); + } + return *( KValueNotSet().AllocL() ); + } + +// End of File