00001 /* 00002 * ============================================================================== 00003 * Name : AknsSkinInstance.h 00004 * Part of : Avkon Skins / Skin Library 00005 * Interface : ?Interface_category, ?Interface_name 00006 * Description : Defines a public interface class MAknsSkinInstance and related 00007 * enumerations. 00008 * Version : ?Version 00009 * 00010 * Copyright © 2002 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * ============================================================================== 00020 */ 00021 00022 #ifndef AKNSSKININSTANCE_H 00023 #define AKNSSKININSTANCE_H 00024 00025 // INCLUDES 00026 #include <e32std.h> 00027 00028 #include <AknsDataContext.h> 00029 #include <AknsItemData.h> 00030 00031 // FORWARD DECLARATIONS 00032 class CFbsBitGc; 00033 class CAknsItemDef; 00034 00035 // DATA TYPES 00036 00042 enum TAknsClientError 00043 { 00047 EAknsClientErrorUnspecified = 0, 00048 00054 EAknsClientErrorOOM = -4 00055 }; 00056 00063 enum TAknsSkinChangeReason 00064 { 00065 // For normal skin change events, ie. all item change 00066 ENormalSkinChange = 0, 00067 // When a morphing state is changed, ie. only backgrounds change 00068 EMorphingStateChange = 1, 00069 // When the wallpaper is changed, ie. only the wallpaper change 00070 EWallpaperChange = 2 00071 }; 00072 00073 00074 // CLASS DECLARATION 00075 00089 class MAknsSkinInstance 00090 { 00091 public: // Constructors and destructor 00092 00100 inline virtual ~MAknsSkinInstance() {} 00101 00102 public: // New functions - Item data 00103 00117 virtual MAknsDataContext* RootDataContext() =0; 00118 00141 virtual CAknsItemData* GetCachedItemData( const TAknsItemID& aID, 00142 const TAknsItemType aType ) =0; 00143 00166 virtual CAknsItemData* GetCachedItemData( const TAknsItemID& aID ) =0; 00167 00188 virtual CAknsItemData* CreateUncachedItemDataL( const TAknsItemID& aID, 00189 const TAknsItemType aType ) =0; 00190 00211 virtual CAknsItemData* CreateUncachedItemDataL( const TAknsItemID& aID ) =0; 00212 00213 public: // New functions - Item definitions 00214 00234 virtual void SetLocalItemDefL( CAknsItemDef* aDef ) =0; 00235 00246 virtual void SetChangeEventsEnabled( TBool aEnabled ) =0; 00247 00248 public: // New functions - Error handling 00249 00263 virtual void NotifyClientError( const TAknsClientError aError ) =0; 00264 00265 public: // New functions - querying the skin change reason. 00277 virtual TAknsSkinChangeReason SkinChangeReason() = 0; 00278 00279 public: 00284 virtual void RemoveLocalItemDefs() = 0; 00285 }; 00286 00287 // AKNSSKININSTANCE_H 00288 #endif 00289 00290 // End of File