class MObjectProvider |
An interface that allows an object to be part of a network of object providers.
The object provider mechanism can be used to find and access objects of a given type, where the type is defined by a TTypeUid object. Object providers may be arranged in a hierarchy, i.e. an object provider may have a parent-child relationship with another object provider.
An object provider must provide an implementation for the MopSupplyObject() function and can choose to provide an implementation for the MopNext() function. Typically, it will also have functionality to define who its parent is.
CCoeControl is an example of a class that implements this interface. Top level controls must have the view or app UI set as their object provider. This is done by calling CCoeControl::SetMopParent() on the view or the app UI. The view or app UI does this by calling the top level control's CCoeControl::SetMopParent() function.
Public Member Functions | |
---|---|
MObjectProvider * | FindParent(MObjectProvider *) |
T * | MopGetObject(T *&) |
T * | MopGetObjectNoChaining(T *&) |
Protected Member Functions | |
---|---|
MObjectProvider() |
Private Member Functions | |
---|---|
IMPORT_C void | MObjectProvider_Reserved1() |
IMPORT_C void | MObjectProvider_Reserved2() |
IMPORT_C TAny * | MopGetById(TTypeUid) |
IMPORT_C TAny * | MopGetByIdNoChaining(TTypeUid) |
IMPORT_C MObjectProvider * | MopNext() |
TTypeUid::Ptr | MopSupplyObject(TTypeUid) |
Private Attributes | |
---|---|
TInt | iMObjectProvider_Reserved1 |
MObjectProvider * | FindParent | ( | MObjectProvider * | aMopToFind | ) |
MObjectProvider * aMopToFind |
IMPORT_C TAny * | MopGetByIdNoChaining | ( | TTypeUid | aId | ) | [private] |
TTypeUid aId |
T * | MopGetObject | ( | T *& | aPtr | ) | [inline] |
Gets an object of the type defined by the template parameter.
The object may be supplied directly by this object provider, or by other object providers higher up the hierarchy.
A pointer to an object of the type required, or NULL if none can be found.
T *& aPtr | A reference to a pointer to an object of a type that is to be retrieved. |
T * | MopGetObjectNoChaining | ( | T *& | aPtr | ) | [inline] |
Gets an object of the type defined by the template parameter.
The object will be supplied directly by this object provider, or NULL will be returned, this function does not recurse through the object chain.
A pointer to an object of the type required, or NULL if none can be found.
T *& aPtr | A reference to a pointer to an object of a type that is to be retrieved. |
TTypeUid::Ptr | MopSupplyObject | ( | TTypeUid | aId | ) | [private, pure virtual] |
Gets an object whose type is encapsulated by the specified TTypeUid object.
Encapsulates the pointer to the object provided. Note that the encapsulated pointer may be NULL.
TTypeUid aId | Encapsulates the Uid that identifies the type of object required. |