--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/natplugins/natpdevmgmtnatfwadapter/inc/natfwdomainentry.h Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,838 @@
+/*
+* Copyright (c) 2005-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: Device Management NAT-FW Traversal domain specific settings
+*
+*/
+
+
+// INCLUDES
+#include <e32base.h>
+
+
+/*
+* CNATFWDomainEntry
+* Buffer class for holding domain specific NAT/FW settings
+*/
+class CNATFWDomainEntry : public CBase
+ {
+ public: // Constructors and destructor
+
+ static CNATFWDomainEntry* NewL();
+ static CNATFWDomainEntry* NewLC();
+ virtual ~CNATFWDomainEntry();
+
+ private:
+
+ CNATFWDomainEntry();
+ void ConstructL();
+
+ public: // New methods
+
+ /**
+ * Setter for DomainKey.
+ * @since Series 60_3.1
+ * @param aDomainKey value to set. Key for domain table in CenRep.
+ */
+ void SetDomainKey( TUint32 aDomainKey );
+
+ /**
+ * Setter for Domain.
+ * @since Series 60_3.1
+ * @param aDomain value to set.
+ */
+ void SetDomainL( const TDesC8& aDomain );
+
+ /**
+ * Setter for STUNServerAddr.
+ * @since Series 60_3.1
+ * @param aSTUNServerAddr value to set.
+ */
+ void SetSTUNServerAddrL( const TDesC8& aSTUNServerAddr );
+
+ /**
+ * Setter for STUNServerPort.
+ * @since Series 60_3.1
+ * @param aSTUNServerPort value to set.
+ */
+ void SetSTUNServerPort( TUint aSTUNServerPort );
+
+ /**
+ * Setter for NATRefreshTCP.
+ * @since Series 60_3.1
+ * @param aNATRefreshTCP value to set.
+ */
+ void SetNATRefreshTCP( TInt aNATRefreshTCP );
+
+ /**
+ * Setter for NATRefreshUDP.
+ * @since Series 60_3.1
+ * @param aNATRefreshUDP value to set.
+ */
+ void SetNATRefreshUDP( TInt aNATRefreshUDP );
+
+ /**
+ * Setter for CRLFRefresh.
+ * @since Series 60_3.1
+ * @param aEnableCRLFRefresh value to set.
+ */
+ void SetEnableCRLFRefresh( TInt aEnableCRLFRefresh );
+
+ /**
+ * Setter for STUNUsername.
+ * @since S60 3.2
+ * @param aSTUNUsername value to set.
+ */
+ void SetSTUNUsernameL( const TDesC8& aSTUNUsername );
+
+ /**
+ * Setter for STUNPassword.
+ * @since S60 3.2
+ * @param aSTUNPassword value to set.
+ */
+ void SetSTUNPasswordL( const TDesC8& aSTUNPassword );
+
+ /**
+ * Add STUN server address.
+ * @since S60 3.2
+ * @param aStunSrvAddr STUN server address.
+ */
+ void AddStunSrvAddrL( const TDesC8& aStunSrvAddr );
+
+ /**
+ * Add STUN server port.
+ * @since S60 3.2
+ * @param aStunSrvPort STUN server port.
+ */
+ void AddStunSrvPortL( TInt aStunSrvPort );
+
+ /**
+ * Add STUN server username.
+ * @since S60 3.2
+ * @param aStunUsername STUN server username.
+ */
+ void AddStunUsernameL( const TDesC8& aStunUsername );
+
+ /**
+ * Add STUN server password.
+ * @since S60 3.2
+ * @param aStunPassword STUN server password.
+ */
+ void AddStunPasswordL( const TDesC8& aStunPassword );
+
+ /**
+ * Setter for DisableStunSharedSecret.
+ * @since S60 3.2
+ * @param aDisableStunSharedSecret Value to be set.
+ */
+ void SetDisableStunSharedSecret( TInt aDisableStunSharedSecret );
+
+ /**
+ * Setter for StartPortRange.
+ * @since S60 3.2
+ * @param aPortPoolStart value to set.
+ */
+ void SetStartPortRange( TInt aStartPortRange );
+
+ /**
+ * Setter for EndPortRange.
+ * @since S60 3.2
+ * @param aPortPoolEnd value to set.
+ */
+ void SetEndPortRange( TInt aEndPortRange );
+
+ /**
+ * Setter for UsedNATProtocol.
+ * @since S60 3.2
+ * @param aNatProtocol value to set.
+ */
+ void SetNatProtocolL( const TDesC8& aNatProtocol );
+
+ /**
+ * Setter for NATUtilities.
+ * @since S60 3.2
+ * @param aNatUtilities NAT utilities to be se.
+ */
+ void SetNatUtilitiesL( const TDesC8& aNatUtilities );
+
+ /**
+ * Getter for HostPreference.
+ * @since S60 3.2
+ * @param aHostPref Preference value to be set.
+ */
+ void SetHostPref( TInt aHostPref );
+
+ /**
+ * Getter for ServerReflexPreference.
+ * @since S60 3.2
+ * @param aServerReflexPref Preference value to be set.
+ */
+ void SetServerReflexPref( TInt aServerReflexPref );
+
+ /**
+ * Getter for RelayPreference.
+ * @since S60 3.2
+ * @param aRelayPref Preference value to be set.
+ */
+ void SetRelayPref( TInt aRelayPref );
+
+ /**
+ * Getter for PeerReflexPreference.
+ * @since S60 3.2
+ * @param aPeerReflexPref Preference value to be set.
+ */
+ void SetPeerReflexPref( TInt aPeerReflexPref );
+
+ /**
+ * Getter for IPv4Preference.
+ * @since S60 3.2
+ * @param aIPv4Pref Preference value to be set.
+ */
+ void SetIPv4Pref( TInt aIPv4Pref );
+
+ /**
+ * Getter for IPv6Preference.
+ * @since S60 3.2
+ * @param aIPv6Pref Preference value to be set.
+ */
+ void SetIPv6Pref( TInt aIPv6Pref );
+
+ /**
+ * Getter for VpnPreference.
+ * @since S60 3.2
+ * @param aVpnPref Preference value to be set.
+ */
+ void SetVpnPref( TInt aVpnPref );
+
+ /**
+ * Getter for UdpPreference.
+ * @since S60 3.2
+ * @param aUdpPref Preference value to be set.
+ */
+ void SetUdpPref( TInt aUdpPref );
+
+ /**
+ * Getter for TcpPreference.
+ * @since S60 3.2
+ * @param aTcpPref Preference value to be set.
+ */
+ void SetTcpPref( TInt aTcpPref );
+
+ /**
+ * Getter for TcpActivePreference.
+ * @since S60 3.2
+ * @param aTcpActivePref Preference value to be set.
+ */
+ void SetTcpActivePref( TInt aTcpActivePref );
+
+ /**
+ * Getter for TcpPassivePreference.
+ * @since S60 3.2
+ * @param aTcpPassivePref Preference value to be set.
+ */
+ void SetTcpPassivePref( TInt aTcpPassivePref );
+
+ /**
+ * Setter for TcpSimultPreference.
+ * @since S60 3.2
+ * @param aTcpSimultPref Preference value to be set.
+ */
+ void SetTcpSimultPref( TInt aTcpSimultPref );
+
+ /**
+ * Add TURN server address.
+ * @since S60 3.2
+ * @param aTurnSrvAddr TURN server address.
+ */
+ void AddTurnSrvAddrL( const TDesC8& aTurnSrvAddr );
+
+ /**
+ * Add TURN server port.
+ * @since S60 3.2
+ * @param aTurnSrvPort TURN server port.
+ */
+ void AddTurnSrvPortL( TInt aTurnSrvPort );
+
+ /**
+ * Add TURN server username.
+ * @since S60 3.2
+ * @param aTurnSrvAddr TURN server username.
+ */
+ void AddTurnUsernameL( const TDesC8& aTurnUsername );
+
+ /**
+ * Add TURN server password.
+ * @since S60 3.2
+ * @param aTurnPassword TURN server password.
+ */
+ void AddTurnPasswordL( const TDesC8& aTurnPassword );
+
+ /**
+ * Update STUNSrvAddr in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aAddr New STUN server address.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateStunSrvAddrL( TInt aIndex, const TDesC8& aAddr );
+
+ /**
+ * Update STUNSrvPort in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aPort New STUN server port.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateStunSrvPort( TInt aIndex, TInt aPort );
+
+ /**
+ * Update STUNUsername in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aUsername New STUN server username.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateStunUsernameL( TInt aIndex, const TDesC8& aUsername );
+
+ /**
+ * Update STUNPassword in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aPassword New STUN server password.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateStunPasswordL( TInt aIndex, const TDesC8& aPassword );
+
+ /**
+ * Update TURN server address in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aAddr New TURN server address.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateTurnSrvAddrL( TInt aIndex, const TDesC8& aAddr );
+
+ /**
+ * Update TURN server port in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aPort New TURN server port.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateTurnSrvPort( TInt aIndex, TInt aPort );
+
+ /**
+ * Update TURN server username in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aUsername New TURN server username.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateTurnUsernameL( TInt aIndex, const TDesC8& aUsername );
+
+ /**
+ * Update TURN server password in array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @param aPassword New TURN server password.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt UpdateTurnPasswordL( TInt aIndex, const TDesC8& aUsername );
+
+ /**
+ * Remove STUNSrvAddr from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveStunSrvAddr( TInt aIndex );
+
+ /**
+ * Remove STUNSrvPort from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveStunSrvPort( TInt aIndex );
+
+ /**
+ * Remove STUNUsername from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveStunUsername( TInt aIndex );
+
+ /**
+ * Remove STUNPassword from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveStunPassword( TInt aIndex );
+
+ /**
+ * Remove TURN server address from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveTurnSrvAddr( TInt aIndex );
+
+ /**
+ * Remove TURN server port from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveTurnSrvPort( TInt aIndex );
+
+ /**
+ * Remove TURN server username from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveTurnUsername( TInt aIndex );
+
+ /**
+ * Remove TURN server password from array.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return KErrNone if successful,
+ * KErrArgument if aIndex negative or too big.
+ */
+ TInt RemoveTurnPassword( TInt aIndex );
+
+ /**
+ * Getter for DomainKey.
+ * @since Series 60_3.1
+ * @return TUint32. Key for domain table in CenRep.
+ */
+ TUint32 GetDomainKey() const;
+
+ /**
+ * Getter for Domain.
+ * @since Series 60_3.1
+ * @return TDesC8.
+ */
+ const TDesC8& GetDomain() const;
+
+ /**
+ * Getter for STUNServerAddr.
+ * @since Series 60_3.1
+ * @return TDesC8.
+ */
+ const TDesC8& GetSTUNAddr() const;
+
+ /**
+ * Getter for STUNServerPort.
+ * @since Series 60_3.1
+ * @return TUint.
+ */
+ TInt GetSTUNPort() const;
+
+ /**
+ * Getter for NATRefreshTCP.
+ * @since Series 60_3.1
+ * @return TInt.
+ */
+ TInt GetNATRefreshTCP() const;
+
+ /**
+ * Getter for NATRefreshUDP.
+ * @since Series 60_3.1
+ * @return TInt.
+ */
+ TInt GetNATRefreshUDP() const;
+
+ /**
+ * Getter for aCRLFRefresh.
+ * @since Series 60_3.1
+ * @return TInt.
+ */
+ TInt GetEnableCRLFRefresh() const;
+
+ /**
+ * Getter for STUNUsername.
+ * @since S60 3.2
+ * @return TDesC8.
+ */
+ const TDesC8& GetSTUNUsername() const;
+
+ /**
+ * Getter for STUNPassword.
+ * @since S60 3.2
+ * @return TDesC8.
+ */
+ const TDesC8& GetSTUNPassword() const;
+
+ /**
+ * Getter for a specific STUN server address.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return STUN server address or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& StunSrvAddrL( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific STUN server port.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return STUN server port or KErrNotFound if aIndex out of bounds.
+ */
+ TInt StunSrvPort( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific STUN server username.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return STUN server username or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& StunUsernameL( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific STUN server password.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return STUN server password or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& StunPasswordL( TInt aIndex ) const;
+
+ /**
+ * Getter for DisableStunSharedSecret.
+ * @since S60 3.2
+ * @return Value for STUN_SHARED_SECRET.
+ */
+ TInt DisableStunSharedSecret() const;
+
+ /**
+ * Getter for StartPortRange.
+ * @since Series 60_3.1
+ * @return Start port of port pool.
+ */
+ TInt StartPortRange() const;
+
+ /**
+ * Getter for EndPortRange.
+ * @since S60 3.2
+ * @return End port of port pool.
+ */
+ TInt EndPortRange() const;
+
+ /**
+ * Getter for UsedNATProtocol.
+ * @since S60 3.2
+ * @return Used NAT protocol.
+ */
+ const TDesC8& UsedNatProtocol() const;
+
+ /**
+ * Getter for NATUtilities.
+ * @since S60 3.2
+ * @return NAT utilities.
+ */
+ const TDesC8& NatUtilities () const;
+
+ /**
+ * Getter for HostPreference.
+ * @since S60 3.2
+ * @return HostPreference value.
+ */
+ TInt HostPref() const;
+
+ /**
+ * Getter for ServerReflexPreference.
+ * @since S60 3.2
+ * @return ServerReflexPreference value.
+ */
+ TInt ServerReflexPref() const;
+
+ /**
+ * Getter for RelayPreference.
+ * @since S60 3.2
+ * @return RelayPreference value.
+ */
+ TInt RelayPref() const;
+
+ /**
+ * Getter for PeerReflexPreference.
+ * @since S60 3.2
+ * @return PeerReflexPreference value.
+ */
+ TInt PeerReflexPref() const;
+
+ /**
+ * Getter for IPv4Preference.
+ * @since S60 3.2
+ * @return IPv4Preference value.
+ */
+ TInt IPv4Pref() const;
+
+ /**
+ * Getter for IPv6Preference.
+ * @since S60 3.2
+ * @return IPv6Preference value.
+ */
+ TInt IPv6Pref() const;
+
+ /**
+ * Getter for VpnPreference.
+ * @since S60 3.2
+ * @return VpnPreference value.
+ */
+ TInt VpnPref() const;
+
+ /**
+ * Getter for UdpPreference.
+ * @since S60 3.2
+ * @return UdpPreference value.
+ */
+ TInt UdpPref() const;
+
+ /**
+ * Getter for TcpPreference.
+ * @since S60 3.2
+ * @return TcpPreference value.
+ */
+ TInt TcpPref() const;
+
+ /**
+ * Getter for TcpActivePreference.
+ * @since S60 3.2
+ * @return TcpActivePreference value.
+ */
+ TInt TcpActivePref() const;
+
+ /**
+ * Getter for TcpPassivePreference.
+ * @since S60 3.2
+ * @return TcpPassivePreference value.
+ */
+ TInt TcpPassivePref() const;
+
+ /**
+ * Getter for TcpSimultPreference.
+ * @since S60 3.2
+ * @return TcpSimultPreference value.
+ */
+ TInt TcpSimultPref() const;
+
+ /**
+ * Getter for a specific TURN server address.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return TURN server address or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& TurnSrvAddrL( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific TURN server port.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return TURN server port or KErrNotFound if aIndex out of bounds.
+ */
+ TInt TurnSrvPort( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific TURN server username.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return TURN server username or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& TurnUsernameL( TInt aIndex ) const;
+
+ /**
+ * Getter for a specific TURN server password.
+ * @since S60 3.2
+ * @param aIndex Array index.
+ * @return TURN server password or "NotSet" if aIndex out of bounds.
+ */
+ const TDesC8& TurnPasswordL( TInt aIndex ) const;
+
+private: // Data
+
+ // Identifier of the codec.
+ TUint32 iDomainKey;
+
+ // Domain address
+ HBufC8* iDomain;
+
+ // STUN server addr
+ HBufC8* iSTUNServerAddr;
+
+ // STUN server port
+ TInt iSTUNServerPort;
+
+ // NAT refresh tcp
+ TInt iNATRefreshTCP;
+
+ // NAT refresh udp
+ TInt iNATRefreshUDP;
+
+ // CRLF refresh
+ TInt iEnableCRLFRefresh;
+
+ // STUN server username
+ HBufC8* iSTUNUsername;
+
+ // STUN server password
+ HBufC8* iSTUNPassword;
+
+ /**
+ * List of STUN server addresses.
+ */
+ RPointerArray<HBufC8> iStunSrvAddrArray;
+
+ /**
+ * List of STUN server ports.
+ */
+ RArray<TInt> iStunSrvPortArray;
+
+ /**
+ * List of STUN server usernames.
+ */
+ RPointerArray<HBufC8> iStunUsernameArray;
+
+ /**
+ * List of STUN server passwords.
+ */
+ RPointerArray<HBufC8> iStunPasswordArray;
+
+ /**
+ * Whether to disable STUN shared secret mechanism.
+ */
+ TInt iDisableStunSharedSecret;
+
+ /**
+ * Start port of the port range.
+ */
+ TInt iStartPortRange;
+
+ /**
+ * End port of the port range.
+ */
+ TInt iEndPortRange;
+
+ /**
+ * Used NAT protocol.
+ * Own.
+ */
+ HBufC8* iUsedNatProtocol;
+
+ /**
+ * ICE: NAT Utilties.
+ * Own.
+ */
+ HBufC8* iNatUtilities;
+
+ /**
+ * ICE: Host preference
+ */
+ TInt iHostPref;
+
+ /**
+ * ICE: Server-reflexive preference
+ */
+ TInt iServerReflexPref;
+
+ /**
+ * ICE: Relay preference
+ */
+ TInt iRelayPref;
+
+ /**
+ * ICE: Peer-reflexive preference
+ */
+ TInt iPeerReflexPref;
+
+ /**
+ * ICE: IPv4 preference
+ */
+ TInt iIPv4Pref;
+
+ /**
+ * ICE: IPv6 preference
+ */
+ TInt iIPv6Pref;
+
+ /**
+ * ICE: VPN preference
+ */
+ TInt iVpnPref;
+
+ /**
+ * ICE: UDP preference
+ */
+ TInt iUdpPref;
+
+ /**
+ * ICE: TCP preference
+ */
+ TInt iTcpPref;
+
+ /**
+ * ICE: TCP-active preference
+ */
+ TInt iTcpActivePref;
+
+ /**
+ * ICE: TCP-passive preference
+ */
+ TInt iTcpPassivePref;
+
+ /**
+ * ICE: TCP-simultaneous-open preference
+ */
+ TInt iTcpSimultPref;
+
+ /**
+ * List of TURN server addresses.
+ */
+ RPointerArray<HBufC8> iTurnSrvAddrArray;
+
+ /**
+ * List of TURN server ports.
+ */
+ RArray<TInt> iTurnSrvPortArray;
+
+ /**
+ * List of TURN server usernames.
+ */
+ RPointerArray<HBufC8> iTurnUsernameArray;
+
+ /**
+ * List of TURN server passwords.
+ */
+ RPointerArray<HBufC8> iTurnPasswordArray;
+
+ /**
+ * Uncomment this for unit testing.
+ */
+ //friend class UT_CNSmlDmNATFWTraversalAdapter;
+ };
\ No newline at end of file