memana/analyzetoolclient/configurationappgui/src/atconfigurationappguilistboxview.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/memana/analyzetoolclient/configurationappgui/src/atconfigurationappguilistboxview.cpp Thu Feb 11 15:51:35 2010 +0200
@@ -0,0 +1,575 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+#include <aknviewappui.h>
+#include <eikmenub.h>
+#include <avkon.hrh>
+#include <barsread.h>
+#include <stringloader.h>
+#include <aknlists.h>
+#include <eikenv.h>
+#include <akniconarray.h>
+#include <eikclbd.h>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <eikbtgpc.h>
+#include <atconfigurationappgui.rsg>
+#include <aknmessagequerydialog.h>
+#include <aknnotewrappers.h>
+#include <apgtask.h>
+
+#include "atconfigurationappgui.hrh"
+#include "atconfigurationappguilistboxview.h"
+#include "atconfigurationappguilistbox.hrh"
+#include "atconfigurationappguilistbox.h"
+#include "atconfigurationappguiappui.h"
+#include "atlog.h"
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::CATConfigurationAppGuiListBoxView()
+// First phase of Symbian two-phase construction.
+// -----------------------------------------------------------------------------
+//
+CATConfigurationAppGuiListBoxView::CATConfigurationAppGuiListBoxView()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::CATConfigurationAppGuiListBoxView()" );
+
+ iATConfigurationAppGuiListBox = NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::~CATConfigurationAppGuiListBoxView()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CATConfigurationAppGuiListBoxView::~CATConfigurationAppGuiListBoxView()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::~CATConfigurationAppGuiListBoxView()" );
+
+ delete iATConfigurationAppGuiListBox;
+ iATConfigurationAppGuiListBox = NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::NewL()
+// Symbian two-phase constructor.
+// -----------------------------------------------------------------------------
+//
+CATConfigurationAppGuiListBoxView* CATConfigurationAppGuiListBoxView::NewL()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::NewL()" );
+
+ CATConfigurationAppGuiListBoxView* self = CATConfigurationAppGuiListBoxView::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::NewLC()
+// Symbian two-phase constructor.
+// -----------------------------------------------------------------------------
+//
+CATConfigurationAppGuiListBoxView* CATConfigurationAppGuiListBoxView::NewLC()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::NewLC()" );
+
+ CATConfigurationAppGuiListBoxView* self = new ( ELeave ) CATConfigurationAppGuiListBoxView();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::ConstructL()
+// Second-phase constructor for view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::ConstructL()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::ConstructL()" );
+
+ BaseConstructL( R_ATCONFIGURATION_APP_GUI_LIST_BOX_ATCONFIGURATION_APP_GUI_LIST_BOX_VIEW );
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::Id()
+// Returns The UID for this view.
+// -----------------------------------------------------------------------------
+//
+TUid CATConfigurationAppGuiListBoxView::Id() const
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::Id()" );
+
+ return TUid::Uid( EATConfigurationAppGuiListBoxViewId );
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::HandleCommandL()
+// Handle a command for this view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::HandleCommandL( TInt aCommand )
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::HandleCommandL()" );
+
+ TBool commandHandled = EFalse;
+ switch ( aCommand )
+ { // Code to dispatch to the AknView's menu and CBA commands is generated here
+ case EATConfigurationAppGuiListBoxViewVersionMenuItemCommand:
+ commandHandled = HandleVersionMenuItemSelectedL( aCommand );
+ break;
+ case EATConfigurationAppGuiListBoxViewDetailsMenuItemCommand:
+ {
+ // Listbox items are in the same order as in storage server
+ // thus using current index
+ if ( iATConfigurationAppGuiListBox )
+ {
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ TUint processId = processes[ current ].iProcessId;
+ TInt64 processStartTime = processes[ current ].iStartTime;
+ appUi->SetCurrentProcessId( processId );
+ appUi->SetCurrentProcessStartTime( processStartTime );
+ AppUi()->ActivateLocalViewL( TUid::Uid( EATConfigurationAppGuiProcessViewId ) );
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+ break;
+ }
+ /*case EATConfigurationAppGuiListBoxViewEnd_processMenuItemCommand:
+ {
+ EndProcessL( EATConfigurationAppGuiListBoxViewEndTaskMenuItemCommand );
+ break;
+ }*/
+ case EATConfigurationAppGuiListBoxViewEndTaskMenuItemCommand:
+ {
+ EndProcessL( EATConfigurationAppGuiListBoxViewEndTaskMenuItemCommand );
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewKillProcessMenuItemCommand:
+ {
+ EndProcessL( EATConfigurationAppGuiListBoxViewKillProcessMenuItemCommand );
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewTerminateProcessMenuItemCommand:
+ {
+ EndProcessL( EATConfigurationAppGuiListBoxViewTerminateProcessMenuItemCommand );
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewPanicProcessMenuItemCommand:
+ {
+ EndProcessL( EATConfigurationAppGuiListBoxViewPanicProcessMenuItemCommand );
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewCancel_loggingMenuItemCommand:
+ {
+ // Listbox items are in the same order as in storage server
+ // thus using current index
+ if ( iATConfigurationAppGuiListBox )
+ {
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ TUint processId = processes[ current ].iProcessId;
+ // Stop subtesting for this process
+ //if ( appUi->IsSubTestRunning( processId ) )
+ //appUi->SetProcessSubTestStopL( processId );
+
+ TInt cancelErr = appUi->StorageServer().CancelLogging( processId );
+ if ( cancelErr != KErrNone )
+ {
+ // Logging could not be cancelled
+ appUi->ShowErrorNoteL( R_ATCONFIGURATION_APP_GUI_LISTBOX_CANCEL_FAILURE_NOTE );
+ }
+ else
+ {
+ iATConfigurationAppGuiListBox->UpdateViewL();
+ }
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewLog_settingMenuItemCommand:
+ {
+ AppUi()->ActivateLocalViewL( TUid::Uid( EATConfigurationAppGuiSettingItemListViewId ),
+ TUid::Uid( EATConfigurationAppGuiListBoxViewId ), KNullDesC8 );
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewStart_subtestMenuItemCommand:
+ {
+ if ( iATConfigurationAppGuiListBox )
+ {
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ TUint processId = processes[ current ].iProcessId;
+ appUi->SetProcessSubTestStartL( processId );
+ iATConfigurationAppGuiListBox->UpdateViewL();
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+ break;
+ }
+ case EATConfigurationAppGuiListBoxViewStop_subtestMenuItemCommand:
+ {
+ if ( iATConfigurationAppGuiListBox )
+ {
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ TUint processId = processes[ current ].iProcessId;
+ appUi->SetProcessSubTestStopL( processId );
+ iATConfigurationAppGuiListBox->UpdateViewL();
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+ break;
+ }
+ default:
+ break;
+ }
+
+ if ( !commandHandled )
+ {
+
+ if ( aCommand == EAknSoftkeyExit || aCommand == EAknSoftkeyExit )
+ {
+ AppUi()->HandleCommandL( EEikCmdExit );
+ }
+
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::DoActivateL()
+// Handles user actions during activation of the view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::DoActivateL(
+ const TVwsViewId& /*aPrevViewId*/,
+ TUid /*aCustomMessageId*/,
+ const TDesC8& /*aCustomMessage*/ )
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::DoActivateL()" );
+
+ SetupStatusPaneL();
+
+ if ( iATConfigurationAppGuiListBox == NULL )
+ {
+ iATConfigurationAppGuiListBox = CreateContainerL();
+ iATConfigurationAppGuiListBox->SetMopParent( this );
+ AppUi()->AddToStackL( *this, iATConfigurationAppGuiListBox );
+ // For supporting MSK context menu
+ MenuBar()->SetContextMenuTitleResourceId( R_ATCONFIGURATION_APP_GUI_LIST_BOX_OPTIONS_MENU );
+ // Start update timer
+ ( (CATConfigurationAppGuiAppUi*)AppUi() )->StartTimerL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::DoDeactivate()
+// Handles user actions during deactivation of the view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::DoDeactivate()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::DoDeactivate()" );
+
+ CleanupStatusPane();
+
+ if ( iATConfigurationAppGuiListBox != NULL )
+ {
+ // Cancel timer events
+ TRAP_IGNORE( ( (CATConfigurationAppGuiAppUi*)AppUi() )->TimerNotifyL( EFalse ) );
+ AppUi()->RemoveFromViewStack( *this, iATConfigurationAppGuiListBox );
+ delete iATConfigurationAppGuiListBox;
+ iATConfigurationAppGuiListBox = NULL;
+ }
+ CleanupStatusPane();
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::DynInitMenuPaneL()
+// Handles dynamical menu item dimming.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::DynInitMenuPaneL( TInt aResourceId,
+ CEikMenuPane* aMenuPane )
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::DynInitMenuPaneL()" );
+
+ if ( R_ATCONFIGURATION_APP_GUI_LIST_BOX_MENU_PANE1_MENU_PANE == aResourceId )
+ {
+ if( iATConfigurationAppGuiListBox->GetCurrentItemIndex() < 0 )
+ {
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewDetailsMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStart_subtestMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStop_subtestMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewEnd_processMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewLog_settingMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewHelpMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewCancel_loggingMenuItemCommand, ETrue );
+ }
+ else
+ {
+ TInt subTest( KErrNotFound );
+ TATLogOption loggingMode = EATUseDefault;//lint !e644
+ if ( iATConfigurationAppGuiListBox )
+ {
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ TUint processId = processes[ current ].iProcessId;
+ subTest = appUi->IsSubTestRunning( processId );
+ // Get logging mode
+ appUi->StorageServer().GetLoggingModeL( processId, loggingMode );
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+ if ( subTest > KErrNotFound )
+ {
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStart_subtestMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStop_subtestMenuItemCommand, EFalse );
+ }
+ else
+ {
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStart_subtestMenuItemCommand, EFalse );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStop_subtestMenuItemCommand, ETrue );
+ }
+
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewDetailsMenuItemCommand, EFalse );
+
+ if ( loggingMode == EATLoggingOff )
+ {
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewCancel_loggingMenuItemCommand, ETrue );
+ // Logging cancelled -> hide necessary items
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewDetailsMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStart_subtestMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewStop_subtestMenuItemCommand, ETrue );
+ }
+ else
+ {
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewCancel_loggingMenuItemCommand, EFalse );
+ }
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewLog_settingMenuItemCommand, ETrue );
+ aMenuPane->SetItemDimmed( EATConfigurationAppGuiListBoxViewHelpMenuItemCommand, ETrue );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::HandleStatusPaneSizeChange()
+// Handle status pane size change for this view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::HandleStatusPaneSizeChange()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::HandleStatusPaneSizeChange()" );
+
+ CAknView::HandleStatusPaneSizeChange();
+
+ // This may fail, but we're not able to propagate exceptions here
+ TInt result;
+ TRAP( result, SetupStatusPaneL() );
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::SetupStatusPaneL()
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::SetupStatusPaneL()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::SetupStatusPaneL()" );
+
+ // Reset the context pane
+ TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext );
+ CEikStatusPaneBase::TPaneCapabilities subPaneContext =
+ StatusPane()->PaneCapabilities( contextPaneUid );
+ if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() )
+ {
+ CAknContextPane* context = static_cast< CAknContextPane* > (
+ StatusPane()->ControlL( contextPaneUid ) );
+ context->SetPictureToDefaultL();
+ }
+
+ // Setup the title pane
+ TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
+ CEikStatusPaneBase::TPaneCapabilities subPaneTitle =
+ StatusPane()->PaneCapabilities( titlePaneUid );
+ if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
+ {
+ CAknTitlePane* title = static_cast< CAknTitlePane* >(
+ StatusPane()->ControlL( titlePaneUid ) );
+ TResourceReader reader;
+ iEikonEnv->CreateResourceReaderLC( reader, R_ATCONFIGURATION_APP_GUI_LIST_BOX_TITLE_RESOURCE );
+ title->SetFromResourceL( reader );
+ CleanupStack::PopAndDestroy(); // reader internal state
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::CleanupStatusPane()
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::CleanupStatusPane()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::CleanupStatusPane()" );
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::CreateContainerL()
+// Creates the top-level container for the view.
+// -----------------------------------------------------------------------------
+//
+CATConfigurationAppGuiListBox* CATConfigurationAppGuiListBoxView::CreateContainerL()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::CreateContainerL()" );
+
+ return CATConfigurationAppGuiListBox::NewL( ClientRect(), this, this );
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::HandleVersionMenuItemSelectedL()
+// Shows About dialog of the application.
+// -----------------------------------------------------------------------------
+//
+TBool CATConfigurationAppGuiListBoxView::HandleVersionMenuItemSelectedL(
+ TInt /*aCommand*/ )
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::HandleVersionMenuItemSelectedL()" );
+ CAknMessageQueryDialog* dlg = new (ELeave) CAknMessageQueryDialog;
+ dlg->ExecuteLD( R_ABOUT_HEADING_PANE );
+
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::UpdateViewL()
+// Updates view.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::UpdateViewL()
+ {
+ LOGSTR1( "ATCU CATConfigurationAppGuiListBoxView::UpdateViewL()" );
+
+ if ( iATConfigurationAppGuiListBox )
+ {
+ iATConfigurationAppGuiListBox->UpdateViewL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CATConfigurationAppGuiListBoxView::EndProcessL()
+// Ends process with a specific method.
+// -----------------------------------------------------------------------------
+//
+void CATConfigurationAppGuiListBoxView::EndProcessL( TInt aCommand )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL" );
+
+ TInt current = iATConfigurationAppGuiListBox->GetCurrentItemIndex();
+ RArray<TATProcessInfo> processes;
+ CATConfigurationAppGuiAppUi* appUi = ( CATConfigurationAppGuiAppUi* )AppUi();
+ appUi->StorageServer().GetProcessesL( processes );
+ if ( current >= KErrNone && current < processes.Count() )
+ {
+ RProcess endProcess;
+ TUint processId = processes[ current ].iProcessId;
+ TBuf<KMaxProcessName> processName;
+ processName.Copy( processes[ current ].iProcessName );
+ TInt find = processName.Find( _L( "." ) );
+ if ( find > KErrNotFound )
+ processName.Delete( find, processName.Length() - find );
+
+ TInt openErr = endProcess.Open( TProcessId( processId ) );
+ if ( openErr ==KErrNone )
+ {
+ if ( aCommand == EATConfigurationAppGuiListBoxViewEndTaskMenuItemCommand )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL - end task" );
+ endProcess.Close();
+
+ TApaTaskList apList = TApaTaskList( iEikonEnv->WsSession() );
+ TApaTask apTask = apList.FindApp( processName );
+ if ( apTask.Exists() )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL - task exists -> end" );
+ apTask.EndTask();
+ }
+ else
+ {
+ _LIT( KAppNotExist, "Could not end this process!" );
+ CAknErrorNote* note = new ( ELeave ) CAknErrorNote();
+ note->SetTextL( KAppNotExist() );
+ note->ExecuteLD();
+ }
+ }
+ else if ( aCommand == EATConfigurationAppGuiListBoxViewKillProcessMenuItemCommand )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL - kill process" );
+ endProcess.Kill( KErrNone );
+ endProcess.Close();
+ }
+ else if ( aCommand == EATConfigurationAppGuiListBoxViewTerminateProcessMenuItemCommand )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL - terminate process" );
+ endProcess.Terminate( KErrNone );
+ endProcess.Close();
+ }
+ else if ( aCommand == EATConfigurationAppGuiListBoxViewPanicProcessMenuItemCommand )
+ {
+ LOGSTR1( "CATConfigurationAppGuiListBoxView::EndProcessL - panic process" );
+ _LIT( KPanicTxt, "Panic");
+ endProcess.Panic( KPanicTxt, KErrNone );
+ endProcess.Close();
+ }
+ }
+ else
+ {
+ CAknErrorNote* errorNote = new ( ELeave ) CAknErrorNote();
+ _LIT( KErrTxt, "Could not open the process!");
+ errorNote->SetTextL( KErrTxt );
+ errorNote->ExecuteLD();
+ }
+ }
+ // Closes the array and frees all memory allocated to the array.
+ processes.Close();
+ }
+
+// End of File