diff -r b183ec05bd8c -r 19bba8228ff0 remotemgmt_plat/diagnostics_framework_api/inc/diagpluginexecplan.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/remotemgmt_plat/diagnostics_framework_api/inc/diagpluginexecplan.h Wed Sep 01 12:27:42 2010 +0100 @@ -0,0 +1,145 @@ +/* +* 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: Class declaration for CDiagPluginExecPlan +* +*/ + + +#ifndef DIAGPLUGINEXECPLAN_H +#define DIAGPLUGINEXECPLAN_H + +// INCLUDES +#include // CBase + +// FORWARD DECLARATION +class MDiagPlugin; +class MDiagExecPlanEntry; + +/** +* Diagnostics Plugin Execution Plan +* +* This class provides interface to access execution plan. +* It also provides interface to modify execution plan. +* A cursor to currently executing item is also maintained. +* +*/ +class MDiagPluginExecPlan + { +public: + /** + * Access an item in plan. + * + * @param aIndex - index + * @return Reference to plan entry at given index. + */ + virtual const MDiagExecPlanEntry& operator[]( TInt aIndex ) const = 0; + + /** + * Get current execution plan item. + * + * @return Reference to currently executing plan item. + */ + virtual const MDiagExecPlanEntry& CurrentExecutionItem() const = 0; + + /** + * Returns index of execution cursor. Note that this index + * includes both suite plug-in and test plug-in. + * + * If only interested about test plug-ins. use CurrentTestIndex(). + * + * @return Index to current execution cursor. + */ + virtual TInt CurrentIndex() const = 0; + + /** + * Returns total number of items in the plan. Note that this count + * includes both suite plug-in and test plug-in. + + * If only interested only test plug-ins. use TestCount(). + * + * @return Number of items in the test plan. + */ + virtual TInt Count() const = 0; + + /** + * Get current test index. + * + * Note that only test plug-ins (MDiagTestPlugin) are counted in this + * case. Suite pre/post execution are not. You cannot use this value + * with [] operator since this is not a real index. + * + * To get real cursor index, use GetCurrentIndex(). + * + * @param aIncludeDependency If ETrue, test index will also include + * plugins that are included as dependency. + * @return current test index. + */ + virtual TInt CurrentTestIndex( TBool aIncludeDependency ) const = 0; + + /** + * Get total test count. + * + * Note that only test plug-ins (MDiagTestPlugin) are counted in this + * case. Suite pre/post execution are not. You cannot use this value + * with [] operator since this is not a real count. + * + * To get the real number of items in the plan, use GetCount(). + * + * @param aIncludeDependency If ETrue, test index will also include + * plug-ins that are included as dependency. + * @return current test index. + */ + virtual TInt TestCount( TBool aIncludeDependency ) const = 0; + + /** + * Check if this is the last test being executed. + * + * Note that only test plug-ins (MDiagTestPlugin) are counted in this + * case. Suite pre/post execution are not. + * If you are interested in checking if it is currently running + * the last plug-in, including test and suites, @see IsLastPlugin() + * + * @return ETrue plan is executing the last test plug-in. + */ + virtual TBool IsLastTest() const = 0; + + /** + * Check if this is the last plug-in being executed. + * + * Note that this includes both test plug-ins and suite plug-ins. + * If you are interested in checking the progress on tests only, + * @see IsLastTest() + * + * @return ETrue plan is executing the last test or suite plug-in. + */ + virtual TBool IsLastPlugin() const = 0; + + /** + * Returns the plug-in index that plan is resuming from. + * If this session is not a resume session, this will return 0 (first index). + * Otherwise, this index will point the first real execution item. + * + * Note that this value will not change as test session progresses. Even + * as test progresses, this value will still point to the index that + * this session is being resumed from. + * + * @return Index of which session is being resumed from. + */ + virtual TInt ResumeIndex() const = 0; + }; + +#endif // DIAGPLUGINEXECPLAN_H + +// End of File +