19 #define MEMSPYDEVICEWIDEOPERATIONDIALOG_H |
19 #define MEMSPYDEVICEWIDEOPERATIONDIALOG_H |
20 |
20 |
21 // System includes |
21 // System includes |
22 #include <AknProgressDialog.h> |
22 #include <AknProgressDialog.h> |
23 #include <AknWaitDialog.h> |
23 #include <AknWaitDialog.h> |
|
24 #include <e32cmn.h> |
24 |
25 |
25 // Engine includes |
26 // Engine includes |
26 #include <memspy/engine/memspydevicewideoperations.h> |
27 #include <memspy/engine/memspydevicewideoperations.h> |
|
28 #include <memspyengineclientinterface.h> |
|
29 #include <memspysession.h> |
|
30 |
|
31 //#include "MemSpyAppUi.h" |
27 |
32 |
28 // Classes referenced |
33 // Classes referenced |
29 class CMemSpyEngine; |
34 //class RMemSpySession; |
|
35 |
|
36 enum TDeviceWideOperation |
|
37 { |
|
38 OutputPhoneInfo = 0, |
|
39 |
|
40 OutputDetailedPhoneInfo, |
|
41 |
|
42 OutputHeapInfo, |
|
43 |
|
44 OutputCompactHeapInfo, |
|
45 |
|
46 OutputHeapCellListing, |
|
47 |
|
48 OutputHeapData, |
|
49 |
|
50 OutputStackInfo, |
|
51 |
|
52 OutputCompactStackInfo, |
|
53 |
|
54 OutputUserStackData, |
|
55 |
|
56 OutputKernelStackData |
|
57 }; |
|
58 |
30 |
59 |
31 class MMemSpyDeviceWideOperationDialogObserver |
60 class MMemSpyDeviceWideOperationDialogObserver |
32 { |
61 { |
33 public: |
62 public: |
34 virtual void DWOperationStarted() = 0; |
63 virtual void DWOperationStarted() = 0; |
35 virtual void DWOperationCancelled() = 0; |
64 virtual void DWOperationCancelled() = 0; |
36 virtual void DWOperationCompleted() = 0; |
65 virtual void DWOperationCompleted() = 0; |
37 }; |
66 }; |
38 |
67 |
39 |
68 |
|
69 class CMemSpyDwoProgressTracker : public CActive, public MProgressDialogCallback |
|
70 { |
|
71 public: |
|
72 CMemSpyDwoProgressTracker(RMemSpySession &aSession); |
|
73 |
|
74 virtual ~CMemSpyDwoProgressTracker(); |
|
75 |
|
76 void Start(); |
|
77 |
|
78 void Cancel(); |
|
79 |
|
80 TMemSpyDeviceWideOperationProgress Progress() { return iProgress; } |
|
81 |
|
82 CAknProgressDialog* ProgressDialog() { return iProgressDialog; } |
|
83 |
|
84 void UpdateProcessDialogL( TInt aProgress, const TDesC& aProgressText ); |
|
85 |
|
86 protected: // from CActive |
|
87 |
|
88 void DialogDismissedL(TInt aButtonId); |
|
89 |
|
90 virtual void RunL(); |
|
91 |
|
92 virtual void DoCancel(); |
|
93 |
|
94 virtual TInt RunError(TInt aError); |
|
95 |
|
96 private: |
|
97 TMemSpyDeviceWideOperationProgress iProgress; |
|
98 RMemSpySession iSession; |
|
99 |
|
100 CEikProgressInfo* iProgressInfo; |
|
101 CAknProgressDialog* iProgressDialog; |
|
102 }; |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 class CMemSpyDwoTracker : public CActive |
|
110 { |
|
111 public: |
|
112 CMemSpyDwoTracker(RMemSpySession &aSession, TDeviceWideOperation aOperation); |
|
113 |
|
114 virtual ~CMemSpyDwoTracker(); |
|
115 |
|
116 void Start(); |
|
117 |
|
118 void Cancel(); |
|
119 |
|
120 protected: // from CActive |
|
121 |
|
122 virtual void RunL(); |
|
123 |
|
124 virtual void DoCancel(); |
|
125 |
|
126 virtual TInt RunError(TInt aError); |
|
127 |
|
128 private: |
|
129 RMemSpySession iSession; |
|
130 CMemSpyDwoProgressTracker *iProgressTracker; |
|
131 TDeviceWideOperation iOperation; |
|
132 }; |
|
133 |
|
134 |
|
135 |
|
136 |
|
137 |
|
138 |
|
139 |
40 class CMemSpyDeviceWideOperationDialog : public CBase, public MProgressDialogCallback, public MMemSpyDeviceWideOperationsObserver |
140 class CMemSpyDeviceWideOperationDialog : public CBase, public MProgressDialogCallback, public MMemSpyDeviceWideOperationsObserver |
41 { |
141 { |
42 public: |
142 public: |
43 static void ExecuteLD( CMemSpyEngine& aEngine, MMemSpyDeviceWideOperationDialogObserver& aObserver, CMemSpyDeviceWideOperations::TOperation aOperation ); |
143 //static void ExecuteLD( CMemSpyEngine& aEngine, MMemSpyDeviceWideOperationDialogObserver& aObserver, CMemSpyDeviceWideOperations::TOperation aOperation ); |
|
144 //static void ExecuteLD( RMemSpySession& aSession, MMemSpyDeviceWideOperationDialogObserver& aObserver, CMemSpyDeviceWideOperations::TOperation aOperation ); |
|
145 static void ExecuteLD( RMemSpySession& aSession, TDeviceWideOperation aOp ); |
44 ~CMemSpyDeviceWideOperationDialog(); |
146 ~CMemSpyDeviceWideOperationDialog(); |
|
147 |
|
148 //added |
|
149 static CMemSpyDwoTracker* CreateDeviceWideOperation( RMemSpySession& aSession, TDeviceWideOperation aOp ); |
45 |
150 |
46 private: |
151 private: |
47 CMemSpyDeviceWideOperationDialog( CMemSpyEngine& aEngine, MMemSpyDeviceWideOperationDialogObserver& aObserver ); |
152 //CMemSpyDeviceWideOperationDialog( CMemSpyEngine& aEngine, MMemSpyDeviceWideOperationDialogObserver& aObserver ); |
48 void ExecuteL( CMemSpyDeviceWideOperations::TOperation aOperation ); |
153 //CMemSpyDeviceWideOperationDialog( RMemSpySession& aSession, MMemSpyDeviceWideOperationDialogObserver& aObserver ); |
|
154 CMemSpyDeviceWideOperationDialog( RMemSpySession& aSession ); |
|
155 //void ExecuteL( CMemSpyDeviceWideOperations::TOperation aOperation ); |
|
156 void ExecuteL( TDeviceWideOperation aOp ); |
49 |
157 |
50 public: // API |
158 public: // API |
51 void Cancel(); |
159 void Cancel(); |
52 |
160 |
53 private: // From MProgressDialogCallback |
161 private: // From MProgressDialogCallback |
58 |
166 |
59 private: // Internal methods |
167 private: // Internal methods |
60 void SetDialogCaptionL( const TDesC& aText ); |
168 void SetDialogCaptionL( const TDesC& aText ); |
61 |
169 |
62 private: // Member data |
170 private: // Member data |
63 CMemSpyEngine& iEngine; |
171 //CMemSpyEngine& iEngine; |
64 MMemSpyDeviceWideOperationDialogObserver& iObserver; |
172 RMemSpySession iSession; |
|
173 //MMemSpyDeviceWideOperationDialogObserver& iObserver; |
65 TBool iForcedCancel; |
174 TBool iForcedCancel; |
66 CEikProgressInfo* iProgressInfo; |
175 CEikProgressInfo* iProgressInfo; |
67 CAknProgressDialog* iProgressDialog; |
176 CAknProgressDialog* iProgressDialog; |
68 CMemSpyDeviceWideOperations* iOperation; |
177 CMemSpyDeviceWideOperations* iOperation; |
69 }; |
178 }; |
70 |
179 |
71 |
|
72 #endif |
180 #endif |