vpnui/vpnmanagementui/inc/vpnmanagementuiserversettingscontainer.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 15:42:16 +0300
branchRCL_3
changeset 49 5960d2d03390
parent 41 e06095241a65
permissions -rw-r--r--
Revision: 201038 Kit: 201041

/*
* Copyright (c) 2003-2009 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:   Declaration of the CServerSettingsContainer class.
*
*/

#ifndef  __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__
#define  __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__

#include <aknsettingitemlist.h>


/**
 *  CServerSettingsContainer container control class.
 *
 *  @lib vpnmanagementui.lib
 *  @since S60 v3.0
*/
class CServerSettingsContainer : public CAknSettingItemList
    {
public: // functions
    
    /**
     * NewL
     *
     * @since S60 3.2
     * @param aLoader VPN UI loader for common view handling.
     * @param aServerIndex index of selected server or KErrNotFound.     
     * @return self
     */        
	static CServerSettingsContainer* NewL(
	    CVpnUiLoader& aLoader, TInt aServerIndex);
    /**
    * Destructor.
    */
    ~CServerSettingsContainer();
        
    /**
     * From CAknSettingItemList
     */   
    CAknSettingItem* CreateSettingItemL( TInt aSettingId );
    
    /**
     * ServerNameExistsL
     * @return ETrue name already in use
     */
    TBool ServerNameExistsL( const TDesC& aText ) const; 
    /**
     * ChangeSettingValueL
     * Opens Setting page for currently selected setting item
     */
    void ChangeSettingValueL();
    
    /*** NSSM support is discontinued.
         Code is kept in comments temporarily because similar UI functionality
         might be needed for another purpose.
    const TAcuApiServerDetails& ServerDetailsL(); ***/

    static HBufC* GetDestinationNameL( TUint aId );
    static HBufC* GetConnectionMethodNameL( TUint aId );

    void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);

    TInt ServerIndex() const;

private: // functions

    /**
    * Default constructor
    */
	CServerSettingsContainer();
	
    /**
    * Overrided Default constructor
    */
	CServerSettingsContainer(
	    CVpnUiLoader& aLoader, TInt aServerIndex );		

    /**
    * Symbian OS default constructor.
    * @param aRect Frame rectangle for container.
    */
	void ConstructL();

private: // implementation

    void UpdateTitleL( TDes& aText );

#ifdef __SERIES60_HELP
    /**
	* This function is called when Help application is launched.  
	* (other items were commented in a header).
    */
	void GetHelpContext(TCoeHelpContext& aContext) const;
#endif //__SERIES60_HELP

private: // data
    
    /**
    * To get hold of VpnUiLoader
    */
	CVpnUiLoader& iLoader;
	
	/// Server details
    // TAcuApiServerDetails iServerDetails;
    TBuf<KMaxServerUrlLength> iServerAddressBuffer;
    
   /**
    * To get the index of server list
    * -1 when user has select Add new server
	* Must be public so that view can access
    */
	TInt iServerIndex;
    };

#endif // __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__

// End of File