dbgsrv/coredumpserver/ui/coredumpui/src/coredumpuiappui.cpp
changeset 0 c6b0df440bee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbgsrv/coredumpserver/ui/coredumpui/src/coredumpuiappui.cpp	Tue Mar 02 10:33:16 2010 +0530
@@ -0,0 +1,143 @@
+// Copyright (c) 2007-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 "coredumpui.h"
+#include <coredumpui.rsg>
+#include "coredumpuinotifier.h"
+
+#include "coredumpcdsdialog.h"
+#include "coredumpscmdialog.h"
+
+void CResourceAppUi::ConstructL()
+{
+	BaseConstructL();
+	iListBoxView = CResourceView::NewL(ClientRect(), this);
+    iCrashNotifier = CCrashNotifier::NewL(*iListBoxView);
+	//construct a default view
+	HandleCommandL(EResourceMenu1Item0);
+}
+
+CResourceAppUi::~CResourceAppUi()
+{
+    delete iCrashNotifier;
+	delete iListBoxView;
+}
+
+void CResourceAppUi::HandleCommandL(TInt aCommand)
+{
+	LOG_MSG("->[UI]CResourceAppUi::HandleCommandL(TInt aCommand)");
+	// Increase this threads priority for a proper snapshot
+	RThread thisThread;
+	thisThread.SetPriority(EPriorityAbsoluteHigh);
+	thisThread.Close();
+
+	TObjectsViewed objectViewed = EObjectNone;
+
+	switch (aCommand)
+		{	
+		// Menu 1	
+		case EResourceMenu1Item0:
+			{
+			objectViewed = EObjectProcess;
+			break;
+			}
+		case EResourceMenu1Item1:
+			{
+			objectViewed = EObjectThread;
+			break;
+			}
+		case EResourceMenu1Item2:
+			{
+			objectViewed = EObjectPlugin;
+			break;
+			}
+		case EResourceMenu1Executables:
+			{
+			objectViewed = EObjectExecutable;
+			break;
+			}
+		case EResourceMenu1PluginInstances:
+			{
+			objectViewed = EObjectPluginInstance;
+			break;
+			}
+		// Menu 2
+		case EResMenu2ConfCDS:
+			{
+			SetCDSL();
+			break;
+			}
+		case EResMenu2ConfSCM:
+			{
+			SetSCM();
+			break;
+			}
+		case EResMenu2CancelCrash:
+			{
+			CancelCrashL();
+			break;
+			}
+			
+		//Flash Menu
+		case EResMenu3ListCrashes:
+			{
+			objectViewed = EObjectCrashList;
+			break;
+			}
+		case EEikCmdExit: // necessary for uninstalling
+			{
+			Exit();
+			break;
+			}
+		default:
+			{
+			break;
+			}
+		}
+
+	// Set view data
+	if (objectViewed != EObjectNone)
+	{
+		iListBoxView->SetCurrentObjects(objectViewed);
+		iListBoxView->UpdateViewL();
+	}
+
+	// ResetPriority
+	RThread thisThread2;
+	thisThread2.SetPriority(EPriorityNormal);
+	thisThread2.Close();
+
+}
+
+void CResourceAppUi::CancelCrashL()
+    {
+    LOG_MSG("->CResourceAppUI::CancelCrashL()");
+    User::LeaveIfError(RProperty::Set(KCoreDumpServUid, ECancelCrash, ETrue));
+    }
+
+void CResourceAppUi::SetCDSL()
+	{
+	CConfigureCDSDialog* dialog = new(ELeave) CConfigureCDSDialog(iListBoxView->CoreDumpInterface());	
+	dialog->ExecuteLD(R_CONFIGURE_CDS_DIALOG);
+	}
+
+
+void CResourceAppUi::SetSCM()
+	{
+	CConfigureSCMDialog* dialog = new (ELeave) CConfigureSCMDialog(iListBoxView->CoreDumpInterface());	
+	dialog->ExecuteLD(R_CONFIGURE_SCM_DIALOG);
+	}
+