appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h
changeset 37 6e7b00453237
parent 33 8110bf1194d1
child 42 d17dc5398051
--- a/appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h	Fri May 14 15:58:48 2010 +0300
+++ b/appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h	Thu May 27 12:58:35 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  MUiHandler for SISX SIF plugin.
+* Description:  UI Handler for normal (non-silent) install/uninstall operations.
 *
 */
 
@@ -19,28 +19,24 @@
 #define C_SISXSIFPLUGUIHANDLER_H
 
 #include <e32base.h>                    // CBase
-#include <swi/msisuihandlers.h>         // MUiHandler
-#include <f32file.h>                    // RFs
-#include <sifui.h>                      // CSifUi
+#include "sisxsifpluginuihandlerbase.h" // CSisxSifPluginUiHandlerBase
 
+class CSifUi;
 class CSisxSifUiSelectionCache;
 
 
 namespace Usif
 {
     /**
-     *  SISX SIF plugin UI handler
-     *  Universal Software Install Framework (USIF) plugin for native SISX
-     *  installation. CSisxSifPluginActiveImpl is active object that takes
-     *  care of SISX installation operations.
+     * UI Handler for normal (non-silent) install/uninstall operations.
      */
-    class CSisxSifPluginUiHandler : public CBase, public Swi::MUiHandler
+    class CSisxSifPluginUiHandler : public CSisxSifPluginUiHandlerBase
         {
     public:     // constructors and destructor
         static CSisxSifPluginUiHandler* NewL( RFs& aFs );
         ~CSisxSifPluginUiHandler();
 
-    public:     // from MUiHandler
+    public:     // from MUiHandler (via CSisxSifPluginUiHandlerBase)
         // from MCommonDialogs
         TBool DisplayTextL( const Swi::CAppInfo& aAppInfo, Swi::TFileTextOption aOption,
                 const TDesC& aText );
@@ -88,12 +84,13 @@
         // from MUninstallerUiHandler
         TBool DisplayUninstallL( const Swi::CAppInfo& aAppInfo );
 
-    public:     // new functions
+    public:     // from CSisxSifPluginUiHandlerBase
         void DisplayPreparingInstallL( const TDesC& aFileName );
         void DisplayCompleteL();
         void DisplayFailedL( TInt aErrorCode );
+
+    public:     // new functions
         void SetDriveSelectionRequired( TBool aIsRequired );
-        void SetMaxInstalledSize( TInt aSize );
 
     private:    // new functions
         CSisxSifPluginUiHandler( RFs& aFs );
@@ -103,12 +100,16 @@
                 RPointerArray<CPKIXValidationResultBase>& aPkixResults );
 
     private:    // data
-        RFs& iFs;
+        enum TMode
+            {
+            EModeUndefined,
+            EModeInstall,
+            EModeUninstall
+            } iMode;
+        CSifUi* iSifUi;
         CSisxSifUiSelectionCache* iSelectionCache;
-        CSifUi* iSifUi;
         CApaMaskedBitmap* iLogo;
         TBool iQuestionIncompatibleDisplayed;
-        TInt iMaxInstalledSize;
         TBool iDriveSelectionRequired;
         RArray<TInt> iSelectableDrives;
         };