51 TBool IsHandler( TInt aFunction ) const; |
51 TBool IsHandler( TInt aFunction ) const; |
52 |
52 |
53 private: // Channel operation handlers |
53 private: // Channel operation handlers |
54 TInt GetHeapInfoUser( TMemSpyDriverInternalHeapRequestParameters* aParams ); |
54 TInt GetHeapInfoUser( TMemSpyDriverInternalHeapRequestParameters* aParams ); |
55 TInt GetHeapInfoKernel( TMemSpyDriverInternalHeapRequestParameters* aParams, TDes8* aTransferBuffer ); |
55 TInt GetHeapInfoKernel( TMemSpyDriverInternalHeapRequestParameters* aParams, TDes8* aTransferBuffer ); |
56 TInt GetIsDebugKernel( TBool* aIsDebugKernel ); |
56 TInt GetIsDebugKernel(TAny* aIsDebugKernel); |
|
57 |
|
58 private: // From MHeapWalkerObserver |
|
59 void HandleHeapWalkInit(); |
|
60 TBool HandleHeapCell( TMemSpyDriverCellType aCellType, TAny* aCellAddress, TInt aLength, TInt aNestingLevel, TInt aAllocNumber ); |
57 |
61 |
58 private: // Internal methods |
62 private: // Internal methods |
59 TUint32 CalculateFreeCellBufferSize() const; |
63 void ReleaseCellList(); |
|
64 TInt PrepareCellListTransferBuffer(); |
|
65 TInt FetchCellList(TDes8* aBufferSink); |
|
66 TInt CalculateCellListBufferSize() const; |
60 |
67 |
61 private: // Data members |
68 private: // Data members |
62 TMemSpyDriverInternalHeapRequestParameters iHeapInfoParams; |
69 TMemSpyDriverInternalHeapRequestParameters iHeapInfoParams; |
|
70 RArray<TMemSpyDriverCell> iCellList; |
|
71 RMemSpyMemStreamWriter* iHeapStream; |
63 }; |
72 }; |
64 |
73 |
65 |
74 |
66 #endif |
75 #endif |