UserHeap Class Reference

class UserHeap

A set of static functions for constructing fixed length heaps and local or global heaps.

RHeap

RChunk

Public Member Functions
IMPORT_C RHeap *ChunkHeap(const TDesC *, TInt, TInt, TInt, TInt, TBool)
IMPORT_C RHeap *ChunkHeap(RChunk, TInt, TInt, TInt, TInt, TBool, TUint32)
IMPORT_C RHeap *ChunkHeap(const TChunkHeapCreateInfo &)
IMPORT_C TIntCreateThreadHeap(SStdEpocThreadCreateInfo &, RHeap *&, TInt, TBool)
IMPORT_C RHeap *FixedHeap(TAny *, TInt, TInt, TBool)
IMPORT_C RHeap *OffsetChunkHeap(RChunk, TInt, TInt, TInt, TInt, TInt, TBool, TUint32)
IMPORT_C TIntSetupThreadHeap(TBool, SStdEpocThreadCreateInfo &)
Public Member Enumerations
enumTChunkHeapCreateMode { EChunkHeapSwitchTo = 0x1, EChunkHeapDuplicate = 0x2, EChunkHeapMask = EChunkHeapSwitchTo | EChunkHeapDuplicate }

Member Functions Documentation

ChunkHeap(const TDesC *, TInt, TInt, TInt, TInt, TBool)

IMPORT_C RHeap *ChunkHeap(const TDesC *aName,
TIntaMinLength,
TIntaMaxLength,
TIntaGrowBy = 1,
TIntaAlign = 0,
TBoolaSingleThread = EFalse
)[static]

Parameters

const TDesC * aName
TInt aMinLength
TInt aMaxLength
TInt aGrowBy = 1
TInt aAlign = 0
TBool aSingleThread = EFalse

ChunkHeap(RChunk, TInt, TInt, TInt, TInt, TBool, TUint32)

IMPORT_C RHeap *ChunkHeap(RChunkaChunk,
TIntaMinLength,
TIntaGrowBy = 1,
TIntaMaxLength = 0,
TIntaAlign = 0,
TBoolaSingleThread = EFalse,
TUint32aMode = 0
)[static]

Parameters

RChunk aChunk
TInt aMinLength
TInt aGrowBy = 1
TInt aMaxLength = 0
TInt aAlign = 0
TBool aSingleThread = EFalse
TUint32 aMode = 0

ChunkHeap(const TChunkHeapCreateInfo &)

IMPORT_C RHeap *ChunkHeap(const TChunkHeapCreateInfo &aCreateInfo)[static]

Parameters

const TChunkHeapCreateInfo & aCreateInfo

CreateThreadHeap(SStdEpocThreadCreateInfo &, RHeap *&, TInt, TBool)

IMPORT_C TIntCreateThreadHeap(SStdEpocThreadCreateInfo &aInfo,
RHeap *&aHeap,
TIntaAlign = 0,
TBoolaSingleThread = EFalse
)[static]

Parameters

SStdEpocThreadCreateInfo & aInfo
RHeap *& aHeap
TInt aAlign = 0
TBool aSingleThread = EFalse

FixedHeap(TAny *, TInt, TInt, TBool)

IMPORT_C RHeap *FixedHeap(TAny *aBase,
TIntaMaxLength,
TIntaAlign = 0,
TBoolaSingleThread = ETrue
)[static]

Parameters

TAny * aBase
TInt aMaxLength
TInt aAlign = 0
TBool aSingleThread = ETrue

OffsetChunkHeap(RChunk, TInt, TInt, TInt, TInt, TInt, TBool, TUint32)

IMPORT_C RHeap *OffsetChunkHeap(RChunkaChunk,
TIntaMinLength,
TIntaOffset,
TIntaGrowBy = 1,
TIntaMaxLength = 0,
TIntaAlign = 0,
TBoolaSingleThread = EFalse,
TUint32aMode = 0
)[static]

Parameters

RChunk aChunk
TInt aMinLength
TInt aOffset
TInt aGrowBy = 1
TInt aMaxLength = 0
TInt aAlign = 0
TBool aSingleThread = EFalse
TUint32 aMode = 0

SetupThreadHeap(TBool, SStdEpocThreadCreateInfo &)

IMPORT_C TIntSetupThreadHeap(TBoolaNotFirst,
SStdEpocThreadCreateInfo &aInfo
)[static]

Parameters

TBool aNotFirst
SStdEpocThreadCreateInfo & aInfo

Member Enumerations Documentation

Enum TChunkHeapCreateMode

Flags to control the heap creation.

Enumerators

EChunkHeapSwitchTo = 0x1

On successful creation of the heap this switches the calling thread to use the new heap.

EChunkHeapDuplicate = 0x2

On successful creation of the heap this causes the handle to the heap to be duplicated.

EChunkHeapMask = EChunkHeapSwitchTo | EChunkHeapDuplicate