hxsym_memutil.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:1k
源码类别:

Symbian

开发平台:

Visual C++

  1. /************************************************************************
  2.  * hxsym_memutil.h.
  3.  * -------------
  4.  *
  5.  * Synopsis:
  6.  *
  7.  *
  8.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  9.  *
  10.  ************************************************************************/
  11. #ifndef hxsym_memutil_h
  12. #define hxsym_memutil_h
  13. #include <e32std.h>
  14. #include <e32hal.h>
  15. #include <eikenv.h>
  16. namespace MemUtil
  17. {
  18.     /*void TraceHeap(int mask, const char* pMsg = 0);
  19.     TInt GetSystemFree();
  20.     TInt GetHeapUsed();
  21.     TInt GetHeapFree();
  22.     TInt GetHeapSize();
  23.     TInt GetHeapCellsAllocated();
  24.     TInt GetHeapLargestBlockAvail();*/
  25.     inline
  26. TInt GetSystemFree()
  27. {
  28.     TMemoryInfoV1Buf info;
  29.     UserHal::MemoryInfo(info);
  30.     return info().iFreeRamInBytes;
  31. }
  32.  
  33. inline
  34. TInt GetHeapUsed()
  35. {
  36.     TInt cbLargestBlock;
  37.     RHeap heap = User::Heap();
  38.     return (heap.Size() - heap.Available(cbLargestBlock));
  39. }
  40. inline
  41. TInt GetHeapLargestBlockAvail()
  42. {
  43.     TInt cbLargestBlock(0);
  44.     RHeap heap = User::Heap();
  45.     heap.Available(cbLargestBlock);
  46.     return cbLargestBlock;
  47. }
  48. inline
  49. TInt GetHeapFree()
  50. {
  51.     TInt size;
  52.     RHeap heap = User::Heap();
  53.     return heap.Available(size);
  54. }
  55. inline
  56. TInt GetHeapSize()
  57. {
  58.     RHeap heap = User::Heap();
  59.     return heap.Size();
  60. }
  61. inline
  62. TInt GetHeapCellsAllocated()
  63. {
  64.     RHeap heap = User::Heap();
  65.     return heap.Count();
  66. }
  67. } // ns MemUtil
  68. #endif //hxsym_memutil_h