natplugins/natpcliprovisioningnatfwadapter/inc/stunserveritem.h
author Stefan Karlsson <stefan.karlsson@nokia.com>
Sun, 28 Mar 2010 16:37:26 +0100
branchCompilerCompatibility
changeset 9 5d1d815214a5
parent 0 1bce908db942
permissions -rw-r--r--
Fixed "extra qualification" syntax errors.

/*
* Copyright (c) 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:  STUN server item.
*
*/


#ifndef STUNSERVERITEM_H
#define STUNSERVERITEM_H

#include <e32base.h>

/**
 *  STUN server item
 *  Holds transiently one STUN server item before it is saved to
 *  Central Repository.
 *
 *  @lib wpnatfwtraversaladapter.lib
 *  @since S60 3.2
 */
class CWPStunServerItem : public CBase
    {

    /**
     * For EUnit tests; uncomment when running tests.
     */
    //friend class T_NATFWTraversalAdapter;

public:

    static CWPStunServerItem* NewL();
    static CWPStunServerItem* NewLC();

    /**
     * Destructor.
     */
    virtual ~CWPStunServerItem();

    /**
     * Setter for STUN server address.
     *
     * @since S60 3.2
     * @param aStunSrvAddr STUN server address.
     */
    void SetStunSrvAddrL( const TDesC8& aStunSrvAddr );

    /**
     * Setter for STUN server address.
     *
     * @since S60 3.2
     * @param aStunSrvPort STUN server port.
     */
    void SetStunSrvPort( TInt aStunSrvPort );

    /**
     * Setter for STUN server username.
     *
     * @since S60 3.2
     * @param aStunUsername STUN server username.
     */
    void SetStunUsernameL( const TDesC8& aStunUsername );

    /**
     * Setter for STUN server password.
     *
     * @since S60 3.2
     * @param aStunSrvAddr STUN server password.
     */
    void SetStunPasswordL( const TDesC8& aStunPassword );

    /**
     * Getter for STUN server address.
     *
     * @since S60 3.2
     * @return aStunSrvAddr STUN server address.
     */
    const TDesC8& StunSrvAddr() const;

    /**
     * Getter for STUN server address.
     *
     * @since S60 3.2
     * @return aStunSrvPort STUN server port.
     */
    TInt StunSrvPort() const;

    /**
     * Getter for STUN server username.
     *
     * @since S60 3.2
     * @return aStunUsername STUN server username.
     */
    const TDesC8& StunUsername() const;

    /**
     * Getter for STUN server password.
     *
     * @since S60 3.2
     * @return aStunPassword STUN server password.
     */
    const TDesC8& StunPassword() const;

private:

    CWPStunServerItem();

    void ConstructL();

private: // data

    /**
     * STUN server address.
     * OMA CP Parameter: STUNSRVADDR. See w902E.txt for more information.
     * Own.
     */
    HBufC8* iStunSrvAddr;

    /**
     * STUN server port.
     * OMA CP Parameter: STUNSRVPORT. See w902E.txt for more information.
     */
    TInt iStunSrvPort;

    /**
     * STUN server username.
     * OMA CP Parameter: AAUTHNAME. See w902E.txt for more information.
     * Own.
     */
    HBufC8* iStunUsername;

    /**
     * STUN server password.
     * OMA CP Parameter: AAUTHSECRET. See w902E.txt for more information.
     * Own.
     */
    HBufC8* iStunPassword;

    };

#endif // STUNSERVERITEM_H