idlehomescreen/xmluicontroller/inc/contentrenderer.h
branchRCL_3
changeset 26 1b758917cafc
parent 9 f966699dea19
equal deleted inserted replaced
25:137ebc85284b 26:1b758917cafc
    22 // System includes
    22 // System includes
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <e32hashtab.h>
    24 #include <e32hashtab.h>
    25 
    25 
    26 // User includes
    26 // User includes
    27 #include "xnnewsticker.h"
       
    28 #include "aicontentobserver.h"
    27 #include "aicontentobserver.h"
    29 #include "xnproperty.h"
    28 #include "xnproperty.h"
    30 
    29 
    31 // Forward declarations
    30 // Forward declarations
    32 class TXnUiEngineAppIf;
    31 class TXnUiEngineAppIf;
    47     class CTransactionFactoryImpl;
    46     class CTransactionFactoryImpl;
    48     class MTransactionElement;
    47     class MTransactionElement;
    49     class MTransaction;
    48     class MTransaction;
    50     class CAppUi;
    49     class CAppUi;
    51     class CXmlNodeIdGenerator;
    50     class CXmlNodeIdGenerator;
    52     class CNewstickerCallbackHandler;
       
    53     class CCssPropertyMap;
    51     class CCssPropertyMap;
    54     class CPolicyEvaluator;
    52     class CPolicyEvaluator;
    55     class TAiPolicyElement;
    53     class TAiPolicyElement;
    56     }
    54     }
    57 
    55 
    64 *  CContentRenderer renders the content of the content publisher plug-ins
    62 *  CContentRenderer renders the content of the content publisher plug-ins
    65 *
    63 *
    66 *  @lib AiXmlUiMain
    64 *  @lib AiXmlUiMain
    67 */
    65 */
    68 class CContentRenderer : public CBase,
    66 class CContentRenderer : public CBase,
    69     public MAiContentObserver,
    67     public MAiContentObserver    
    70     public XnNewstickerInterface::MXnNewstickerCallbackInterface
       
    71     {
    68     {
    72 public:  
    69 public:  
    73     // Constructors and destructor
    70     // Constructors and destructor
    74     
    71     
    75     static CContentRenderer* NewL( CAppUi& aAppUi );
    72     static CContentRenderer* NewL( CAppUi& aAppUi );
   242     static TInt RefreshContentCallback( TAny* aContentRenderer );
   239     static TInt RefreshContentCallback( TAny* aContentRenderer );
   243     
   240     
   244     void SendRefreshContentEventL();
   241     void SendRefreshContentEventL();
   245     
   242     
   246     TBool IsParentNewsticker( CXnNodeAppIf& aTarget );
   243     TBool IsParentNewsticker( CXnNodeAppIf& aTarget );
   247     
       
   248     void RegisterNewstickerCallbackInterfaceL( CXnNodeAppIf& aTarget );
       
   249 
   244 
   250     void ProcessContentChangesL( MTransaction& aTr );
   245     void ProcessContentChangesL( MTransaction& aTr );
   251     void ProcessContentChangeL( TAiPolicyElement& aElement );         
   246     void ProcessContentChangeL( TAiPolicyElement& aElement );         
   252     
   247     
   253     TInt SetPropertyL( CHsContentPublisher& aPlugin,
   248     TInt SetPropertyL( CHsContentPublisher& aPlugin,
   255        const TDesC8& aPropertyValue, MAiContentObserver::TValueType aValueType );  
   250        const TDesC8& aPropertyValue, MAiContentObserver::TValueType aValueType );  
   256                    
   251                    
   257     CXnDomPropertyValue::TPrimitiveValueType DomPropertyValueType( 
   252     CXnDomPropertyValue::TPrimitiveValueType DomPropertyValueType( 
   258         MAiContentObserver::TValueType aValueType ); 
   253         MAiContentObserver::TValueType aValueType ); 
   259             
   254             
   260 private:    
       
   261     // From XnNewstickerInterface::MXnNewstickerCallbackInterface    
       
   262 
       
   263     void TitleScrolled(TInt aTitleIndex);
       
   264     
       
   265     void TitleToScroll(TInt aTitleIndex);
       
   266     
       
   267 private:    
   255 private:    
   268     // data
   256     // data
   269     
   257     
   270     /** Transaction stack, Owned. */
   258     /** Transaction stack, Owned. */
   271     CActiveTransactionStack* iStack;    
   259     CActiveTransactionStack* iStack;    
   283     RPtrHashMap< TDesC, TInt > iRefreshableUiElements;    
   271     RPtrHashMap< TDesC, TInt > iRefreshableUiElements;    
   284     /** Timer for asynchronous content refreshing, Owned. */
   272     /** Timer for asynchronous content refreshing, Owned. */
   285     CPeriodic* iTimer;    
   273     CPeriodic* iTimer;    
   286     /** Fw event handler, Not owned. */
   274     /** Fw event handler, Not owned. */
   287     MAiFwEventHandler* iFwEventHandler;
   275     MAiFwEventHandler* iFwEventHandler;
   288     /** Newsticker callback handler, Owned */
       
   289     CNewstickerCallbackHandler* iCallbackHandler;    
       
   290     /** Pointer descriptor to newsticker plugin name */
       
   291     TPtrC iNTPublisher;    
       
   292     /** Newsticker element property class, Owned */
       
   293     HBufC* iNTClass;    
       
   294     /** CSS property map, Owned. */
   276     /** CSS property map, Owned. */
   295     CCssPropertyMap* iPropertyMap;    
   277     CCssPropertyMap* iPropertyMap;    
   296     /** Publishing policy evaluator, Owned. */
   278     /** Publishing policy evaluator, Owned. */
   297     CPolicyEvaluator* iPolicyEvaluator;
   279     CPolicyEvaluator* iPolicyEvaluator;
   298     };
   280     };