diff -r c55016431358 -r 0a7b44b10206 symport/e32/include/e32base_private.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symport/e32/include/e32base_private.h Thu Jun 25 15:59:54 2009 +0100 @@ -0,0 +1,88 @@ +// Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32\include\e32base_private.h +// +// + +/** + @file + @internalTechnology + @released +*/ + +#ifndef __E32BASE_PRIVATE_H__ +#define __E32BASE_PRIVATE_H__ +#include +#include +#include + +/** +@internalComponent +*/ + struct TObjectDataStr //In use if this slot contains pointer to object. + { + TInt16 instance; + TUint16 uniqueID; + }; +/** +@internalComponent +*/ + struct SObjectIxRec + { + union + { + TObjectDataStr str; //This is in use if the slot contains pointer to CObject. + TInt nextEmpty; //This is in use if the slot is empty. Points to the next empty slot ... + //... in the list. 16 bits would be enough but ARM prefers 32 bytes. + }; + CObject* obj; + }; + +/** +@internalTechnology +@deprecated +*/ +class CBitMapAllocator : public CBase + { +public: + IMPORT_C static CBitMapAllocator* New(TInt aSize); + IMPORT_C static CBitMapAllocator* NewL(TInt aSize); + IMPORT_C ~CBitMapAllocator(); + IMPORT_C TInt Alloc(); + IMPORT_C TInt AllocFrom(TInt aPos); + IMPORT_C TInt Alloc(TInt aCount, TInt& aConsecutive); + IMPORT_C TInt AllocAligned(TInt anAlignment); + IMPORT_C TInt AllocAlignedBlock(TInt anAlignment); + IMPORT_C TInt AllocFromTop(); + IMPORT_C TInt AllocFromTopFrom(TInt aPos); + IMPORT_C void AllocAt(TInt aPos); + IMPORT_C void AllocAt(TInt aPos, TInt aCount); + IMPORT_C TBool IsFree(TInt aPos); + IMPORT_C TBool IsFree(TInt aPos, TInt aCount); + IMPORT_C void Free(TInt aPos); + IMPORT_C void Free(TInt aPos, TInt aCount); + IMPORT_C TInt Avail(); + IMPORT_C TInt Size(); + IMPORT_C TInt ExtractRamPages(TInt aConsecutive,TInt& aPageNo); +protected: + IMPORT_C CBitMapAllocator(TInt aSize,TInt aLength); +protected: + TInt iAvail; + TInt iSize; + TInt iLength; + TUint iMap[1]; + }; + + +#endif //__E32BASE_H__