idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h
branchRCL_3
changeset 9 f966699dea19
parent 2 08c6ee43b396
child 15 ff572dfe6d86
equal deleted inserted replaced
5:c743ef5928ba 9:f966699dea19
    27 #include "hscontentcontroluninstallobserver.h"
    27 #include "hscontentcontroluninstallobserver.h"
    28 
    28 
    29 // Forward declarations
    29 // Forward declarations
    30 class CHsContentControlEComListener;
    30 class CHsContentControlEComListener;
    31 class CHsContentControlUninstallMonitor;
    31 class CHsContentControlUninstallMonitor;
       
    32 class CXnAppUiAdapter;
    32 
    33 
    33 /**
    34 /**
    34  *  Content control UI base class
    35  *  Content control UI base class
    35  *
    36  *
    36  *
    37  *
    47     {
    48     {
    48 public: // Constructor and destructor
    49 public: // Constructor and destructor
    49     /**
    50     /**
    50      * Two-phased constructor.
    51      * Two-phased constructor.
    51      */
    52      */
    52     IMPORT_C static CHsContentControlFactory* NewL();
    53     IMPORT_C static CHsContentControlFactory* NewL( CXnAppUiAdapter& aAdapter );
    53 
    54 
    54     /**
    55     /**
    55      * Destructor.
    56      * Destructor.
    56      */
    57      */
    57     IMPORT_C ~CHsContentControlFactory();
    58     IMPORT_C ~CHsContentControlFactory();
    68     /**
    69     /**
    69      * Notification of Uninstall event from SWI.
    70      * Notification of Uninstall event from SWI.
    70      * @param aPkgUid The package UID which is being uninstalled.
    71      * @param aPkgUid The package UID which is being uninstalled.
    71      */
    72      */
    72      void HandleUninstallEvent( const TUid& aPkgUid );
    73      void HandleUninstallEvent( const TUid& aPkgUid );
    73     
    74 
    74 private: // Constructors
    75 private: // Constructors
    75     /**
    76     /**
    76      * Constructor
    77      * Constructor
    77      */
    78      */
    78     CHsContentControlFactory();
    79     CHsContentControlFactory( CXnAppUiAdapter& aAdapter );
    79 
    80 
    80     /** Second phase constructor */
    81     /** Second phase constructor */
    81     void ConstructL();
    82     void ConstructL();
    82 
       
    83 
    83 
    84 public: // New functions
    84 public: // New functions
    85     /**
    85     /**
    86      * 
    86      * 
    87      */
    87      */
    88     IMPORT_C MHsContentControlUi* GetHsContentController(
    88     IMPORT_C MHsContentControlUi* GetHsContentController(
    89         const TDesC8& aControllerType );
    89         const TDesC8& aControllerType );
    90 
    90 
    91 private:
    91 private:
       
    92 
       
    93     /** 
       
    94      * Deregisters/Removes/Deletes plugin's views from AppUi.
       
    95      */
       
    96     void ReleaseHsCcUi( CHsContentControlUi* aHsContentControlUi );
       
    97 
    92     /** 
    98     /** 
    93      * Finds and returns loaded ContentControlUi object from array.
    99      * Finds and returns loaded ContentControlUi object from array.
    94      */
   100      */
    95     MHsContentControlUi* FindHsContentController(
   101     MHsContentControlUi* FindHsContentController(
    96         const TDesC8& aControllerType );
   102         const TDesC8& aControllerType );
   117     TBool PluginUpgradeDowngrade( const CImplementationInformation& aPluginImplInfo );
   123     TBool PluginUpgradeDowngrade( const CImplementationInformation& aPluginImplInfo );
   118 
   124 
   119 private: // Data
   125 private: // Data
   120 
   126 
   121     /**
   127     /**
       
   128      * Reference to XnAppUiAdapter.
       
   129      */
       
   130     CXnAppUiAdapter& iAdapter;
       
   131 
       
   132     /**
   122      * An array of type CHsContentControlUi ( Owned ).
   133      * An array of type CHsContentControlUi ( Owned ).
   123      */
   134      */
   124     RPointerArray< CHsContentControlUi > iHsContentControlUis;
   135     RPointerArray< CHsContentControlUi > iHsContentControlUis;
   125     
   136     
   126     /**
   137     /**