idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h
changeset 2 08c6ee43b396
parent 1 5315654608de
child 9 f966699dea19
equal deleted inserted replaced
1:5315654608de 2:08c6ee43b396
    22 #include <e32base.h>
    22 #include <e32base.h>
    23 #include <hscontentcontrolui.h>
    23 #include <hscontentcontrolui.h>
    24 
    24 
    25 // User includes
    25 // User includes
    26 #include "hscontentcontrolecomobserver.h"
    26 #include "hscontentcontrolecomobserver.h"
       
    27 #include "hscontentcontroluninstallobserver.h"
    27 
    28 
    28 // Forward declarations
    29 // Forward declarations
    29 class CHsContentControlEComListener;
    30 class CHsContentControlEComListener;
       
    31 class CHsContentControlUninstallMonitor;
    30 
    32 
    31 /**
    33 /**
    32  *  Content control UI base class
    34  *  Content control UI base class
    33  *
    35  *
    34  *
    36  *
    38  *
    40  *
    39  *  @lib hscontentcontrol.lib
    41  *  @lib hscontentcontrol.lib
    40  *  @since S60 v5.0
    42  *  @since S60 v5.0
    41  */
    43  */
    42 NONSHARABLE_CLASS( CHsContentControlFactory ) : public CBase,
    44 NONSHARABLE_CLASS( CHsContentControlFactory ) : public CBase,
    43                                                 public MHsContentControlEComObserver
    45                                                 public MHsContentControlEComObserver,
       
    46                                                 public MHsContentControlUninstallObserver
    44     {
    47     {
    45 public: // Constructor and destructor
    48 public: // Constructor and destructor
    46     /**
    49     /**
    47      * Two-phased constructor.
    50      * Two-phased constructor.
    48      */
    51      */
    51     /**
    54     /**
    52      * Destructor.
    55      * Destructor.
    53      */
    56      */
    54     IMPORT_C ~CHsContentControlFactory();
    57     IMPORT_C ~CHsContentControlFactory();
    55 
    58 
    56 public: // from MHsContentControlEComObserver
    59 private: // from MHsContentControlEComObserver
    57     
    60     
    58     /**
    61     /**
    59      * Notification of Ecom registry change.
    62      * Notification of Ecom registry change.
    60      */
    63      */
    61      void HandleEComChangeEvent();
    64      void HandleEComChangeEvent();
       
    65 
       
    66 private: // from MHsContentControlUninstallObserver
       
    67     
       
    68     /**
       
    69      * Notification of Uninstall event from SWI.
       
    70      * @param aPkgUid The package UID which is being uninstalled.
       
    71      */
       
    72      void HandleUninstallEvent( const TUid& aPkgUid );
    62     
    73     
    63 private: // Constructors
    74 private: // Constructors
    64     /**
    75     /**
    65      * Constructor
    76      * Constructor
    66      */
    77      */
    91     
   102     
    92     /**
   103     /**
    93      * Finds plugin implementation info in the ECOM registry.
   104      * Finds plugin implementation info in the ECOM registry.
    94      * @param aUid The plugin UID which is to be checked.
   105      * @param aUid The plugin UID which is to be checked.
    95      * @param aPluginArray The array of plugins which have been implemented.
   106      * @param aPluginArray The array of plugins which have been implemented.
    96      * @return ImplementationInfo of plugin. 
   107      * @return ImplementationInfo of plugin.
    97      */
   108      */
    98     CImplementationInformation* FindPluginImplInfo( 
   109     CImplementationInformation* FindPluginImplInfo( 
    99             const TUid& aUid, const RImplInfoPtrArray& aPlugInArray );
   110             const TUid& aUid, const RImplInfoPtrArray& aPlugInArray );
   100 
   111 
   101     /**
   112     /**
   118     RImplInfoPtrArray               iImplArray;
   129     RImplInfoPtrArray               iImplArray;
   119 
   130 
   120     /**
   131     /**
   121      * An object of type CHsContentControlEComListener ( Owned ).
   132      * An object of type CHsContentControlEComListener ( Owned ).
   122      */
   133      */
   123     CHsContentControlEComListener*  iHsContentControlEComListener; 
   134     CHsContentControlEComListener*  iHsContentControlEComListener;
       
   135 
       
   136     /**
       
   137      * An object of type CHsContentControlUninstallMonitor ( Owned ).
       
   138      */
       
   139     CHsContentControlUninstallMonitor*  iHsContentControlUninstallMonitor;
   124     };
   140     };
   125 
   141 
   126 
   142 
   127 #endif // HSCONTENTCONTROLFACTORY_H
   143 #endif // HSCONTENTCONTROLFACTORY_H
   128 
   144