--- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h Tue Feb 02 00:04:13 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h Fri Feb 19 22:42:37 2010 +0200
@@ -30,9 +30,9 @@
class CXnControlAdapter;
class CXnViewData;
class CXnODT;
-class CXnDataPluginLoader;
class CXnViewManager;
class CPeriodic;
+
// Constants
// Class declaration
@@ -56,8 +56,7 @@
EIsEmpty,
EIsRemovable,
EIsActive,
- EIsInitial,
- EIsDataPluginsReady
+ EIsInitial
};
public:
@@ -112,9 +111,11 @@
// New functions
/**
- * Loads content to plugin
+ * Loads content to plugin
+ *
+ * @return KErrNone if succesful, error code otherwise
*/
- virtual void LoadL();
+ virtual TInt Load();
/**
* Destroys content from plugin
@@ -242,25 +243,6 @@
inline const TDesC8& Type() const;
/**
- * Sets new plugin state
- *
- * @param aConfigurationState Plugin state
- */
- void SetPluginStateL( const TDesC8& aPluginState );
-
- /*
- * Reverts plugin state back to confirmed from wait for confirmation
- */
- void RevertPluginState();
-
- /**
- * Returns plugin state
- *
- * @return Plugin state
- */
- inline const TDesC8& PluginState() const;
-
- /**
* void SetPublisherNameL( const TDesC8& aPublisherName )
* Sets the name of the publisher
*
@@ -405,14 +387,13 @@
* @param aVisible sets the popup visible or invisible
* @param aNode a pointer to the popup node
*/
- void SetIsDisplayingPopup ( TBool aVisible, CXnNode* aNode );
+ void SetIsDisplayingPopup( TBool aVisible, CXnNode* aNode );
/**
* Checks if the popup is displayed
*/
- TBool IsDisplayingPopup () const;
-
-
+ TBool IsDisplayingPopup() const;
+
/**
* Returns list of plugindata
*
@@ -421,45 +402,47 @@
inline RPointerArray< CXnPluginData >& PluginData() const;
/**
- * Loads data plugins associated to the plugin data
+ * Loads publishers, called by CXnViewData
+ *
+ * @param aReason Load reason
+ */
+ TInt LoadPublishers( TInt aReason );
+
+ /**
+ * Queries whether this plugins publishers are virgin
*
+ * @return ETrue if virgin, EFalse otherwise
*/
- virtual void LoadDataPluginsL();
+ TBool VirginPublishers() const;
+
+ /**
+ * Show content removed error note
+ */
+ void ShowContentRemovedError();
/**
- * Deletes data plugins associated to the plugin data
- */
- virtual void DestroyDataPluginsL();
-
- /**
- * Indicates that all data plugins are loaded by data plugin loader
- *
- * @param aStatus Loading status
- */
- virtual void DataPluginsLoadCompletedL( TInt aStatus );
-
- /**
- * Returns data plugin loading status
- *
- * @return ETrue if data plugins are loaded or there is no data
- * plugins associated to the plugin.
- * EFalse otherwise
- */
- virtual TBool DataPluginsLoaded() const;
-
-
+ * Show oom error note
+ */
+ void ShowOutOfMemError();
+
private:
// New functions
+
+ void LoadPublishers();
- static TInt RunL( TAny* aAny );
+ void DestroyPublishers();
+
+ void DoDestroyPublishersL();
+
+ void DoShowContentRemovedErrorL();
+
+ static TInt PeriodicEventL( TAny* aAny );
protected:
// data
- /** Data plugin loader, Owned */
+ /** Data publisher loader, Owned */
CPeriodic* iLoader;
- /** Data plugin load index */
- TInt iLoadIndex;
/** Plugins data */
mutable RPointerArray< CXnPluginData > iPluginsData;
/** List of plugin resources, Owned */
@@ -474,7 +457,6 @@
RPointerArray< CXnNode > iInitialFocusNodes;
/** List of popup focus nodes, Not owned */
RPointerArray< CXnNode > iPopupNodes;
-
/** Parent, Not owned */
CXnPluginData* iParent;
/** View manager, Not owned */
@@ -493,12 +475,12 @@
HBufC8* iPluginName;
/** Plugin type, Owned */
HBufC8* iPluginType;
- /** Plugin state, Owned */
- HBufC8* iPluginState;
/** Publisher name, Owned */
HBufC* iPublisherName;
/** Flags to define this plugin's state */
TBitFlags32 iFlags;
+ /** Flag to indicate whether this data's publishers are virgins */
+ TBool iVirginPublishers;
};
// Inline functions