diff -r 2c8580950a26 -r 5d0ec111abfc devicediagnosticsfw/diagframework/inc/diagtestplugin.h --- a/devicediagnosticsfw/diagframework/inc/diagtestplugin.h Fri May 14 16:42:50 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -/* -* 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: Test Plugin Abstract Interface -* -*/ - - -#ifndef DIAGTESTPLUGIN_H -#define DIAGTESTPLUGIN_H - -// INCLUDES -#include // MDiagPlugin - - -// FORWARD DECLARATION -class CDiagPluginExecPlan; -class MDiagTestObserver; -class MDiagEngineCommon; -class CDiagPluginPool; -class TDiagTestExecParam; -class CDiagResultsDatabaseItem; -class MDiagResultDetail; - -/** -* Diagnostics test plug-in abstract interface. -* -* @since S60 v5.0 -**/ -class MDiagTestPlugin: public MDiagPlugin - { -public: - - /** - * Run mode defines what kind of behaviour is expected from this plug-in. - **/ - enum TRunMode - { - EInteractiveView, // plugin with a view - EInteractiveDialog, // interactive, but with dialogs - EAutomatic // automatic tests - }; - - /** - * Reason for execution stop. - **/ - enum TStopReason - { - ESkip, - ECancelAll, - EWatchdog - }; - - /** - * Execute a diagnostics test. This is an asynchronous method. The plug-in - * must call MDiagTestObserver:TestExecutionCompletedL when test has finished. - * - * @param aExecParams Parameters for running the test. - * @param aSkipDependencyCheck - If ETrue, plug-in should execute even if - * dependencies are not executed. - * @param aDependencyExecution - If ETrue, this is being executed to - * satisfy dependency. - * @param aCustomParams Custom parameters for plug-ins. - * These should be used if TDiagTestExecParam is not enough. - * It can used to pass arbitrary data from application to the plug-ins. - * Owership is not transferred and plug-in must not delete - * this parameter. Ownership is not transferred since - * client does not always know the type of pointer. - **/ - virtual void RunTestL( TDiagTestExecParam* aExecParam, - TBool aSkipDependencyCheck, - TBool aDependencyExecution, - TAny* aCustomParams ) = 0; - - /** - * Describes the run mode of the test plug-in. - * - * @return Run mode. - * @see TDiagRunMode. - **/ - virtual TRunMode RunMode() const = 0; - - /** - * Cancels testing. Cancellation is expected to be synchronous. - * Test plug-in must return the result immediately, and it must not call - * TestExecutionCompletedL(). Ownership of the CDiagResultsDatabaseItem is - * transferred to the caller. - * - * @param aReason - Reason why ExecutionStopL() is being called. - * @return Returns result object. Test must not call TestExecutionCompletedL. - **/ - virtual CDiagResultsDatabaseItem* ExecutionStopL( TStopReason aReason ) = 0; - - /** - * Suspend test. If test cannot be suspended, it will leave with - * KErrNotSupported. - **/ - virtual void SuspendL() = 0; - - /** - * Resume test. If test cannot be resumed, it will leave with - * KErrNotSupported. - **/ - virtual void ResumeL() = 0; - - /** - * Get the number of steps that is needed to execute tests. - * This can be used to calculate progress information. - * - * @return The number of steps. - **/ - virtual TUint TotalSteps() const = 0; - - /** - * Create detailed information object from test result. - * Ownership is transferred to caller. - * - * @param aTestResult - Base test result. - * @return Instance of MDiagResultDetail* that can provide detailed - * information about the last test. - **/ - virtual MDiagResultDetail* CreateDetailL( - const CDiagResultsDatabaseItem& aResult ) const = 0; - }; - -#endif // DIAGTESTPLUGIN_H - -// End of File -