libraries/ltkutils/inc/heaputils.h
changeset 59 c9dfb364c2d1
parent 53 17466b56148d
equal deleted inserted replaced
58:377ac716dabb 59:c9dfb364c2d1
   178 #endif
   178 #endif
   179 	};
   179 	};
   180 
   180 
   181 #ifdef __KERNEL_MODE__
   181 #ifdef __KERNEL_MODE__
   182 
   182 
   183 class RUserAllocatorHelper : public RAllocatorHelper
   183 HUCLASS(RUserAllocatorHelper) : public RAllocatorHelper
   184     {
   184     {
   185 public:
   185 public:
   186 	RUserAllocatorHelper();
   186 	RUserAllocatorHelper();
   187 	TInt OpenUserHeap(TUint aThreadId, TLinAddr aAllocatorAddress, TBool aEuserIsUdeb);
   187 	TInt OpenUserHeap(TUint aThreadId, TLinAddr aAllocatorAddress, TBool aEuserIsUdeb);
   188 	virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   188 	virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   195 	virtual void TryUnlock();
   195 	virtual void TryUnlock();
   196 private:
   196 private:
   197 	DThread* iThread;
   197 	DThread* iThread;
   198 	};
   198 	};
   199 
   199 
   200 class RKernelCopyAllocatorHelper : public RAllocatorHelper
   200 HUCLASS(RKernelCopyAllocatorHelper) : public RAllocatorHelper
   201 	{
   201 	{
   202 public:
   202 public:
   203 	RKernelCopyAllocatorHelper();
   203 	RKernelCopyAllocatorHelper();
   204 	TInt OpenCopiedHeap(DChunk* aOriginalChunk, DChunk* aCopiedChunk, TInt aOffset);
   204 	TInt OpenCopiedHeap(DChunk* aOriginalChunk, DChunk* aCopiedChunk, TInt aOffset);
   205 	virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   205 	virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   215 	TInt iOffset; // from the original kernel heap to the copied heap
   215 	TInt iOffset; // from the original kernel heap to the copied heap
   216 	};
   216 	};
   217 
   217 
   218 #else
   218 #else
   219 
   219 
   220 class RProxyAllocatorHelper : public RAllocatorHelper
   220 HUCLASS(RProxyAllocatorHelper) : public RAllocatorHelper
   221 	{
   221 	{
   222 public:
   222 public:
   223 	HUIMPORT_C RProxyAllocatorHelper();
   223 	HUIMPORT_C RProxyAllocatorHelper();
   224 	HUIMPORT_C TInt Open(RMemoryAccess& aMem, TUint aThreadId);
   224 	HUIMPORT_C TInt Open(RMemoryAccess& aMem, TUint aThreadId);
   225 	HUIMPORT_C TInt OpenChunkHeap(RMemoryAccess& aMem, TAny* aDChunkPtr);
   225 	HUIMPORT_C TInt OpenChunkHeap(RMemoryAccess& aMem, TAny* aDChunkPtr);