devicediagnosticsfw/diagframework/inc/diagplugin.h
branchRCL_3
changeset 25 b183ec05bd8c
parent 24 13d7c31c74e0
child 26 19bba8228ff0
--- a/devicediagnosticsfw/diagframework/inc/diagplugin.h	Thu Aug 19 10:44:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +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:  Abstract class that represents a diagnostics plug-in
-*
-*/
-
-
-#ifndef DIAGPLUGIN_H
-#define DIAGPLUGIN_H
-
-// INCLUDES
-#include <badesca.h>            // CPtrCArray . Needed since this is typedef.
-
-//Forward declarations
-class CGulIcon;
-class MDiagEngineCommon;
-
-// Constants for plugin interfaces 
-const TUid KDiagPluginInterfaceUid = { 0x2000AFEB };
-
-// UID of top most root suite uid.  All plug-ins are descendant of this suite.
-const TUid KDiagRootSuiteUid = { 0x00000000 };
-
-/**
-* Abstract class that repsesents a diagnostics plug-in.
-*
-* @since S60 v5.0
-**/
-class MDiagPlugin
-    {
-public: //data structures
-
-    /**
-    * Indicates is the plug-in a suite or a test plug-in
-    **/
-    enum TPluginType
-        {
-        ETypeTestPlugin,
-        ETypeSuitePlugin
-        };
-
-    /**
-    * Layout type of name being requested.
-    */
-    enum TNameLayoutType
-        {
-        ENameLayoutListSingle,              // list_single_graphic_heading_pane_t1_cp2
-        ENameLayoutPopupNoteWaitWindow,     // popup_note_wait_window
-        ENameLayoutListLargeGraphic,        // list_single_large_graphic_pane_t1
-        ENameLayoutHeadingPane,             // heading_pane_t1
-        ENameLayoutPopupInfoPane,           // popup_info_list_pane_t1
-        ENameLayoutTitlePane,               // title_pane_t2/opt12
-        ENameLayoutListSingleGraphic,       // list_single_graphic_pane_t1
-        ENameLayoutListDoubleGraphic        // list_double_graphic_pane_t1
-        };
-
-public: // public methods
-
-    /**
-    * Virtual destructor. This ensures that when the interface is deleted,
-    * compiler will look up virtual table to find correct destructor.
-    */
-    virtual ~MDiagPlugin() {}
-
-    /**
-    * Method for getting the name of the plugin. Name returned should be based
-    * on the layout requested, and it should fit within the layout.
-    *
-    * @param aLayoutType - Layout where text will be displayed in. @see TNameLayoutType
-    * @return Localized name of the plug-in. Ownership is transferred to caller.
-    */
-    virtual HBufC* GetPluginNameL( TNameLayoutType aLayoutType ) const = 0;
-
-    /**
-    * Get the name of the service that the plug-in provides.
-    * Service name is defined in the ECOM resource file, thus, it is not localized.
-    *
-    * @return The name of the service.
-    **/
-    virtual const TDesC& ServiceLogicalName() const = 0;
-
-    /**
-    * Get logical dependencies. One plug-in can have multiple dependencies to other plug-ins.
-    *
-    * @param aArray An array of logical names.
-    * @see ServiceLogicalName.
-    **/
-    virtual void GetLogicalDependenciesL( CPtrCArray& aArray ) const = 0;
-
-    /**
-    * Return the type of the plug-in. 
-    *
-    * @return The type.
-    * @see TPluginType.
-    **/
-    virtual TPluginType Type() const = 0;
-
-    /**
-    * Create an icon that represents the plug-in.
-    *
-    * @return An icon. 
-    **/
-    virtual CGulIcon* CreateIconL() const = 0;
-
-    /** Method for checking, if plugin should be visible.
-    * (for example shown in listbox).
-    * Overwrite this function to show or hide your plugin dynamically.
-    *
-    * @return ETrue if plugin should be visible, EFalse otherwise.
-    */
-    virtual TBool IsVisible() const = 0;
-
-    /** Method for checking, if plugin is supported.
-    * Overwrite this function to enable or disable your plugin dynamically.
-    * If EFalse, plug-in will not be loaded by plugin pool.
-    *
-    * @return ETrue if plugin is supported, EFalse otherwise.
-    */
-    virtual TBool IsSupported() const = 0;
-
-    /**
-    * Get localised description of the test. Description should be used to explain 
-    * the test for the user. It can contain comments that this service needs for 
-    * example access point and it creates costs or that the duration might be long.
-    *
-    * @return Allocated buffer containing localized description of the plugin.
-    **/
-    virtual HBufC* GetDescriptionL() const = 0;
-
-    /**
-    * Get UID of this plug-in.
-    *
-    * @return the UID.
-    **/
-    virtual TUid Uid() const = 0;
-
-    /**
-    * Get the order number that this plug-in should appear in its parent list.
-    *
-    * @return TUint order number.
-    **/
-    virtual TUint Order() const = 0;
-
-    /**
-    * Get UID of the parent.
-    *
-    * @return The parent UID.
-    **/
-    virtual TUid ParentUid() const = 0;
-
-    /**
-    * Set ECom Destructor ID Key.
-    *
-    * @param aDtorIdKey Uid returned by REComSession::CreateImplementationL()
-    **/
-    virtual void SetDtorIdKey( TUid aDtorIdKey ) = 0;
-
-
-    /**
-    * Initialization Step. This method is called before any plugin are executed.
-    * This can be used to clean up any left over data from previous execution 
-    * sessions. All plug-ins in execution plan will have a chance to clean 
-    * up before any plug-ins are run.  This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in will be executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   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 TestSessionBeginL( MDiagEngineCommon& aEngine,
-                                    TBool aSkipDependencyCheck,
-                                    TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Cleanup Step. This method is called after all plug-ins in the 
-    * execution plan is completed to clean up any left over data from 
-    * current sesison. This can be used to clean up any data that
-    * provides dependent service created for its dependencies.
-    * This is a synchrouns method.
-    *
-    * @param aEngine - Reference to engine.
-    * @param aSkipDependencyCheck - If ETrue, plug-in as executed
-    *   even if dependencies are not executed.
-    * @param aCustomParams Custom parameters for plug-ins. 
-    *   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 TestSessionEndL( MDiagEngineCommon& aEngine,
-                                  TBool aSkipDependencyCheck,
-                                  TAny* aCustomParams ) = 0;
-
-
-    /**
-    * Reserved for future use/plugin's custom functionality.
-    *
-    * @param aUid Unique identifier of the operation.
-    * @param aParam Custom parameter. 
-    * @return TAny pointer. Custom data.
-    *   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 TAny* CustomOperationL( TUid aUid, TAny* aParam ) = 0;
-        
-    /**
-    * Reserved for future use/plugin's custom functionality. 
-    *
-    * @param aParam Custom parameter.
-    * @return TAny pointer. Custom data. 
-    *   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 TAny* GetCustomL( TUid aUid, TAny* aParam ) = 0;
-    };
-
-#endif // DIAGPLUGIN_H
-
-// End of File
-