idlehomescreen/xmluirendering/uiengine/inc/xneditor.h
branchRCL_3
changeset 17 b8fae6b8a148
parent 11 ff572dfe6d86
child 19 79311d856354
--- a/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h	Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h	Wed Mar 31 21:17:19 2010 +0300
@@ -39,6 +39,7 @@
 class CXnViewData;
 class CRepository;
 class CXnBackgroundManager;
+class CXnOomSysHandler;
 
 namespace hspswrapper
     {
@@ -238,20 +239,21 @@
 private:
     // new functions    
     
-    void TemplatedWidgetsL( RPointerArray< CHsContentInfo >& aWidgets );
-
-    void HSPSPluginsL( RPointerArray< CHsContentInfo >& aWidgets,
-        const TDesC8& aType );
-
-    CPublisherInfo* PublisherInfoL( const CHsContentInfo& aContentInfo );
+      CPublisherInfo* PublisherInfoL( const CHsContentInfo& aContentInfo );
 
     TInt TemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
     TInt NonTemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
     
     TBool IsCurrentViewFull();
-    void FilterWidgetListL( CHsContentInfoArray& aContentInfoArray,
+    
+    /**
+     * Filters plugins from the list and checks whether the plugins can be added or removed.
+     */
+    void FilterPluginsL( CHsContentInfoArray& aContentInfoArray,
         TBool aIgnoreViewFull );
+    
     void FilterViewListL( CHsContentInfoArray& aContentInfoArray ); 
+    CXnOomSysHandler& OomSysHandler() const;
     
     /**
      * Notifies the MHsContentControl and the MHsContentControlUi if widget list was changed.
@@ -269,6 +271,39 @@
     CHsContentInfo* CreateContentInfoLC( CXnPluginData& aPlugin, 
         RPointerArray< CHsContentInfo >& aInfos );
     
+    /**
+     * Appends plugin configurations to the content info array.
+     */
+    void AppendPluginsL(
+            RPointerArray< hspswrapper::CPluginInfo > aPlugins,
+            RPointerArray< CHsContentInfo >& aWidgets );
+    
+    /**
+     * Resets runtime cache.
+     */
+    void ResetCache();
+    
+    /**
+     * Retrieves native application configuration plugins from HSPS
+     */
+    void HspsApplicationPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+    
+    /**
+     * Retrieves native view configuration plugins from HSPS
+     */
+    void HspsViewPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+           
+    /**
+     * Retrieves widget and template configuration plugins from HSPS
+     */
+    void HspsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets );        
+    void DoHspsWidgetPluginsL();
+    
+    /**
+     * Retrieves publishers from CPS and them with the HSPS's template plugins
+     */
+    void CpsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+            
 private:
     // from MXnViewObserver    
     
@@ -320,6 +355,9 @@
     TBool iWidgetsVisibilityState;    
     /** Central repository , to choose plugin, owned*/
     CRepository* iRepository;
+	/** Plugins cache, owned */
+    RPointerArray< hspswrapper::CPluginInfo > iPluginsCache;
+    CXnOomSysHandler* iOomSysHandler;
     };
 
 #endif // C_XNEDITOR_H