idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h
branchRCL_3
changeset 9 f966699dea19
parent 2 08c6ee43b396
child 15 ff572dfe6d86
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h	Tue Feb 02 00:04:13 2010 +0200
+++ b/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h	Fri Feb 19 22:42:37 2010 +0200
@@ -29,6 +29,7 @@
 // Forward declarations
 class CHsContentControlEComListener;
 class CHsContentControlUninstallMonitor;
+class CXnAppUiAdapter;
 
 /**
  *  Content control UI base class
@@ -49,7 +50,7 @@
     /**
      * Two-phased constructor.
      */
-    IMPORT_C static CHsContentControlFactory* NewL();
+    IMPORT_C static CHsContentControlFactory* NewL( CXnAppUiAdapter& aAdapter );
 
     /**
      * Destructor.
@@ -70,17 +71,16 @@
      * @param aPkgUid The package UID which is being uninstalled.
      */
      void HandleUninstallEvent( const TUid& aPkgUid );
-    
+
 private: // Constructors
     /**
      * Constructor
      */
-    CHsContentControlFactory();
+    CHsContentControlFactory( CXnAppUiAdapter& aAdapter );
 
     /** Second phase constructor */
     void ConstructL();
 
-
 public: // New functions
     /**
      * 
@@ -89,6 +89,12 @@
         const TDesC8& aControllerType );
 
 private:
+
+    /** 
+     * Deregisters/Removes/Deletes plugin's views from AppUi.
+     */
+    void ReleaseHsCcUi( CHsContentControlUi* aHsContentControlUi );
+
     /** 
      * Finds and returns loaded ContentControlUi object from array.
      */
@@ -119,6 +125,11 @@
 private: // Data
 
     /**
+     * Reference to XnAppUiAdapter.
+     */
+    CXnAppUiAdapter& iAdapter;
+
+    /**
      * An array of type CHsContentControlUi ( Owned ).
      */
     RPointerArray< CHsContentControlUi > iHsContentControlUis;