cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpvpnpolicyselectiondlg.cpp
changeset 20 9c97ad6591ae
parent 18 fcbbe021d614
child 21 b8e8e15e80f2
child 23 7ec726f93df1
child 28 860702281757
--- a/cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpvpnpolicyselectiondlg.cpp	Fri Apr 16 15:21:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Displays a radio button selection list of VPN policies
-*
-*/
-
-
-// includes
-#include <aknPopup.h>
-// #include <vpnapidefs.h>
-#include <aknlists.h>
-#include <cmmanager.rsg>
-#include <cmpluginvpnui.rsg>
-#include <cmcommonui.h>
-#include <cmpluginbaseeng.h>
-#include <StringLoader.h>
-#include <data_caging_path_literals.hrh>
-#include <aknradiobuttonsettingpage.h>
-
-#include "cmlogger.h"
-#include "cmpvpnpolicyselectiondlg.h"
-#include "cmvpncommonconstants.h"
-#include <cmpluginvpndef.h>
-#include <cmcommonconstants.h>
-
-using namespace CMManager;
-
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::NewL
-// ----------------------------------------------------------------------------
-//
-CmPluginVpnPolicySelectionDlg* CmPluginVpnPolicySelectionDlg::NewL( 
-                                        CCmPluginBaseEng& aCmPluginBaseEng )
-    {
-    CmPluginVpnPolicySelectionDlg* self = 
-            new ( ELeave ) CmPluginVpnPolicySelectionDlg( aCmPluginBaseEng );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::~CmPluginVpnPolicySelectionDlg
-// ----------------------------------------------------------------------------
-//
-CmPluginVpnPolicySelectionDlg::~CmPluginVpnPolicySelectionDlg()
-    {
-
-    iVpnServ.Close();
-
-    delete iPolicyInfoList;
-
-    iResourceReader.Close();
-    }
-    
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::CmPluginVpnPolicySelectionDlg
-// ----------------------------------------------------------------------------
-//
-CmPluginVpnPolicySelectionDlg::CmPluginVpnPolicySelectionDlg(
-                        CCmPluginBaseEng& aCmPluginBaseEng )
-    : iCmPluginBaseEng( aCmPluginBaseEng )
-    , iResourceReader( *CCoeEnv::Static() )
-    , iVpnClientUnaccessible ( EFalse )
-    {
-    }
-    
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CmPluginVpnPolicySelectionDlg::ConstructL()
-    {
-    LoadResourceL( KPluginVPNResDirAndFileName );
-    
-    // Get the policies
-    iPolicyInfoList = 
-        new (ELeave) CArrayFixFlat<TVpnPolicyInfo>( KCmArrayMediumGranularity );
-    
-    TInt err( iVpnServ.Connect() );
-    
-    // Vpn client is inaccessible
-    if ( err )
-        {
-        VpnClientInaccessibleL();
-        }
-    else
-        {
-        iVpnServ.GetPolicyInfoList( iPolicyInfoList );        
-        iVpnServ.EnumeratePolicies( iNumPolicies );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::LoadResourceL
-// ----------------------------------------------------------------------------
-//
-void CmPluginVpnPolicySelectionDlg::LoadResourceL( const TDesC& aResFileName )
-    {
-    TInt err( KErrNone );
-    
-    // Add resource file.
-    TParse* fp = new ( ELeave ) TParse();
-    err = fp->Set( aResFileName, 
-                        &KDC_RESOURCE_FILES_DIR, 
-                        NULL ); 
-    if ( err )
-        {
-        User::Leave( err );
-        }   
-
-    TFileName resourceFileNameBuf = fp->FullName();
-    delete fp;
-
-    iResourceReader.OpenL( resourceFileNameBuf );
-    }
-
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::ShowPolicySelectionListL
-// ----------------------------------------------------------------------------
-//
-TBool CmPluginVpnPolicySelectionDlg::ShowPolicySelectionListL()
-    {
-    LOGGER_ENTERFN( "CmPluginVpnPolicySelectionDlg::ShowPolicySelectionListL" );
-    TBool retVal ( EFalse );
-    
-    CEikTextListBox* list = new ( ELeave ) CAknSinglePopupMenuStyleListBox;
-    CleanupStack::PushL( list );
-             
-    // Create popup list
-    CAknPopupList* popupList = CAknPopupList::NewL(
-                                       list, 
-                                       R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT,
-                                       AknPopupLayouts::EMenuWindow);
-    CleanupStack::PushL( popupList );
-
-    // initialise listbox.
-    list->ConstructL(popupList, CEikListBox::ELeftDownInViewRect);
-    list->CreateScrollBarFrameL( ETrue );
-    list->ScrollBarFrame()->SetScrollBarVisibilityL(
-                               CEikScrollBarFrame::EOff,
-                               CEikScrollBarFrame::EAuto);
-
-
-    MDesCArray* itemList = list->Model()->ItemTextArray();
-	CDesCArray* items = ( CDesCArray* ) itemList;	
-	
-    // collect the item texts    
-    if ( iNumPolicies )
-        {
-        for ( TInt i = 0; i < iNumPolicies; i++ )
-            {
-            HBufC* polName = ( iPolicyInfoList->At(i) ).iName.AllocLC();
-            items->AppendL( *polName );
-            CleanupStack::PopAndDestroy( polName );
-            }
-        
-        // title
-        HBufC* title = StringLoader::LoadLC( R_QTN_NETW_CONSET_PRMPT_VPN_POLICY );
-        popupList->SetTitleL( *title );
-        CleanupStack::PopAndDestroy( title );
-        
-        // dislay dialog
-        CleanupStack::Pop( popupList );
-        if ( popupList->ExecuteLD() )
-            {
-            TInt ix = list->CurrentItemIndex();
-            
-            // Set VPN Policy to be used
-            HBufC* polName = ( iPolicyInfoList->At(ix) ).iName.AllocLC();
-            HBufC* polId = ( iPolicyInfoList->At(ix) ).iId.AllocLC();
-            
-            CLOG_WRITE_2( "New policy settings:[%S], [%S]", polName, polId );
-
-            iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicyName, *polName );
-            iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicy, *polId );
-            CleanupStack::PopAndDestroy( polId );
-            CleanupStack::PopAndDestroy( polName );
-            
-            retVal = ETrue;
-            }
-        }
-    else
-        {
-        if (!iVpnClientUnaccessible)
-        	{
-        	// display error note
-        	HBufC* text = StringLoader::LoadLC( R_QTN_VPN_INFO_NO_POLICIES_INSTALLED );
-        	TCmCommonUi::ShowNoteL( *text, TCmCommonUi::ECmInfoNote );
-        	CleanupStack::PopAndDestroy( text );
-        	}
-        CleanupStack::PopAndDestroy( popupList );
-        }
-
-
-	CleanupStack::PopAndDestroy( list );
-    return retVal;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::ShowPolicySelectionDlgL
-// ----------------------------------------------------------------------------
-//
-TBool CmPluginVpnPolicySelectionDlg::ShowPolicySelectionDlgL()
-    {
-    LOGGER_ENTERFN( "CmPluginVpnPolicySelectionDlg::ShowPolicySelectionDlgL" );
-    TBool retVal ( EFalse );
-    
-    TInt selection(0);
-    
-    // Compile the list items
-    CDesCArrayFlat* items = 
-            new ( ELeave ) CDesCArrayFlat( KCmArraySmallGranularity );
-    CleanupStack::PushL( items );
-    
-    TInt vpnerr;
-    vpnerr = iVpnServ.EnumeratePolicies( iNumPolicies );
-    
-    if ( vpnerr )
-        {
-        VpnClientInaccessibleL();
-        }
-    else
-        {        
-        if ( iNumPolicies )
-            {
-            vpnerr = iVpnServ.GetPolicyInfoList( iPolicyInfoList );
-            if ( vpnerr == 0 )
-                {
-                for ( TInt i = 0; i < iNumPolicies; i++ )
-                    {
-                    HBufC* policyName = 
-                            ( iPolicyInfoList->At(i) ).iName.AllocLC();
-                    
-                            
-                    // indicate if this policy is the one in the settings
-                    HBufC* val = iCmPluginBaseEng.GetStringAttributeL( 
-                                                        EVpnServicePolicyName );
-                    
-                    if ( !( val->Compare( policyName->Des() ) ) )
-                        {
-                        selection = i;
-                        }
-                    delete val;
-                    
-                    items->AppendL( *policyName );
-                    CleanupStack::PopAndDestroy( policyName );
-                    }
-                // Create the dialog
-                CAknRadioButtonSettingPage* dlg = 
-                                    new ( ELeave ) CAknRadioButtonSettingPage(
-                                            R_RADIO_BUTTON_SETTING_PAGE_OK_CANCEL,
-                                            selection, 
-                                            items );
-                CleanupStack::PushL( dlg );
-                
-                // set title
-                HBufC* title = StringLoader::LoadLC( 
-                                        R_QTN_VPN_SETT_VPN_IAP_POLICY_REFERENCE );
-                dlg->SetSettingTextL( *title );
-                CleanupStack::PopAndDestroy( title );
-
-                // display dialog
-                CleanupStack::Pop();
-                if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-                    {
-                    HBufC* polId = 
-                            ( iPolicyInfoList->At( selection ) ).iId.AllocLC();
-                    HBufC* polName = 
-                            ( iPolicyInfoList->At( selection ) ).iName.AllocLC();
-                    iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicyName,
-                                                          *polName );
-                    
-                    CLOG_WRITE_2( "New policy settings:[%S], [%S]", polName, polId );
-                    
-                    iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicy, 
-                                                          *polId );
-                    CleanupStack::PopAndDestroy( polName );
-                    CleanupStack::PopAndDestroy( polId );
-                    retVal = ETrue;
-                    }
-                }
-            }
-        else
-            {
-            // note: no VPN policies installed, reset policy to compulsory
-            CLOG_WRITE("No policy installed, reset policies");
-            
-            HBufC* text = StringLoader::LoadLC( 
-                                        R_QTN_VPN_INFO_NO_POLICIES_INSTALLED );
-            TCmCommonUi::ShowNoteL( *text, TCmCommonUi::ECmInfoNote );
-            CleanupStack::PopAndDestroy( text );
-            vpnerr = -1;
-            }
-        }
-
-    if ( vpnerr )
-        {
-        // note: no VPN policies installed or any other vpn error,
-        //  reset policy to compulsory
-        CLOG_WRITE("Reset policies");
-        
-        iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicyName,
-                                              KNullDesC() );
-        iCmPluginBaseEng.SetStringAttributeL( EVpnServicePolicy, 
-                                              KNullDesC() );
-        
-        }
-
-    CleanupStack::PopAndDestroy( items );
-    return retVal;
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CmPluginVpnPolicySelectionDlg::VpnClientInaccessibleL
-// ----------------------------------------------------------------------------
-//
-void CmPluginVpnPolicySelectionDlg::VpnClientInaccessibleL()
-    {
-    LOGGER_ENTERFN( "CmPluginVpnPolicySelectionDlg::VpnClientInaccessibleL" );
-    HBufC* text = StringLoader::LoadLC( R_QTN_VPN_INFO_MGMT_UI_NOT_ACCESSIBLE );
-    TCmCommonUi::ShowNoteL( *text, TCmCommonUi::ECmInfoNote );
-    CleanupStack::PopAndDestroy( text );
-    iVpnClientUnaccessible = ETrue;
-    }