diff -r 000000000000 -r 1bce908db942 natplugins/natpdevmgmtnatfwadapter/inc/natfwdomainentry.h --- /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 + + +/* +* 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 iStunSrvAddrArray; + + /** + * List of STUN server ports. + */ + RArray iStunSrvPortArray; + + /** + * List of STUN server usernames. + */ + RPointerArray iStunUsernameArray; + + /** + * List of STUN server passwords. + */ + RPointerArray 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 iTurnSrvAddrArray; + + /** + * List of TURN server ports. + */ + RArray iTurnSrvPortArray; + + /** + * List of TURN server usernames. + */ + RPointerArray iTurnUsernameArray; + + /** + * List of TURN server passwords. + */ + RPointerArray iTurnPasswordArray; + + /** + * Uncomment this for unit testing. + */ + //friend class UT_CNSmlDmNATFWTraversalAdapter; + }; \ No newline at end of file