»
Symbian OS v6.1 Edition for C++ »
API Reference »
Reference Counting Objects »
CObjectIx
Location:
e32base.h
Link against: euser.lib
CObjectIx
Support
Supported from 5.0
Description
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.
Derivation
CBase | Base class for all classes to be instantiated on the heap |
CObjectIx | Generates handle numbers for reference counting objects |
|
Defined in CObjectIx
:
ActiveCount()
, AddL()
, Anonymous
, At()
, AtL()
, Count()
, ELocalHandle
, ENoClose
, NewL()
, Remove()
, operator[]()
, ~CObjectIx()
Inherited from CBase
:
operator new()
See also:
Allocation and construction
static CObjectIx* NewL();
Description
Creates a new object index.
Return value
CObjectIx* |
A pointer to the newly created object index. |
|
~CObjectIx();
Description
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.
See also:
Adding and removing reference counting objects
TInt AddL(CObject* anObj);
Description
Adds the specified reference counting object into this object index and returns the handle number
that represents it.
Parameters
CObject* anObj |
The reference counting object to be added to this object index. |
|
Return value
void Remove(TInt aHandle);
Description
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.
Parameters
TInt aHandle |
The handle number of the reference counting object to be removed and closed. If this number does not represent an object known to this object index, then the function raises an
E32USER-CBase 37 panic. |
|
Accessing reference counting objects
CObject* At(TInt aHandle,TInt aUniqueID);
Description
Gets a pointer to the reference counting object with the specified handle number and matching unique ID.
Parameters
TInt aHandle |
The handle number of the reference counting object. |
TInt aUniqueID |
The unique ID. |
|
Return value
CObject* |
A pointer to the reference counting object. If there is no matching object, then this is NULL. |
|
CObject* At(TInt aHandle);
Description
Gets a pointer to the reference counting object with the specified handle number.
Parameters
TInt aHandle |
The handle number of the reference counting object. |
|
Return value
CObject* |
A pointer to the reference counting object. If there is no matching object, then this is NULL. |
|
TInt At(const CObject* anObject) const;
Description
Constructs and returns the handle number representing the specified reference counting object within this object index.
Parameters
const CObject* anObject |
The reference counting object. |
|
Return value
TInt |
The handle number representing the reference counting object; KErrNotFound , if the reference counting object could not be found within the object index. |
|
CObject* AtL(TInt aHandle,TInt aUniqueID);
Description
Gets a pointer to the reference counting object with the specified handle number and matching unique ID.
If there is no matching object, then the function leaves with KErrBadHandle
.
Parameters
TInt aHandle |
The handle number of the reference counting object. |
TInt aUniqueID |
The unique ID. |
|
Return value
CObject* |
A pointer to the reference counting object. |
|
CObject* AtL(TInt aHandle);
Description
Gets a pointer to the reference counting object with the specified handle number.
If there is no matching object, then the function leaves with KErrBadHandle
.
Parameters
TInt aHandle |
The handle number of the reference counting object. |
|
Return value
CObject* |
A pointer to the reference counting object. |
|
CObject* operator[](TInt anIndex);
Description
Gets a pointer to a reference counting object located at the specified offset within the object index.
Parameters
TInt anIndex |
The offset of the reference counting object within the object index. Offset is relative to
zero. This value must be greater than or equal to zero and it must be less than the total number of objects held by the
index, otherwise the operator raises an E32USER-CBase 21 panic. |
|
Return value
CObject* |
A pointer to the reference counting object. |
|
TInt ActiveCount() const;
Support
Supported from 6.0
Description
Gets the current number of reference counting objects held by this object index.
Return value
TInt Count(CObject* anObject) const;
Description
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.
Parameters
CObject* anObject |
The reference counting object. |
|
Return value
TInt |
The number of occurrences. |
|
TInt Count() const;
Description
Gets the maximum number of reference counting objects that this
object index can hold before internal buffers need to be expanded.
Note that the current number of objects as returned by ActiveCount()
is always less than the value returned by this function and can, in some circumstances, be considerably less.
Return value
TInt |
The maximum number of reference counting objects. |
|
Description
Miscellaneous constants.
ENoClose |
When ORd into the handle number, indicates that the reference counting object cannot be closed. |
ELocalHandle |
When ORed into the handle number, indicates that the handle is a local handle. |
|