idlehomescreen/inc/xnviewmanager.h
branchRCL_3
changeset 11 ff572dfe6d86
parent 9 f966699dea19
child 12 9674c1a575e9
equal deleted inserted replaced
9:f966699dea19 11:ff572dfe6d86
    18 #ifndef XNVIEWMANAGER_H
    18 #ifndef XNVIEWMANAGER_H
    19 #define XNVIEWMANAGER_H
    19 #define XNVIEWMANAGER_H
    20 
    20 
    21 // System includes
    21 // System includes
    22 #include <e32base.h>
    22 #include <e32base.h>
       
    23 
       
    24 // User includes
       
    25 #include "xnpropertysubscriber.h"
    23 
    26 
    24 // Forward declarations
    27 // Forward declarations
    25 class CXnUiEngine;
    28 class CXnUiEngine;
    26 class CXnComposer;
    29 class CXnComposer;
    27 class CXnODTParser;
    30 class CXnODTParser;
    80  *
    83  *
    81  * @ingroup group_xnlayoutengine
    84  * @ingroup group_xnlayoutengine
    82  * @lib xn3layoutengine.lib
    85  * @lib xn3layoutengine.lib
    83  * @since S60 5.0
    86  * @since S60 5.0
    84  */
    87  */
    85 NONSHARABLE_CLASS( CXnViewManager ) : public CBase
    88 NONSHARABLE_CLASS( CXnViewManager ) : public CBase,
       
    89     public MXnPropertyChangeObserver
    86     {
    90     {
    87 public:
    91 public:
    88     /**
    92     /**
    89      * Two-phased constructor.
    93      * Two-phased constructor.
    90      */
    94      */
   113     /**
   117     /**
   114      * 2nd phase constructor
   118      * 2nd phase constructor
   115      */
   119      */
   116     void ConstructL();
   120     void ConstructL();
   117 
   121 
       
   122 private:
       
   123     // from MXnPropertyChangeObserver
       
   124     
       
   125     /**
       
   126      * @see MXnPropertyChangeObserver
       
   127      */
       
   128     void PropertyChangedL( const TUint32 aKey, const TInt aValue );
       
   129     
   118 public:
   130 public:
   119     // New functions
   131     // New functions
   120 
   132 
   121     inline void SetUiEngine( CXnUiEngine& aUiEngine );
   133     inline void SetUiEngine( CXnUiEngine& aUiEngine );
   122 
   134 
   143     RPointerArray< CXnNode >& PluginNodes() const;
   155     RPointerArray< CXnNode >& PluginNodes() const;
   144     
   156     
   145     void PluginDataL( RPointerArray< CXnPluginData >& aList, 
   157     void PluginDataL( RPointerArray< CXnPluginData >& aList, 
   146         TBool aGlobal = EFalse ) const;
   158         TBool aGlobal = EFalse ) const;
   147 
   159 
       
   160     TInt PluginDataL( const TDesC8& aParentId, 
       
   161         RPointerArray< CXnPluginData >& aList ) const;
       
   162 
   148     RPointerArray< CXnNode >& AppearanceNodes() const;
   163     RPointerArray< CXnNode >& AppearanceNodes() const;
   149 
   164 
   150     CArrayPtrSeg< CXnResource >& Resources() const ;
   165     CArrayPtrSeg< CXnResource >& Resources() const ;
   151            
   166            
   152     void LoadUiL();
   167     void LoadUiL();
   153 
   168 
   154     void ReloadUiL();
   169     void ReloadUiL();
   155 
   170 
   156     TInt LoadWidgetToPluginL(
   171     TInt LoadWidgetToPluginL(
   157         CHsContentInfo& aContentInfo,
   172         const CHsContentInfo& aContentInfo,
   158         CXnPluginData& aPluginData );
   173         CXnPluginData& aPluginData );
   159 
   174 
   160     TInt UnloadWidgetFromPluginL(
   175     TInt UnloadWidgetFromPluginL(
   161         CXnPluginData& aPluginData, TBool aForce = EFalse );
   176         CXnPluginData& aPluginData, TBool aForce = EFalse );
   162         
   177         
   163     TInt ReplaceWidgetToPluginL(
   178     TInt ReplaceWidgetToPluginL(
   164         CHsContentInfo& aContentInfo,
   179         const CHsContentInfo& aContentInfo,
   165         CXnPluginData& aPluginData,
   180         CXnPluginData& aPluginData );
   166         TBool aUseHsps = ETrue );
       
   167 
   181 
   168     void ActivateNextViewL( TInt aEffectId = 0 );
   182     void ActivateNextViewL( TInt aEffectId = 0 );
   169 
   183 
   170     void ActivatePreviousViewL( TInt aEffectId = 0 );
   184     void ActivatePreviousViewL( TInt aEffectId = 0 );
   171 
   185 
   172     TInt AddViewL( CHsContentInfo& aInfo );
   186     TInt AddViewL( const CHsContentInfo& aInfo );
   173     
   187     
   174     void AddViewL( TInt aEffectId = 0 );
   188     void AddViewL( TInt aEffectId = 0 );
   175     
   189     
   176     TInt RemoveViewL( const CHsContentInfo& aInfo );
   190     TInt RemoveViewL( const CHsContentInfo& aInfo );
   177 
   191 
   281      * Not own.
   295      * Not own.
   282      */
   296      */
   283     CXnUiEngine* iUiEngine;
   297     CXnUiEngine* iUiEngine;
   284 
   298 
   285     /**
   299     /**
       
   300      * UI startup phase observer
       
   301      * Own.
       
   302      */
       
   303     CXnPropertySubscriber* iUiStartupPhase;
       
   304     
       
   305     /**
   286      * Comopser.
   306      * Comopser.
   287      * Own.
   307      * Own.
   288      */
   308      */
   289     CXnComposer* iComposer;
   309     CXnComposer* iComposer;
   290 
   310 
   330      * Own.
   350      * Own.
   331      */
   351      */
   332     RPointerArray< MXnViewObserver > iObservers;
   352     RPointerArray< MXnViewObserver > iObservers;
   333     
   353     
   334     /**
   354     /**
   335      * OOM system handler. Owned.
   355      * OOM system handler. 
       
   356      * Own.
   336      */
   357      */
   337     CXnOomSysHandler* iOomSysHandler;
   358     CXnOomSysHandler* iOomSysHandler;
   338     
   359     
       
   360     /**
       
   361      * Timer for system stability.
       
   362      * Own.
       
   363      */
       
   364     CPeriodic* iStabilityTimer;
       
   365         
   339 private:   
   366 private:   
   340     // Friend classes
   367     // Friend classes
   341     
   368     
   342     friend class CXnViewAdapter;       
   369     friend class CXnViewAdapter;           
   343     
       
   344     /**
       
   345      * Timer for system stability.
       
   346      */
       
   347     CPeriodic* iStabilityTimer;
       
   348     };
   370     };
   349 
   371 
   350 // Inline functions
   372 // Inline functions
   351 #include "xnviewmanager.inl"
   373 #include "xnviewmanager.inl"
   352 
   374