idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
branchRCL_3
changeset 9 f966699dea19
parent 0 f72a12da539e
child 15 ff572dfe6d86
--- 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