aknsskininstance.h

Go to the documentation of this file.
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

Copyright © Nokia Corporation 2001-2008
Back to top