diff -r 5cc91383ab1e -r 7333d7932ef7 appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h Tue Aug 31 15:21:33 2010 +0300 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2010 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: UI Handler for normal (non-silent) install/uninstall operations. +* +*/ + +#ifndef C_SISXSIFPLUGUIHANDLER_H +#define C_SISXSIFPLUGUIHANDLER_H + +#include // CBase +#include "sisxsifpluginuihandlerbase.h" // CSisxSifPluginUiHandlerBase + +class CSifUi; +class CSifUiAppInfo; +class CSisxSifUiSelectionCache; +enum CSifUi::TInstallingPhase; + + +namespace Usif +{ + /** + * UI Handler for normal (non-silent) install/uninstall operations. + */ + class CSisxSifPluginUiHandler : public CSisxSifPluginUiHandlerBase + { + public: // constructors and destructor + static CSisxSifPluginUiHandler* NewL( RFs& aFs, + CSisxSifPluginErrorHandler& aErrorHandler ); + ~CSisxSifPluginUiHandler(); + + public: // from MUiHandler (via CSisxSifPluginUiHandlerBase) + // from MCommonDialogs + TBool DisplayTextL( const Swi::CAppInfo& aAppInfo, Swi::TFileTextOption aOption, + const TDesC& aText ); + void DisplayErrorL( const Swi::CAppInfo& aAppInfo, Swi::TErrorDialog aType, + const TDesC& aParam ); + TBool DisplayDependencyBreakL( const Swi::CAppInfo& aAppInfo, + const RPointerArray& aComponents ); + TBool DisplayApplicationsInUseL( const Swi::CAppInfo& aAppInfo, + const RPointerArray& aAppNames ); + TBool DisplayQuestionL( const Swi::CAppInfo& aAppInfo, Swi::TQuestionDialog aQuestion, + const TDesC& aDes ); + + // from MInstallerUiHandler + TBool DisplayInstallL( const Swi::CAppInfo& aAppInfo, const CApaMaskedBitmap* aLogo, + const RPointerArray& aCertificates ); + TBool DisplayGrantCapabilitiesL( const Swi::CAppInfo& aAppInfo, + const TCapabilitySet& aCapabilitySet ); + TInt DisplayLanguageL( const Swi::CAppInfo& aAppInfo, + const RArray& aLanguages ); + TInt DisplayDriveL( const Swi::CAppInfo& aAppInfo, TInt64 aSize, + const RArray& aDriveLetters, const RArray& aDriveSpaces ); + TBool DisplayUpgradeL( const Swi::CAppInfo& aAppInfo, + const Swi::CAppInfo& aExistingAppInfo ); + TBool DisplayOptionsL( const Swi::CAppInfo& aAppInfo, + const RPointerArray& aOptions, RArray& aSelections ); + TBool HandleInstallEventL( const Swi::CAppInfo& aAppInfo, Swi::TInstallEvent aEvent, + TInt aValue, const TDesC& aDes ); + void HandleCancellableInstallEventL( const Swi::CAppInfo& aAppInfo, + Swi::TInstallCancellableEvent aEvent, Swi::MCancelHandler& aCancelHandler, + TInt aValue, const TDesC& aDes ); + TBool DisplaySecurityWarningL( const Swi::CAppInfo& aAppInfo, + Swi::TSignatureValidationResult aSigValidationResult, + RPointerArray& aPkixResults, + RPointerArray& aCertificates, TBool aInstallAnyway ); + TBool DisplayOcspResultL( const Swi::CAppInfo& aAppInfo, + Swi::TRevocationDialogMessage aMessage, + RPointerArray& aOutcomes, + RPointerArray& aCertificates, TBool aWarningOnly ); + void DisplayCannotOverwriteFileL( const Swi::CAppInfo& aAppInfo, + const Swi::CAppInfo& aInstalledAppInfo, const TDesC& aFileName ); + TBool DisplayMissingDependencyL( const Swi::CAppInfo& aAppInfo, + const TDesC& aDependencyName, TVersion aWantedVersionFrom, + TVersion aWantedVersionTo, TVersion aInstalledVersion ); + + // from MUninstallerUiHandler + TBool DisplayUninstallL( const Swi::CAppInfo& aAppInfo ); + + public: // from CSisxSifPluginUiHandlerBase + void DisplayPreparingInstallL( const TDesC& aFileName ); + void DisplayCompleteL(); + void DisplayFailedL( const CSisxSifPluginErrorHandler& aError ); + + public: // new functions + void SetDriveSelectionRequired( TBool aIsRequired ); + + private: // new functions + CSisxSifPluginUiHandler( RFs& aFs, CSisxSifPluginErrorHandler& aErrorHandler ); + void ConstructL(); + void AddMemorySelectionL(); + void AddCertificatesL( RPointerArray& aCertificates, + RPointerArray& aPkixResults ); + CSifUiAppInfo* GetAppInfoLC( const Swi::CAppInfo& aAppInfo ); + void ShowProgressL( const Swi::CAppInfo& aAppInfo, TInt aProgressBarFinalValue, + CSifUi::TInstallingPhase aPhase ); + TBool ShowConfirmationL( const Swi::CAppInfo& aAppInfo ); + + private: // data + CSifUi* iSifUi; + CSisxSifUiSelectionCache* iSelectionCache; + CApaMaskedBitmap* iLogo; + TBool iQuestionIncompatibleDisplayed; + RArray iSelectableDrives; + }; + +} // namespace Usif + +#endif // C_SISXSIFPLUGUIHANDLER_H +