appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIHandler.h
changeset 80 9dcba1ee99f7
parent 77 d1838696558c
--- a/appinstaller/AppinstUi/Plugin/SisxUI/Inc/SisxUIHandler.h	Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,438 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   This file contains the header file of the CSWSisUIHandler
-*                class.
-*
-*                This class handles the Ui for native installations.
-*
-*/
-
-
-#ifndef SISXUIHANDLER_H
-#define SISXUIHANDLER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <swi/msisuihandlers.h>
-#include <CUIDetailsDialog.h>
-#include <f32file.h>
-
-#include "CUIDialogs.h"
-#include "SisxUIResult.h"
-
-namespace SwiUI
-{
-
-// FORWARD DECLARATIONS
-class CSisxUISelectionCache;
-class CSisxUIAppInfo;
-
-/**
-* Enumeration for ocsp procedure.
-*
-* @since 3.0
-*/
-enum TSisxUIOcspProc
-    {
-    ESisxUIOcspProcOff = 0,
-    ESisxUIOcspProcOn,
-    ESisxUIOcspProcMust
-    };
-
-/**
-* This interface defines an observer for user initiated cancel.
-*
-* @since 3.0
-*/
-class MSisxUICancelObserver
-    {
-    public:
-       
-        /**
-        * Called when user has cancelled the operation. 
-        * @since 3.0
-        */       
-        virtual void UserCancelL( TBool aCancelImmediately ) = 0;        
-    };
-
-/**
-* This class handles the Ui for native installations.
-*
-* @lib sisxui.lib
-* @since 3.0
-*/
-class CSisxUIHandler : public CBase,
-                       public Swi::MUiHandler,
-                       public CommonUI::MCUIWaitDialogCallback
-    {
-    public:  // Constructors and destructor
-    
-        /**
-        * Enumeration for install mode.
-        * @since 3.0
-        */
-        enum TInstallMode
-        {
-        EModeInstall,
-        EModeUninstall
-        };        
-
-        /**
-        * Two-phased constructor.
-        * @param aMode - Indicates if this is for install or uninstall
-        */
-        static CSisxUIHandler* NewL( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CSisxUIHandler();
-        
-    public:  // From base classes
-        
-        /**
-        * From MUiHandler, displays a dialog at the beginning of an installation 
-        * with details about the SISX package being installed. This dialog must 
-        * be shown in TrustedUI mode.
-        */
-        TBool DisplayInstallL( const Swi::CAppInfo& aAppInfo,
-                               const CApaMaskedBitmap* aLogo,
-                               const RPointerArray<Swi::CCertificateInfo>& aCertificates ); 
-	
-        /**
-        * From MUiHandler, displays a dialog requesting that the user grants 
-        * these capabilities to the SISX package being installed. This dialog 
-        * must be shown in TrustedUI mode.
-        */
-        TBool DisplayGrantCapabilitiesL( const Swi::CAppInfo& aAppInfo, 
-                                         const TCapabilitySet& aCapabilitySet );
-										
-        /**
-        * From MUiHandler, requests preferred language and dialect information 
-        * from the UI.
-        */
-        TInt DisplayLanguageL( const Swi::CAppInfo& aAppInfo, 
-                               const RArray<TLanguage>& aLanguages );
-	
-        /**
-        * From MUiHandler, requests the drive to install the package on, from 
-        * the UI.
-        */
-        TInt DisplayDriveL( const Swi::CAppInfo& aAppInfo, 
-                            TInt64 aSize,
-                            const RArray<TChar>& aDriveLetters,
-                            const RArray<TInt64>& aDriveSpaces );
-	
-        /**
-        * From MUiHandler, displays a dialog asking whether we want to upgrade an 
-        * application present on the device.
-        */
-        TBool DisplayUpgradeL( const Swi::CAppInfo& aAppInfo, 
-                               const Swi::CAppInfo& aExistingAppInfo );
-	
-        /**
-        * From MUiHandler, displays a dialog box asking which options the user 
-        * wishes to install.
-        */
-        TBool DisplayOptionsL( const Swi::CAppInfo& aAppInfo,
-                               const RPointerArray<TDesC>& aOptions,
-                               RArray<TBool>& aSelections );
-        
-        /**
-        * From MUiHandler, informs the UI of events occurring during installation.  
-        */
-        TBool HandleInstallEventL( const Swi::CAppInfo& aAppInfo,
-                                  Swi::TInstallEvent aEvent, 
-                                  TInt aValue = 0, 
-                                  const TDesC& aDes = KNullDesC );
-        /**
-        * From MUiHandler, informs the UI of cancellable events occurring during 
-        * installation.  
-        */
-        void HandleCancellableInstallEventL( const Swi::CAppInfo& aAppInfo,
-                                             Swi::TInstallCancellableEvent aEvent, 
-                                             Swi::MCancelHandler& aCancelHandler,
-                                             TInt aValue = 0, 
-                                             const TDesC& aDes = KNullDesC );
-        /**
-        * From MUiHandler, displays a dialog indicating that the package is unsigned, 
-        * or that signature validation has failed.
-        */
-        TBool DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo,
-                                       Swi::TSignatureValidationResult aSigValidationResult,
-                                       RPointerArray<CPKIXValidationResultBase>& aPkixResults,
-                                       RPointerArray<Swi::CCertificateInfo>& aCertificates,
-                                       TBool aInstallAnyway );
-	
-        /**
-        * From MUiHandler, displays a dialog indicating that there was an error 
-        * carrying out online certificate status checking.
-        */
-        TBool DisplayOcspResultL( const Swi::CAppInfo& aAppInfo,
-                                  Swi::TRevocationDialogMessage aMessage,
-                                  RPointerArray<TOCSPOutcome>& aOutcomes, 
-                                  RPointerArray<Swi::CCertificateInfo>& aCertificates,
-                                  TBool aWarningOnly );
-	
-        /**
-        * From MUiHandler, used to inform the user the installation they are attempting 
-        * is trying to overwrite a file that does not belong to it. Following this 
-        * message installation is aborted.
-        */
-        void DisplayCannotOverwriteFileL( const Swi::CAppInfo& aAppInfo,
-                                          const Swi::CAppInfo& aInstalledAppInfo,
-                                          const TDesC& aFileName );
-       
-        /**
-        * Used to inform the user of a missing dependency needed to install the 
-        * current package. It is up to the UI implementors and/or the user whether
-        * or not this warning can be overridden.
-        */
-	TBool DisplayMissingDependencyL( const Swi::CAppInfo& aAppInfo,
-                                         const TDesC& aDependencyName,
-                                         TVersion aWantedVersionFrom,
-                                         TVersion aWantedVersionTo,
-                                         TVersion aInstalledVersion );
-        
-        /**
-        * From MUiHandler, displays a dialog at the start of the uninstallation with 
-        * information about the application to be uninstalled. The user may cancel the 
-        * uninstallation at this stage. This dialog must be shown in TrustedUI mode.
-        */
-        TBool DisplayUninstallL( const Swi::CAppInfo& aAppInfo );
-
-        /**
-        * From MUiHandler, displays a dialog containing text. This dialog has only a 
-        * Continue button if aOption is EInstFileTextOptionContinue, or Yes and No buttons 
-        * otherwise.
-        */
-        TBool DisplayTextL( const Swi::CAppInfo& aAppInfo, 
-                            Swi::TFileTextOption aOption,
-                            const TDesC& aText );
-        
-        /**
-        * From MUiHandler, displays a dialog showing an error message. 
-        */
-        void DisplayErrorL( const Swi::CAppInfo& aAppInfo,
-                            Swi::TErrorDialog aType, 
-                            const TDesC& aParam );
-        
-        /**
-        * From MUiHandler, displays a dialog indicating that a component which is being 
-        * uninstalled is a dependency of another component installed.
-        */
-        TBool DisplayDependencyBreakL( const Swi::CAppInfo& aAppInfo,
-                                       const RPointerArray<TDesC>& aComponents );
-		
-        /**
-        * From MUiHandler, informs user that the applications are in use during an 
-        * uninstallation. Return ETrue if the user wishes to continue the removal process and 
-        * close the applications anyway.
-        */
-        TBool DisplayApplicationsInUseL( const Swi::CAppInfo& aAppInfo, 
-                                         const RPointerArray<TDesC>& aAppNames );
-	
-        /**
-        * From MUiHandler, displays a generic question dialog with a Yes/No answer.
-        */
-        TBool DisplayQuestionL( const Swi::CAppInfo& aAppInfo, 
-                                Swi::TQuestionDialog aQuestion, 
-                                const TDesC& aDes = KNullDesC );
-
-        /**
-        * From, MCUIWaitDialogCallback, called when wait/progress dialog is about
-        * to be cancelled.
-        */
-        TBool HandleDialogExitL( TInt aButtonId );
-        
-    public:  // New functions
-        
-        /**
-        * Process the (un)installation result.
-        * @since 3.0
-        * @param aResult - Result from the (un)installation engine.
-        */
-        void ProcessResult( TInt aResult );
-
-        /**
-        * Return result of the installation.
-        * @since 3.0
-        * @return Result of the installation.
-        */
-        TSisxUIResult GetResult() const;
-
-        /**
-        * Show the final note.
-        * @since 3.0
-        */        
-        virtual void ShowFinalNoteL();        
-
-        /**
-        * Return the package information about this install/uninstall. Ownership
-        * does not transfer.
-        * @since 3.0
-        * @param aPackages - On return contains the package information.
-        */
-        void ProcessedPackages( RPointerArray<CSisxUIAppInfo>& aPackages );
-
-        /**
-        * Return the install mode of this instance.
-        * @since 3.0
-        * @return Install mode.
-        */
-        TInstallMode InstallMode() const;        
-
-        /**
-        * Sets the ocsp procedure for the installation.
-        * @since 3.0
-        * @param aOcspProc - Ocsp procedure.
-        */
-        void SetOcspProcedure( const TSisxUIOcspProc& aOcspProc );
-
-        /**
-        * Indicates if a dialog is shown to user and expecting some user input.
-        * @since 3.0
-        */
-        TBool IsShowingDialog();
-
-        /**
-        * Shows a cancelling wait dialog.
-        * @since 3.0
-        */
-        void ShowCancellingL();   
-
-        /**
-        * Sets the UI not to show final note.
-        * @since 3.0
-        */
-        void DoNotShowFinalNote();   
-
-        /**
-        * Resets the result to no result.
-        * @since 3.0
-        */
-        void ResetResult();        
-
-        /**
-        * Sets the file handle for showing drm details.
-        * @since 3.0
-        * @param aFile - File handle.
-        */
-        void SetFileForDrm( RFile& aFile );        
-
-        /**
-        * Sets the policy for allowing the installation of untrusted packages.
-        * @since 3.0
-        * @param aAllowUntrusted - True if untrusted is allowed.
-        */
-        void SetAllowUntrusted( TBool aAllowUntrusted );        
-
-    protected:
-        
-        /**
-        * Constructor.
-        * @param aMode - Indicates if this is for install or uninstall
-        */  
-        CSisxUIHandler( TInstallMode aMode, MSisxUICancelObserver* aCancelObserver );
-
-    private:    
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Convenience function for showing a Sisx specific error.
-        * @since 3.0
-        * @param aResourceId - Resource id of the error string.
-        */
-        void ShowErrorL( TInt aResourceId );
-
-        /**
-        * Convenience function for showing a Sisx specific error.
-        * @since 3.0
-        * @param aDes - String to be shown in error note.
-        */
-        void ShowErrorL( const TDesC& aDes );        
-        
-        /**
-        * Adds the given capability string to the descriptor. 
-        * @since 3.0
-        * @param aString - The descriptor where the capability string is added.
-        *                  This must be on top of the cleanup stack when the function
-                           is called.
-        * @param aResourceId - Resource id of the capability string.
-        */
-        void AddCapabilityL( HBufC*& aString, TInt aResourceId ); 
-
-        /**
-        * Displays a cancel note.
-        * @since 3.0
-        */
-        void DisplayCancelL();        
-
-        /**
-        * Displays a complete note.
-        * @since 3.0
-        */
-        void DisplayCompleteL();
-
-        /**
-        * Finalizes the installation by closing all open dialogs. 
-        * @since 3.0
-        */
-        void Finalize();
-
-        /**
-        * Callback used in message query. 
-        * @since 3.0
-        */
-        static TInt ShowCapabilitiesHelp( TAny* aPtr );        
-
-    protected:  // Data
-             
-        CommonUI::CCUIDialogs* iCommonDialogs; // Owned
-        RPointerArray<CommonUI::CCUICertificateInfo> iCertificateArray;  
-
-        TInstallMode iMode;  // Indicates whether we have install or uninstall in progress
-        TSisxUIOcspProc iOcspProc;
-        TBool iShownFinalNote;
-        TBool iIntegrityCheckDone; 
-        TBool iOcspInProgress;    
-        TBool iIncompatibleShown; 
-        TBool iShowingDialog;        
-
-        CSisxUISelectionCache* iCache;
-
-        TSisxUIResult iResult;
-        RPointerArray<CSisxUIAppInfo> iPackages;  // Owned   
-
-        MSisxUICancelObserver* iCancelObserver;  
-        TBool iCancelRequested;           
-
-        TBool iAllowUntrusted;        
-
-    private:
-
-        RFile iDrmFile; 
-        TBool iIsDrmFileSet; 
-        TBool iShowingWaitDialog;        
-    };
-
-}
-
-#endif      // SISXUIHANDLER_H   
-            
-// End of File