webengine/osswebengine/MemoryManager/Inc/MemoryPool.h
changeset 8 7c90e6132015
parent 0 dd21522fd290
child 16 a359256acfc6
equal deleted inserted replaced
0:dd21522fd290 8:7c90e6132015
   329 
   329 
   330     private:
   330     private:
   331         TUint iRescueBufferSize;
   331         TUint iRescueBufferSize;
   332     };
   332     };
   333 
   333 
       
   334 class RSymbianDLHeap;
       
   335 
       
   336 /**
       
   337 *  The memory pool using new symbian DLMalloc/Slab hybrid allocator for fast allocation
       
   338 *  @lib memman.lib
       
   339 *  @since 3.1
       
   340 */
       
   341 NONSHARABLE_CLASS(CNewSymbianHeapPool) : public CMemoryPool
       
   342     {
       
   343     public:
       
   344     	CNewSymbianHeapPool();
       
   345     	~CNewSymbianHeapPool();
       
   346     	
       
   347         TBool Create();
       
   348     	
       
   349         TAny* Allocate( TUint aSize )   { return AllocFromPool( aSize ); }
       
   350         TAny* ReAllocate( TAny* aPtr, TUint aSize );
       
   351         void Free( TAny* aPtr );
       
   352         TUint MemorySize( TAny* aPtr );
       
   353         void SetRescueBufferSize( TInt aSize );
       
   354         TAny* DoAlloc( TUint aSize );
       
   355         TBool PreCheck( TUint aTotalSize, TUint aMaxBufSize, const TDesC8& aChecker );
       
   356         TUint PostCheck();
       
   357         TUint FreeMemory( TFreeMem& aFree );
       
   358         void RestoreRescueBuffer();
       
   359     private:
       
   360     	void InitLocal();
       
   361     	
       
   362     	RSymbianDLHeap *iAlloc;
       
   363     };
       
   364 
   334 #endif
   365 #endif