00001 /* 00002 * ============================================================================== 00003 * Name : AknsControlContext.h 00004 * Part of : Avkon Skins / Skin Library 00005 * Interface : ?Interface_category, ?Interface_name 00006 * Description : Defines a public interface class MAknsControlContext and 00007 * related 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 AKNSCONTROLCONTEXT_H 00023 #define AKNSCONTROLCONTEXT_H 00024 00025 // INCLUDES 00026 #include <AknsConstants.h> 00027 #include <AknsItemID.h> 00028 #include <coemop.h> 00029 00030 // DATA TYPES 00031 00037 enum TAknsCCParameter 00038 { 00039 // This enumeration is intentionally empty. 00040 }; 00041 00048 enum TAknsCCObject 00049 { 00050 00059 EAknsCCOBackground = 0, 00060 00070 EAknsCCOParentContext = 1 00071 }; 00072 00078 enum TAknsControlContextType 00079 { 00080 00087 EAknsControlContextTypeUnknown = 0, 00088 00095 EAknsControlContextTypeBasic = 1, 00096 00103 EAknsControlContextTypeLayered = 2, 00104 00111 EAknsControlContextTypeListBox = 3, 00112 00119 EAknsControlContextTypeFrame = 4 00120 }; 00121 00122 // CLASS DECLARATIONS 00123 00141 class MAknsControlContext 00142 { 00143 public: // Type UID 00149 DECLARE_TYPE_ID(0x10005a29) 00150 00151 public: // Destructor 00152 00159 inline virtual ~MAknsControlContext() {} 00160 00161 public: // New functions 00162 00175 virtual TInt SupplySkinParameter( TAknsCCParameter aParam ) =0; 00176 00189 virtual TAny* SupplySkinObject( TAknsCCObject aObject ) =0; 00190 00204 virtual TBool IsCompatibleWithType( 00205 const TAknsControlContextType aType ) const =0; 00206 00218 virtual TInt UpdateContext(); 00219 00220 protected: // Reserved virtual functions 00221 00227 virtual TInt Reserved2(); 00228 00229 public: // New functions 00230 00245 IMPORT_C static TTypeUid::Ptr SupplyMopObject( TTypeUid aId, 00246 MAknsControlContext* aContext ); 00247 00248 }; 00249 00250 // AKNSCONTROLCONTEXT_H 00251 #endif 00252 00253 // End of File