1 // AllocationInfo.h 2 3 #ifndef ALLOCATION_INFO_H 4 #define ALLOCATION_INFO_H 5 6 #include <SupportDefs.h> 7 8 class AllocationInfo { 9 public: 10 AllocationInfo(); 11 ~AllocationInfo(); 12 13 void AddNodeTableAllocation(size_t arraySize, size_t vectorSize, 14 size_t elementSize, size_t elementCount); 15 void AddDirectoryEntryTableAllocation(size_t arraySize, size_t vectorSize, 16 size_t elementSize, 17 size_t elementCount); 18 void AddNodeAttributeTableAllocation(size_t arraySize, size_t vectorSize, 19 size_t elementSize, 20 size_t elementCount); 21 22 void AddAttributeAllocation(size_t size); 23 void AddDirectoryAllocation(); 24 void AddEntryAllocation(); 25 void AddFileAllocation(size_t size); 26 void AddSymLinkAllocation(size_t size); 27 28 void AddAreaAllocation(size_t size, size_t count = 1); 29 void AddBlockAllocation(size_t size); 30 void AddListAllocation(size_t capacity, size_t elementSize); 31 void AddOtherAllocation(size_t size, size_t count = 1); 32 void AddStringAllocation(size_t size); 33 34 void Dump() const; 35 36 private: 37 size_t fNodeTableArraySize; 38 size_t fNodeTableVectorSize; 39 size_t fNodeTableElementCount; 40 size_t fDirectoryEntryTableArraySize; 41 size_t fDirectoryEntryTableVectorSize; 42 size_t fDirectoryEntryTableElementCount; 43 size_t fNodeAttributeTableArraySize; 44 size_t fNodeAttributeTableVectorSize; 45 size_t fNodeAttributeTableElementCount; 46 47 size_t fAttributeCount; 48 size_t fAttributeSize; 49 size_t fDirectoryCount; 50 size_t fEntryCount; 51 size_t fFileCount; 52 size_t fFileSize; 53 size_t fSymLinkCount; 54 size_t fSymLinkSize; 55 56 size_t fAreaCount; 57 size_t fAreaSize; 58 size_t fBlockCount; 59 size_t fBlockSize; 60 size_t fListCount; 61 size_t fListSize; 62 size_t fOtherCount; 63 size_t fOtherSize; 64 size_t fStringCount; 65 size_t fStringSize; 66 }; 67 68 #endif // ALLOCATION_INFO_H 69