diff -r 000000000000 -r 3ce708148e4d devicediagnostics/devdiagapp/inc/devdiagsuiteview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicediagnostics/devdiagapp/inc/devdiagsuiteview.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,234 @@ +/* +* Copyright (c) 2007 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: Application view class. +* +*/ + + +#ifndef DEVDIAGSUITEVIEW_H +#define DEVDIAGSUITEVIEW_H + +#include "devdiagengineobserver.h" + +#include +#include //TVwsViewId + +class CAknViewAppUi; +class CDevDiagSuiteContainer; +class CDevDiagEngine; +class CDevDiagPluginView; +class CAknWaitDialog; +class CDevDiagExecResults; + +/** +* An instance of the Application View object for the DevDiagApp +* application +* @since 5.0 +**/ +class CDevDiagSuiteView : public CAknView, + public MDevDiagEngineObserver + + { +public: + + /** + * NewL + * + * Create a CDevDiagSuiteView object. + * @param aEngine Diagnostics engine. + * + * @result a pointer to the created instance of CDevDiagSuiteView + **/ + static CDevDiagSuiteView* NewL( CDevDiagEngine& aEngine ); + + /** + * NewLC + * + * Create a CDevDiagSuiteView object. + * @param aEngine Diagnostics engine. + * + * @result a pointer to the created instance of CDevDiagSuiteView + **/ + static CDevDiagSuiteView* NewLC( CDevDiagEngine& aEngine ); + + + /** + * Destructor. + * + * Destroy the object and release all memory objects + **/ + ~CDevDiagSuiteView(); + + +public: //From CAknView + + /** + * From CAknView Handles user commands. + * @since Series 60 3.1 + * @param aCommand The command identifier. + * @return None. + */ + void HandleCommandL( TInt aCommand ); + + /** + * From CAknView. + * Returns views id. + **/ + TUid Id() const; + + +protected: + /** + * From CAknView Activates view. + * @since Series 60 3.1 + * @param aPrevViewId Id of previous view. + * @param aCustomMessageId Custom message id. + * @param aCustomMessage Custom message. + * @return None. + */ + virtual void DoActivateL ( const TVwsViewId &aPrevViewId, + TUid aCustomMessageId, + const TDesC8 &aCustomMessage ); + /** + * From CAknView Deactivates view. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + virtual void DoDeactivate(); + +public: // engine observer + + /** + * From MDevDiagEngineObserver. + **/ + virtual void HandleEngineCommandL( TAppEngineCommand aCommand, + TInt aError, + TAny* aCustom ); + + +private: + + /** + * Change the title of the application. + * @param aResourceId Title text ID. + **/ + void ChangeTitleL(TInt aResourceId); + + /** + * Perform the second phase construction of a CDevDiagSuiteView object + **/ + void ConstructL( ); + + /** + * Perform the first phase of two phase construction + * + * @param aEngine Application model class. + **/ + CDevDiagSuiteView( CDevDiagEngine& aEngine ); + + /** + * Update command buttons. + * @param aResourceId Id to a new command button resource. + **/ + void UpdateCbaL(TInt aResourceId); + + /** + * Display a message query dialog. + * + * @param aResourceId Message query resource ID. + **/ + TBool MessageQueryDialogLaunchL( TInt aResourceId ); + + /** + * Display confirmation dialog. + * + * @param aPassed ETrue if tests were passed, EFalse otherwise. + **/ + void DisplayConfirmationDialogL( TBool aPassed ); + + /** + * Returns ETrue if uid is one of the suite UIDs. + * The suites are hardware,coverage,service, and connectivity. + * + * @param aUid Unique identifier. + * @return ETrue if uid is one of the suite UIDs, EFalse otherwise. + **/ + TBool SuiteUid( TUid aUid ); + + /** + * Search for a test record that crashed when the device diagnostics application + * was running. If a crashed test record is found, figure out what test crashed and + * suggest that the test could be executed again. + **/ + void CheckCrashedTestL(); + + /** + * Display confirmation dialog after successful group execution. + * succesful execution means that all tests have the following result: + * - passed + * - cancelled + * - skipped + **/ + void DisplayConfirmationDialogL(); + + /** + * Displays message query dialog. The dialog lists all tests cases that failed. + **/ + void DisplayMessageQueryDialogFailedResultsL(); + +private: // waiting dialogs + + /** + * Display a non-dismissable generic dialog to inform the user that the + * application is "preparing." + */ + void DisplayWaitDialogPreparingL(); + + /** + * Dismisses the wait dialog + */ + void DismissWaitDialogPreparingL(); + + /** + * Create result texts for failed test cases. + * + * @param aExecResults Execution results. + * @return New heap descriptor. Caller owns the descriptor. + **/ + HBufC* CreateResultsTextsForFailedTestsLC( const CDevDiagExecResults& aExecResults ); + +private: + + //Main container that displayes suites. Own. + CDevDiagSuiteContainer* iContainer; + + //Plug-in view that displayes plug-ins. Own. + CDevDiagPluginView* iPluginView; + + //Model. + CDevDiagEngine& iEngine; + + //Parent suite ID. This is HW,connectivity, service or coverage suite ID. + TUid iParentPlugin; + + // Wait dialog for plugin loading. Own. + CAknWaitDialog* iWaitDialog; + + // Previous View ID. + TVwsViewId iPrevViewId; + }; + + +#endif // DEVDIAGSUITEVIEW_H