class CObjectIx : public CBase |
Generates handle numbers for reference counting objects.
This is referred to as an object index.
Adding a reference counting object to an object index is the way in which a unique handle number can be generated for that object. A handle number is the way in which an object, which is owned or managed by another thread or process can be identified.
Public Member Functions | |
---|---|
~CObjectIx () | |
TInt | ActiveCount () |
IMPORT_C TInt | AddL ( CObject *) |
IMPORT_C CObject * | At ( TInt , TInt ) |
IMPORT_C CObject * | At ( TInt ) |
IMPORT_C TInt | At (const CObject *) |
IMPORT_C CObject * | AtL ( TInt , TInt ) |
IMPORT_C CObject * | AtL ( TInt ) |
IMPORT_C TInt | Count ( CObject *) |
TInt | Count () |
IMPORT_C CObjectIx * | NewL () |
IMPORT_C void | Remove ( TInt ) |
IMPORT_C CObject * | operator[] ( TInt ) |
Protected Member Functions | |
---|---|
CObjectIx () |
Private Member Functions | |
---|---|
void | UpdateState () |
Public Member Enumerations | |
---|---|
enum | anonymous { ENoClose = KHandleNoClose, ELocalHandle = KHandleFlagLocal } |
Private Attributes | |
---|---|
TInt | iAllocated |
TInt | iFree |
TInt | iHighWaterMark |
TInt | iNextInstance |
TInt | iNumEntries |
SObjectIxRec * | iObjects |
TAny * | iSpare1 |
TAny * | iSpare2 |
TInt | iUpdateDisabled |
IMPORT_C | ~CObjectIx | ( | ) |
Destructor.
Frees all resources owned by the object index, prior to its destruction. In particular, it calls Close() on all reference counting objects in the index.
TInt | ActiveCount | ( | ) | const [inline] |
Gets the current number of reference counting objects held by this object index.
IMPORT_C TInt | AddL | ( | CObject * | anObj | ) |
Adds the specified reference counting object into this object index and returns the handle number that represents it.
CObject * anObj | The reference counting object to be added to this object index. |
IMPORT_C CObject * | At | ( | TInt | aHandle, |
TInt | aUniqueID | |||
) |
Gets a pointer to the reference counting object with the specified handle number and matching unique ID.
IMPORT_C CObject * | At | ( | TInt | aHandle | ) |
Gets a pointer to the reference counting object with the specified handle number.
TInt aHandle | The handle number of the reference counting object. |
IMPORT_C TInt | At | ( | const CObject * | anObject | ) | const |
Constructs and returns the handle number representing the specified reference counting object within this object index.
const CObject * anObject | The reference counting object. |
IMPORT_C CObject * | AtL | ( | TInt | aHandle, |
TInt | aUniqueID | |||
) |
Gets a pointer to the reference counting object with the specified handle number and matching unique ID.
IMPORT_C CObject * | AtL | ( | TInt | aHandle | ) |
Gets a pointer to the reference counting object with the specified handle number.
TInt aHandle | The handle number of the reference counting object. |
IMPORT_C TInt | Count | ( | CObject * | anObject | ) | const |
Gets the number of occurrences of the specified reference counting object within this object index.
Note that the same reference counting object can be added to an object index more than once.
CObject * anObject | The reference counting object. |
TInt | Count | ( | ) | const [inline] |
Gets the number greater then the last slot number used to hold valid CObject pointer. The input argument of CObject* CObjectIx::operator[]() must be less then the number returned by this method.
IMPORT_C void | Remove | ( | TInt | aHandle | ) |
Removes the reference counting object identified by handle number from this object index and closes it.
If the reference counting object cannot be closed, because CObjectIx::ENoClose is ORed into the handle number, then it is neither removed from the object index nor closed.
TInt aHandle | The handle number of the reference counting object to be removed and closed. |
IMPORT_C CObject * | operator[] | ( | TInt | anIndex | ) |
Gets a pointer to a reference counting object located at the specified offset within the object index.
TInt anIndex | The offset of the reference counting object within the object index. Offset is relative to zero. |
ENoClose = KHandleNoClose |
When ORd into the handle number, indicates that the reference counting object cannot be closed. |
ELocalHandle = KHandleFlagLocal |
When ORed into the handle number, indicates that the handle is a local handle. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.