appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h
changeset 25 98b66e4fb0be
child 29 26b6f0522fd8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginuihandler.h	Fri Apr 16 15:05:20 2010 +0300
@@ -0,0 +1,116 @@
+/*
+* 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:  MUiHandler for SISX SIF plugin.
+*
+*/
+
+#ifndef C_SISXSIFPLUGUIHANDLER_H
+#define C_SISXSIFPLUGUIHANDLER_H
+
+#include <e32base.h>                    // CBase
+#include <swi/msisuihandlers.h>         // MUiHandler
+#include <f32file.h>                    // RFs
+#include <barsc.h>                      // RResourceFile
+#include <sifui.h>                      // CSifUi::TMode
+
+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.
+     */
+    class CSisxSifPluginUiHandler : public CBase, public Swi::MUiHandler
+        {
+    public:     // constructors and destructor
+        static CSisxSifPluginUiHandler* NewL( RFs& aFs );
+        ~CSisxSifPluginUiHandler();
+
+    public:     // from MUiHandler
+        // 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<TDesC>& aComponents );
+        TBool DisplayApplicationsInUseL( const Swi::CAppInfo& aAppInfo,
+                const RPointerArray<TDesC>& 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<Swi::CCertificateInfo>& aCertificates );
+        TBool DisplayGrantCapabilitiesL( const Swi::CAppInfo& aAppInfo,
+                const TCapabilitySet& aCapabilitySet );
+        TInt DisplayLanguageL( const Swi::CAppInfo& aAppInfo,
+                const RArray<TLanguage>& aLanguages );
+        TInt DisplayDriveL( const Swi::CAppInfo& aAppInfo, TInt64 aSize,
+                const RArray<TChar>& aDriveLetters, const RArray<TInt64>& aDriveSpaces );
+        TBool DisplayUpgradeL( const Swi::CAppInfo& aAppInfo,
+                const Swi::CAppInfo& aExistingAppInfo );
+        TBool DisplayOptionsL( const Swi::CAppInfo& aAppInfo,
+                const RPointerArray<TDesC>& aOptions, RArray<TBool>& 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<CPKIXValidationResultBase>& aPkixResults,
+                RPointerArray<Swi::CCertificateInfo>& aCertificates, TBool aInstallAnyway );
+        TBool DisplayOcspResultL( const Swi::CAppInfo& aAppInfo,
+                Swi::TRevocationDialogMessage aMessage,
+                RPointerArray<TOCSPOutcome>& aOutcomes,
+                RPointerArray<Swi::CCertificateInfo>& 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:     // new functions
+        void DisplayCompleteL();
+        void DisplayFailedL( TInt aErrorCode );
+
+    private:    // new functions
+        CSisxSifPluginUiHandler( RFs& aFs );
+        void ConstructL();
+        void OpenResourceFileL();
+        HBufC* ReadStringResourceL( TInt aResourceId );
+        void CloseResourceFile();
+
+    private:    // data
+        RFs& iFs;
+        RResourceFile iResourceFile;
+        CSisxSifUiSelectionCache* iSelectionCache;
+        CSifUi* iSifUi;
+        CApaMaskedBitmap* iLogo;
+        TBool iQuestionIncompatibleDisplayed;
+        };
+
+}   // namespace Usif
+
+#endif      // C_SISXSIFPLUGUIHANDLER_H
+