vpnui/vpnmanagementui/src/vpnmanagementuiserversettingscontainer.cpp
branchRCL_3
changeset 23 473321461bba
parent 22 9f4e37332ce5
child 24 e06095241a65
--- a/vpnui/vpnmanagementui/src/vpnmanagementuiserversettingscontainer.cpp	Thu Aug 19 10:54:34 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/*
-* 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: The container is responsible of showing policy server details. 
-*
-*/
-
-// INCLUDE FILES
-#include <akntextsettingpage.h>
-#include <aknnotewrappers.h>
-#include <cmmanagerext.h>
-#include <cmsettingsui.h>
-#include <cmapplicationsettingsui.h>
-#include <cmdestinationext.h>
-#include <cmpluginvpndef.h>
-#include <commdb.h>
-#include <e32def.h>
-
-#include <vpnmanagementuirsc.rsg>
-#include "vpnuiloader.h"
-#include "vpnmanagementuiserversettingscontainer.h"
-#include "vpnmanagementuidefs.h"
-#include "serversettingconnectionsettingitem.h"
-#include "vpnmanagementui.hrh"
-#include "log_vpnmanagementui.h"
-
-
-#ifdef __SERIES60_HELP
-#include <csxhelp/vpn.hlp.hrh> // for help context of VPN Management UI
-#endif //__SERIES60_HELP
-
-using namespace CMManager;
-
-// ================= MEMBER FUNCTIONS =======================
-
-CServerSettingsContainer* CServerSettingsContainer::NewL(
-    CVpnUiLoader& aLoader, TInt aServerIndex )
-    {
-    CServerSettingsContainer* self = new(ELeave) CServerSettingsContainer(
-        aLoader, aServerIndex );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CServerSettingsContainer::CServerSettingsContainer()
-// ---------------------------------------------------------
-//
-CServerSettingsContainer::CServerSettingsContainer(
-    CVpnUiLoader& aLoader, TInt aServerIndex )
-    :iLoader(aLoader), iServerIndex(aServerIndex)
-    {
-    ASSERT(aServerIndex >= KErrNotFound);
-	}
-
-// ---------------------------------------------------------
-// CServerSettingsContainer::~CServerSettingsContainer()
-// Destructor
-// ---------------------------------------------------------
-//
-CServerSettingsContainer::~CServerSettingsContainer()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CreateSettingItemL
-// ---------------------------------------------------------------------------
-//
-CAknSettingItem* CServerSettingsContainer::CreateSettingItemL( 
-    TInt aSettingId )
-    {
-    CAknSettingItem* settingItem(NULL);
-    
-    switch (aSettingId)
-        {
-        case EVpnUiSettingServerName:
-            settingItem = new (ELeave) CAknTextSettingItem(
-                aSettingId, iServerDetails.iServerNameLocal );
-            break;
-        case EVpnUiSettingServerAddress:
-            if (iServerDetails.iServerUrl.Length() > 0)
-                {                
-                iServerAddressBuffer.Copy(iServerDetails.iServerUrl);
-                }
-            settingItem = new (ELeave) CAknTextSettingItem(
-                aSettingId, iServerAddressBuffer );
-            break;
-        case EVpnUiSettingIap:              
-            if ( iServerDetails.iSelection.iId <1 )
-                {
-                 RCmManagerExt cmManagerExt;
-                 cmManagerExt.OpenL();        
-                 CleanupClosePushL( cmManagerExt );     
-
-                 //Makes sure that Internet Destination Exists
-                 RArray<TUint32> destinationArray;    
-                 cmManagerExt.AllDestinationsL( destinationArray );
-                 CleanupClosePushL(destinationArray);    
-                            
-                 TUint32 internetDestinationId = 0;
-                 for (TInt i = 0; i < destinationArray.Count(); ++i)
-                     {
-                      RCmDestinationExt destination = cmManagerExt.DestinationL( destinationArray[i] );
-                      CleanupClosePushL(destination);
-                            
-                      TUint32 purposeMetaData = destination.MetadataL( ESnapMetadataPurpose );
-                      if ( ESnapPurposeInternet ==  purposeMetaData )
-                           {
-                            internetDestinationId = destinationArray[i];
-                            CleanupStack::PopAndDestroy(); //destination
-                            break;
-                           }                
-                      CleanupStack::PopAndDestroy(); //destination
-                      }
-                              
-                iServerDetails.iSelection.iId = internetDestinationId;
-                
-                iServerDetails.iSelection.iResult=EDestination;
-                
-                
-                settingItem = new (ELeave) CServerSettingConnectionSettingItem(
-                        aSettingId, iServerDetails.iSelection);
-                CleanupStack::PopAndDestroy(2); //destinationArray,cmManagerExt
-                
-                }
-            else
-                settingItem = new (ELeave) CServerSettingConnectionSettingItem(
-                        aSettingId, iServerDetails.iSelection);
-            break;
-        default:
-            // Do nothing
-            break;
-            }
-   
-    return settingItem;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CServerSettingsContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CServerSettingsContainer::ConstructL()
-    {
-	// Server settings view sets iServerIndex to -1 when creating a new 
-	// server
-	if ( iServerIndex >= 0 )
-	    {
-	    iLoader.VpnApiWrapperL().GetServerDetailsL( iServerDetails );
-	    UpdateTitleL( iServerDetails.iServerNameLocal );    
-	    }    
-	ConstructFromResourceL(R_VPN_SERVER_SETTING_LIST);	
-	CAknSettingItem* item = SettingItemArray()->At(EVpnUiSettingIap); 
-	
-	using namespace CMManager;
-	    
-	RCmManagerExt cmManagerExt;
-	cmManagerExt.OpenL();        
-	CleanupClosePushL( cmManagerExt );     
-
-	//Makes sure that Internet Destination Exists
-	RArray<TUint32> destinationArray;    
-	cmManagerExt.AllDestinationsL( destinationArray );
-	CleanupClosePushL(destinationArray);    
-	TBool internetIapExist=EFalse;       
-	TUint32 internetDestinationId = 0;
-	for (TInt i = 0; i < destinationArray.Count(); ++i)
-	        {
-	        RCmDestinationExt destination = cmManagerExt.DestinationL( destinationArray[i] );
-	        CleanupClosePushL(destination);
-	        
-	        TUint32 purposeMetaData = destination.MetadataL( ESnapMetadataPurpose );
-	        if ( ESnapPurposeInternet ==  purposeMetaData )
-	            {
-	            internetDestinationId = destinationArray[i];
-	            CleanupStack::PopAndDestroy(); //destination
-	            internetIapExist=ETrue;
-	            break;
-	            }                
-	        CleanupStack::PopAndDestroy(); //destination
-	        }
-	
-	if ( internetIapExist != EFalse)
-	    {
-        HBufC* defaultConn = GetDestinationNameL(internetDestinationId);
-        CleanupStack::PushL(defaultConn);
-        item->SetEmptyItemTextL(*defaultConn);
-        item->LoadL();
-        item->UpdateListBoxTextL();
-        CleanupStack::PopAndDestroy(defaultConn); 
-	    }
-	
-	CleanupStack::PopAndDestroy(); //destinationArray 
-	CleanupStack::PopAndDestroy(); //cmManagerExt 
-	}
-	
-	
-// ---------------------------------------------------------------------------
-// UpdateTitleL
-// ---------------------------------------------------------------------------
-//
-void CServerSettingsContainer::UpdateTitleL( TDes& aText )
-    {
-    iLoader.ActivateTitleL(KViewTitleParametersView,aText);
-    } 
-
-
-void CServerSettingsContainer::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
-    {
-    switch(aEventType)
-        {
-        case EEventEnterKeyPressed: 
-        case EEventItemSingleClicked:
-            ChangeSettingValueL();            
-            break;
-        default:
-            CAknSettingItemList::HandleListBoxEventL(aListBox, aEventType);
-        }    
-    }
-
-
-// ---------------------------------------------------------------------------
-// ChangeSettingValueL
-// ---------------------------------------------------------------------------
-//
-void CServerSettingsContainer::ChangeSettingValueL()
-    {
-  
-    TInt currentItem( ListBox()->CurrentItemIndex() );
-           
-    switch(currentItem)
-        {        
-        case EVpnUiSettingServerName:
-            {
-            EditItemL(EVpnUiSettingServerName, ETrue);   
-            SettingItemArray()->At(EVpnUiSettingServerName)->StoreL(); 
-            }
-            if (iServerDetails.iServerNameLocal.Length() > 0)
-            {                
-            UpdateTitleL( iServerDetails.iServerNameLocal );
-            }
-            
-            break;            
-        case EVpnUiSettingServerAddress:
-            {
-            EditItemL(EVpnUiSettingServerAddress, ETrue);    
-            }
-            break;
-        case EVpnUiSettingIap:
-            {
-            EditItemL(EVpnUiSettingIap, ETrue);    
-            }
-            break;
-        default:            
-            User::Invariant();
-            break;
-        }
-    }
-
-
-
-const TAgileProvisionApiServerSettings& CServerSettingsContainer::ServerDetailsL()
-    {
-    StoreSettingsL();
-    if (iServerAddressBuffer.Length() > 0)
-        {
-        iServerDetails.iServerUrl.Copy(iServerAddressBuffer);
-        }
-
-    //If server name is left empty, but we have an address,
-    //set address as a server name.        
-    if (iServerDetails.iServerNameLocal.Length() == 0 &&
-        iServerDetails.iServerUrl.Length() > 0)
-        {         
-
-        //If the address is already in use as server name, generate
-        //a new unique name.                
-        TUint16 i = 1;
-            static const TInt KSuffixLength = 10;
-            _LIT(KSuffixFormat, "(%d)");
-                        
-            TBuf<KSuffixLength> suffix;                            
-            suffix.Zero();
-            if (i > 1)
-                {
-                suffix.Format(KSuffixFormat, i);                
-                }
-            i++;
-            
-            //First assumes that the address is too long to fit
-            TInt numberOfCharactersCopiedFromAddress =
-                          iServerDetails.iServerNameLocal.MaxLength() - suffix.Length();         
-
-            //If this is not the case adjust the length                           
-            if (numberOfCharactersCopiedFromAddress > iServerDetails.iServerUrl.Length())
-                {
-                numberOfCharactersCopiedFromAddress = iServerDetails.iServerUrl.Length();
-                }
-            
-            TPtrC8 serverNameAddress = iServerDetails.iServerUrl.Left(numberOfCharactersCopiedFromAddress);
-            iServerDetails.iServerNameLocal.Copy(serverNameAddress);             
-            iServerDetails.iServerNameLocal.Append(suffix);                                                             
-   
-        CAknSettingItem* item = SettingItemArray()->At(EVpnUiSettingServerName); 
-        
-        item->LoadL();
-        item->UpdateListBoxTextL();        
-        }
-    return iServerDetails;
-    }
-
-
-// ---------------------------------------------------------------------------
-// GetIapNameL
-// ---------------------------------------------------------------------------
-//
-HBufC* CServerSettingsContainer::GetDestinationNameL( TUint aId )
-	{
-    RCmManagerExt cmManager;    
-	cmManager.OpenLC();
-	RCmDestinationExt dest = cmManager.DestinationL( aId );
-	CleanupClosePushL( dest );
-	HBufC* name = dest.NameLC();   
-	CleanupStack::Pop(name);
-	CleanupStack::PopAndDestroy( 2 ); // dest, cmManager
-	return name;
-	}
-
-
-HBufC* CServerSettingsContainer::GetConnectionMethodNameL( TUint aId )
-	{
-	RCmManagerExt cmManager;    
-	cmManager.OpenLC();
-	RCmConnectionMethodExt conn = cmManager.ConnectionMethodL( aId );
-	CleanupClosePushL( conn );	
-	HBufC* name = conn.GetStringAttributeL( ECmName );
-	CleanupStack::PopAndDestroy( 2 ); // conn, cmManager
-	return name;
-	}
-
-
-TInt CServerSettingsContainer::ServerIndex() const
-    {
-    return iServerIndex;
-    }
-
-
-// ---------------------------------------------------------
-// CServerSettingsContainer::GetHelpContext
-// ---------------------------------------------------------
-
-#ifdef __SERIES60_HELP
-void CServerSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	aContext.iMajor = KUidVpnManagementUi;
-    aContext.iContext = KSET_HLP_VPN_POLICY_SERVER_SET;
-    }
-#endif //__SERIES60_HELP
-
-
-// End of File