diff -r 9674c1a575e9 -r b8fae6b8a148 idlehomescreen/xmluirendering/uiengine/inc/xneditor.h --- 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