--- 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