class MXIMPRestrictedObjectCollection : public MXIMPBase |
Interface for restricted object collection.
Object collection is a generic container, capable to contain MXIMPBase derived objects, implemented by the XIMP Framework.
Restricted object collection forces each contained object instance to be distinct interface type. I.e. at time there can be just single object instance of certain MXIMPBase derived type at the collection.
Object collection supports adding and getting objects, and looking up objects by their interface type. Object collection takes the ownership of added objects.
Public Member Functions | |
---|---|
~MXIMPRestrictedObjectCollection () | |
void | AddOrReplaceTypeL ( MXIMPBase *) |
void | GetByType ( MXIMPBase *&, TInt32 ) |
void | LookupByType (const MXIMPBase *&, TInt32 ) |
Inherited Functions | |
---|---|
MXIMPBase::GetInterface(TInt32,TIfGetOps) | |
MXIMPBase::GetInterface(TInt32,TIfGetOps)const | |
MXIMPBase::GetInterfaceId()const | |
MXIMPBase::~MXIMPBase() |
Inherited Enumerations | |
---|---|
MXIMPBase:@26 | |
MXIMPBase:TIfGetOps |
~MXIMPRestrictedObjectCollection | ( | ) | [inline, virtual] |
Public destructor. Objects can be deleted through this interface.
void | AddOrReplaceTypeL | ( | MXIMPBase * | aObject | ) | [pure virtual] |
Adds new object to the set. If there exists already a object in the set with equal interface type, existing object is deleted and replaced with new one.
MXIMPBase * aObject | New object to add to set. Takes object ownership in success. |
void | GetByType | ( | MXIMPBase *& | aObject, |
TInt32 | aInterfaceId | |||
) | [pure virtual] |
Gets the object having given interface type, and removes object from the set and returns object ownership to caller.
void | LookupByType | ( | const MXIMPBase *& | aObject, |
TInt32 | aInterfaceId | |||
) | const [pure virtual] |
Looks up the object having given interface type.
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.