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(TAny* aIsDebugKernel); |
56 TInt GetIsDebugKernel( TBool* aIsDebugKernel ); |
57 |
|
58 private: // From MHeapWalkerObserver |
|
59 void HandleHeapWalkInit(); |
|
60 TBool HandleHeapCell( TMemSpyDriverCellType aCellType, TAny* aCellAddress, TInt aLength, TInt aNestingLevel, TInt aAllocNumber ); |
|
61 |
57 |
62 private: // Internal methods |
58 private: // Internal methods |
63 void ReleaseCellList(); |
59 TUint32 CalculateFreeCellBufferSize() const; |
64 TInt PrepareCellListTransferBuffer(); |
|
65 TInt FetchCellList(TDes8* aBufferSink); |
|
66 TInt CalculateCellListBufferSize() const; |
|
67 |
60 |
68 private: // Data members |
61 private: // Data members |
69 TMemSpyDriverInternalHeapRequestParameters iHeapInfoParams; |
62 TMemSpyDriverInternalHeapRequestParameters iHeapInfoParams; |
70 RArray<TMemSpyDriverCell> iCellList; |
|
71 RMemSpyMemStreamWriter* iHeapStream; |
|
72 }; |
63 }; |
73 |
64 |
74 |
65 |
75 #endif |
66 #endif |