--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devicediagnosticsfw/diagframework/inc/diagexecplanentryimplsuite.h Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,172 @@
+/*
+* 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 CDiagExecPlanEntryImplSuite
+*
+*/
+
+
+#ifndef DIAGEXECPLANENTRYIMPLSUITE_H
+#define DIAGEXECPLANENTRYIMPLSUITE_H
+
+// SYSTEM INCLUDE FILES
+#include <DiagSuitePlugin.h> // MDiagSuitePlugin::TStopReason
+#include <DiagSuiteObserver.h> // MDiagSuiteObserver
+
+// USER INCLUDE FILES
+#include "diagexecplanentryimpl.h" // CDiagExecPlanEntryImpl
+
+// FORWARD DECLARATION
+class MDiagSuitePlugin;
+
+/**
+* Diagnostics Plug-in Execution Plan Entry Implementation for Suite plugin
+*
+* This class implements CDiagExecPlanEntryImplSuite. It is meant to be private
+* to Diagnostics Framework and not exported.
+*
+* @since S60 v5.0
+*
+*/
+NONSHARABLE_CLASS( CDiagExecPlanEntryImplSuite ) : public CDiagExecPlanEntryImpl,
+ public MDiagSuiteObserver
+ {
+public: // Public constructors and destructors
+ /**
+ * Symbian two-phased constructor
+ *
+ * @param aEngine - Diagnostics Engine
+ * @param aEngineConfig - Engine configuration.
+ * @param aObserver - Execution plan entry observer.
+ * @param aPlugin - Suite plug-in that this plan entry represents.
+ * @param aAsDependency - Whether this item is being executed as dependency or not.
+ * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
+ *
+ * @return a new instance of CDiagExecPlanEntryImplSuite
+ */
+ static CDiagExecPlanEntryImplSuite* NewL( MDiagEngineCommon& aEngine,
+ const TDiagEngineConfig& aEngineConfig,
+ MDiagExecPlanEntryImplObserver& aObserver,
+ MDiagSuitePlugin& aPlugin,
+ TBool aAsDependency,
+ TType aType );
+
+ /**
+ * Symbian two-phased constructor
+ * This will leave a entry in clean up stack.
+ *
+ * @param aEngine - Diagnostics Engine
+ * @param aEngineConfig - Engine configuration.
+ * @param aObserver - Execution plan entry observer.
+ * @param aPlugin - Suite plug-in that this plan entry represents.
+ * @param aAsDependency - Whether this item is being executed as dependency or not.
+ * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
+ *
+ * @return a new instance of CDiagExecPlanEntryImplSuite
+ */
+ static CDiagExecPlanEntryImplSuite* NewLC( MDiagEngineCommon& aEngine,
+ const TDiagEngineConfig& aEngineConfig,
+ MDiagExecPlanEntryImplObserver& aObserver,
+ MDiagSuitePlugin& aPlugin,
+ TBool aAsDependency,
+ TType aType );
+
+ /**
+ * C++ destructor
+ */
+ virtual ~CDiagExecPlanEntryImplSuite();
+
+public: // new public api
+ /**
+ * Get suite plugin associated.
+ */
+ MDiagSuitePlugin& SuitePlugin();
+
+private: // from CActive
+ /*
+ * @see CActive::RunL
+ */
+ virtual void RunL();
+
+ /*
+ * @see CActive::DoCancel
+ */
+ virtual void DoCancel();
+
+
+private: // from CDiagExecPlanEntryImpl
+ /**
+ * @see CDiagExecPlanEntryImpl::ExecuteL
+ */
+ virtual void ExecuteL();
+
+ /**
+ * @see CDiagEXecPlanEntryImpl::StopExecutionByWatchdogL
+ */
+ virtual void StopExecutionByWatchdogL();
+
+ /**
+ * @see CDiagEXecPlanEntryImpl::StopExecutionByClientL
+ */
+ virtual void DoStopExecutionByClientL( MDiagEngineCommon::TCancelMode aCancelMode );
+
+ /**
+ * @see CDiagEXecPlanEntryImpl::SuspendL
+ */
+ virtual void SuspendL();
+
+ /**
+ * @see CDiagEXecPlanEntryImpl::ResumeL
+ */
+ virtual void ResumeL();
+
+
+private: // from MDiagSuiteObserver
+ /**
+ * Notify engine of suite plug-in execution completion.
+ *
+ * @see MDiagSuitePlugin::ContinueExecutionL
+ */
+ virtual void ContinueExecutionL( const MDiagSuitePlugin& aSender );
+
+
+private: // private methods
+ /**
+ * C++ constructor
+ *
+ * @param aEngine - Diagnostics Engine
+ * @param aEngineConfig - Engine configuration.
+ * @param aObserver - Execution plan entry observer.
+ * @param aPlugin - Suite plug-in that this plan entry represents.
+ * @param aAsDependency - Whether this item is being executed as dependency or not.
+ * @param aType - Type of execution. @see CDiagExecPlanEntryImpl::TType
+ */
+ CDiagExecPlanEntryImplSuite( MDiagEngineCommon& aEngine,
+ const TDiagEngineConfig& aEngineConfig,
+ MDiagExecPlanEntryImplObserver& aObserver,
+ MDiagSuitePlugin& aPlugin,
+ TBool aAsDependency,
+ TType aType );
+
+ /**
+ * Stop suite plug-in.
+ *
+ * @param aStopReason - Stop reason to pass to suite.
+ */
+ void StopSuitePluginL( MDiagSuitePlugin::TStopReason aStopReason );
+ };
+
+#endif // DIAGEXECPLANENTRYIMPLSUITE_H
+
+// End of File
+