memana/analyzetoolclient/configurationappgui/inc/atconfigurationappguiprocessview.h
changeset 2 6a82cd05fb1e
parent 1 3ff3fecb12fe
equal deleted inserted replaced
1:3ff3fecb12fe 2:6a82cd05fb1e
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef ATCONFIGURATIONAPPGUIPROCESSVIEW_H
       
    19 #define ATCONFIGURATIONAPPGUIPROCESSVIEW_H
       
    20 
       
    21 // INCLUDES
       
    22 #include <aknview.h>
       
    23 #include <analyzetool/atstorageserverclnt.h>
       
    24 #include <analyzetool/atcommon.h>
       
    25 
       
    26 // FORWARD DECLARATIONS
       
    27 class CAknNavigationDecorator;
       
    28 class CATConfigurationAppGuiProcessContainer;
       
    29 
       
    30 /**
       
    31  * Avkon view class for CATConfigurationAppGuiProcessView. It is register with the view server
       
    32  * by the AppUi. It owns the container control.
       
    33  * @class	CATConfigurationAppGuiProcessView
       
    34  */
       
    35 class CATConfigurationAppGuiProcessView : public CAknView
       
    36 	{
       
    37 public:
       
    38     /**
       
    39     * C++ default constructor.
       
    40     */
       
    41 	CATConfigurationAppGuiProcessView();
       
    42 	
       
    43     /**
       
    44     * Two-phased constructor that can leave.
       
    45     * @return A new instance of this class
       
    46     */
       
    47 	static CATConfigurationAppGuiProcessView* NewL();
       
    48 	
       
    49     /**
       
    50     * Two-phased constructor that can leave and leaves a pointer
       
    51     * on the cleanup stack.
       
    52     * @return A new instance of this class
       
    53     */
       
    54 	static CATConfigurationAppGuiProcessView* NewLC();
       
    55 	
       
    56     /**
       
    57     *  Symbian 2nd phase constructor.
       
    58     */
       
    59 	void ConstructL();
       
    60 	
       
    61     /**
       
    62     * Destructor.
       
    63     */
       
    64 	virtual ~CATConfigurationAppGuiProcessView();
       
    65 						
       
    66     /**
       
    67     * From CAknView.
       
    68     */
       
    69 	TUid Id() const;
       
    70 	
       
    71     /**
       
    72     * From CAknView.
       
    73     */
       
    74 	void HandleCommandL( TInt aCommand );
       
    75 	
       
    76     /**
       
    77     * From CAknView.
       
    78     */
       
    79 	void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
       
    80 
       
    81     /**
       
    82     * Creates control for this view.
       
    83     * @return CATConfigurationAppGuiListBox* pointer to the control
       
    84     */
       
    85 	CATConfigurationAppGuiProcessContainer* CreateContainerL();
       
    86 	
       
    87     /**
       
    88     * Creates an item for list query dialog.
       
    89     * @param aBuffer buffer holding the text
       
    90     * @param aMainText listbox text
       
    91     */
       
    92 	void CreateListQuery1ItemL( 
       
    93 			TDes& aBuffer,
       
    94 			const TDesC& aMainText );
       
    95 	
       
    96     /**
       
    97     * Creates list item from resource.
       
    98     * @param aBuffer buffer holding the text
       
    99     * @param aResourceId resource id
       
   100     */
       
   101 	void CreateListQuery1ResourceArrayItemL( 
       
   102 			TDes& aBuffer, 
       
   103 			TInt aResourceId );
       
   104 
       
   105     /**
       
   106     * Initializes components in the list query.
       
   107     * @return CDesCArray* array of list items
       
   108     */
       
   109 	CDesCArray* InitializeListQuery1LC();
       
   110 
       
   111     /**
       
   112     * Initializes icons in the list query.
       
   113     * @return CArrayPtr< CGulIcon >* icon array
       
   114     */
       
   115 	CArrayPtr< CGulIcon >* SetupListQuery1IconsLC();
       
   116 
       
   117     /**
       
   118     * Executes list query including DLLs in a particular process.
       
   119     * @param aOverrideText heading for the list query
       
   120     * @param aOverrideItemArray array holding DLLs
       
   121     * @param aOverrideIconArray array holding icons
       
   122     */
       
   123 	TInt RunListQueryL(
       
   124 			const TDesC* aOverrideText = NULL, 
       
   125 			CDesCArray* aOverrideItemArray = NULL,
       
   126 			CArrayPtr< CGulIcon >* aOverrideIconArray = NULL );
       
   127 	
       
   128 protected:
       
   129     /**
       
   130     * From CAknView.
       
   131     */
       
   132 	void DoActivateL(
       
   133 		const TVwsViewId& aPrevViewId,
       
   134 		TUid aCustomMessageId,
       
   135 		const TDesC8& aCustomMessage );
       
   136 	
       
   137     /**
       
   138     * From CAknView.
       
   139     */
       
   140 	void DoDeactivate();
       
   141 	
       
   142     /**
       
   143     * Setups status pane according to the screen size.
       
   144     */
       
   145 	void HandleStatusPaneSizeChange();
       
   146 private:
       
   147     /**
       
   148     * Setups status pane.
       
   149     */
       
   150 	void SetupStatusPaneL();
       
   151 	
       
   152     /**
       
   153     * Clears status pane and frees resources from it.
       
   154     */
       
   155 	void CleanupStatusPaneL();
       
   156 
       
   157 	// Current navi decorator
       
   158 	CAknNavigationDecorator* iNaviDecorator_;
       
   159 	// Control for this view
       
   160 	CATConfigurationAppGuiProcessContainer* iProcessContainer;
       
   161 	// Logging option for this process
       
   162 	TInt   iLogOption;
       
   163 	// Process Id of current process
       
   164 	TUint  iProcessId;
       
   165 	// Starting time of current process
       
   166 	TInt64 iProcessStartTime;
       
   167 	// Loaded libraries for this process
       
   168 	RArray< TBuf8<KMaxLibraryName> > iLibraries;
       
   169 	
       
   170     /**
       
   171     * @enum TListQuery1Images
       
   172     * Defines icons for list query.
       
   173     */
       
   174 	enum TListQuery1Images
       
   175 		{
       
   176 		EListQuery1FirstUserImageIndex    /**< First icon in listbox. */
       
   177 		};
       
   178 	};
       
   179 
       
   180 #endif // ATCONFIGURATIONAPPGUIPROCESSVIEW_H