Skin instance is a singleton object that can be retrieved using AknsUtils::SkinInstance(). It maintains item cache, but also local item definition list and root data context. While skin instance can be used directly by client code, it is often easier to use utility methods provided in AknsUtils and AknsDrawUtils.
This is a public interface class that contains no exported functions. The class is not intended for derivation outside the library.
The method constructs a new instance of item data of the specified skin item and returns it.
This overload can be used to create items if the type of the item is not known beforehand. In other cases, the first overload shold be preferred, since it may be considerably faster.
Parameters:
aID
Item ID of the item to be created.
Returns:
Newly created item data object. Ownership of the object is transferred to the caller. If no item definition for the specified ID was found, NULL value is returned.
Exceptions:
If item data construction fails, function leaves with an error code.
The method constructs a new instance of item data of the specified skin item and returns it.
Parameters:
aID
Item ID of the item to be created.
aType
Type of the item.
Returns:
Newly created item data object. Ownership of the object is transferred to the caller. If no item definition for the specified ID was found, NULL value is returned. The caller can assume that a non-NULL value is a pointer that can be casted to the subclass corresponding to aType.
Exceptions:
If item data construction fails, function leaves with an error code.
Returns (and constructs if necessary) cached item data object.
The method first searches the cache for the specified item. If none is found, it creates and caches a new instance of the item data.
This overload can be used to retrieve items if the type of the item is not known beforehand. In other cases, the first overload shold be preferred, since it may be considerably faster.
Parameters:
aID
Item ID of the item to be retrieved.
Returns:
Item data for the specified item, or NULL value if none was found or an error occured.
Exceptions:
Since this is a non-leaving method, the skin instance may perform error handling, e.g., by instructing the system to switch to the default skin.
Returns (and constructs if necessary) cached item data object.
The method first searches the cache for the specified item. If none is found, it creates and caches a new instance of the item data.
Parameters:
aID
Item ID of the item to be retrieved.
aType
Type of the item.
Returns:
Item data for the specified item, or NULL value if none was found or an error occured. The caller can assume that a non-NULL value is a pointer that can be casted to the subclass corresponding to aType.
Exceptions:
Since this is a non-leaving method, the skin instance may perform error handling, e.g., by instructing the system to switch to the default skin.
Notifies the skin instance about an error condition.
Errors that can be reported to the skin instance include incorrect skin content (e.g., a bitmap that can not be constructed) or out of memory situations. The error condition is usually handled by switching to the default system skin. Error notifications will be ignored when there is no reasonable recovery operation available.
Parameters:
aError
Error type. Currently only EAknsClientErrorUnspecified is supported.
Root data context is used by other data context instances to indicate data reservations and releases. It may also be used directly by application code, if no other context is available. Nearest data context can be retrieved using AknsUtils::DataContext(MObjectProvider* aMop) utility method.
Returns:
Pointer to root data context. Skin instance still owns the data context and its lifetime is that of skin instance itself.
When enabled, resource change events are sent to the application when item definitions change. If a change occurs when events are disabled, it will be sent (collated, only one event) when events are re-enabled.
Parameters:
aEnabled
ETrue to enable events, EFalse to disable them.
virtual void MAknsSkinInstance::SetLocalItemDefL
(
CAknsItemDef *
aDef
)
[pure virtual]
Sets local item definition.
Adds (or replaces if one already exists) a local item definition.
Parameters:
aDef
New local item definition. Ownership of definition object is transferred to skin instance and caller should make no access to it after this call.
Exceptions:
If an error occurs, function leaves with an error code. Item definition object is either added into local definition list or destroyed depending on when the error occured.
Note:
Since the method always assumes ownership of aDef, it must not be pushed into the cleanup stack.
The documentation for this class was generated from the following file: