appinstall_plat/sifui_api/inc/sifuiprivate.h
changeset 42 d17dc5398051
parent 37 6e7b00453237
child 55 ac7f90a6ff4c
child 60 245df5276b97
--- a/appinstall_plat/sifui_api/inc/sifuiprivate.h	Thu May 27 12:58:35 2010 +0300
+++ b/appinstall_plat/sifui_api/inc/sifuiprivate.h	Fri Jun 11 13:45:18 2010 +0300
@@ -20,15 +20,14 @@
 
 #include <e32base.h>                            // CActive
 #include <hb/hbcore/hbdevicedialogsymbian.h>    // MHbDeviceDialogObserver
+#include <hb/hbcore/hbindicatorsymbian.h>       // MHbIndicatorSymbianObserver
 #include <bamdesca.h>                           // MDesCArray
+#include <sifui.h>                              // CSifUi::TOptionalButtons
+#include <sifuidefs.h>                          // TSifUiDeviceDialogType
 
-class CHbDeviceDialog;
 class CHbSymbianVariantMap;
 class CHbSymbianVariant;
 class CActiveSchedulerWait;
-class CApaMaskedBitmap;
-class CSifUiCertificateInfo;
-class CSifUiAppInfo;
 
 namespace Swi {
     class CAppInfo;
@@ -39,11 +38,12 @@
  * Private part of the SIF UI API.
  * Only CSifUi class should use CSifUiPrivate class.
  */
-class CSifUiPrivate : public CActive, public MHbDeviceDialogObserver
+class CSifUiPrivate : public CActive, public MHbDeviceDialogObserver,
+        public MHbIndicatorSymbianObserver
     {
     public:     // constructor and destructor
         static CSifUiPrivate* NewL();
-        CSifUiPrivate::~CSifUiPrivate();
+        ~CSifUiPrivate();
 
     public:     // new functions
         TBool ShowConfirmationL( const CSifUiAppInfo& aAppInfo );
@@ -52,6 +52,8 @@
         void SetCertificateInfoL( const RPointerArray<CSifUiCertificateInfo>& aCertificates );
         void ShowProgressL( const CSifUiAppInfo& aAppInfo, TInt aProgressBarFinalValue );
         void IncreaseProgressBarValueL( TInt aIncrement );
+        TBool IsCancelled();
+        void SetButtonVisible( CSifUi::TOptionalButton aButton, TBool aIsVisible );
         void ShowCompleteL();
         void ShowFailedL( TInt aErrorCode, const TDesC& aErrorMessage,
                 const TDesC& aErrorDetails );
@@ -64,6 +66,9 @@
         void DataReceived( CHbSymbianVariantMap& aData );
         void DeviceDialogClosed( TInt aCompletionCode );
 
+    private:    // from MHbIndicatorSymbianObserver
+        void IndicatorUserActivated( const TDesC& aType, CHbSymbianVariantMap& aData );
+
     private:    // new functions
         CSifUiPrivate();
         void ConstructL();
@@ -74,23 +79,42 @@
         void AddParamL( const TDesC& aKey, const TDesC& aValue );
         void AddParamListL( const TDesC& aKey, const MDesCArray& aList );
         void AddParamsAppInfoL( const CSifUiAppInfo& aAppInfo );
-        void AddParamsIconL( const CApaMaskedBitmap* aIcon );
+        void AddParamsCertificatesL();
+        void AddParamsHiddenButtonsL();
+        void ResendAllInstallationDetailsL();
+        void ActivateInstallIndicatorL();
+        void UpdateInstallIndicatorProgressL();
+        void CloseInstallIndicator();
+        TBool IsIndicatorActive();
+        void ShowInstallIndicatorCompleteL( TInt aErrorCode );
+        void UpdateDialogAndWaitForResponseL();
+        void UpdateDialogOrIndicatorWithoutWaitingL();
+        void CompleteDialogOrIndicatorAndWaitForResponseL( TInt aErrorCode );
         void DisplayDeviceDialogL();
-        TInt WaitForResponse();
-        void ResponseReceived( TInt aCompletionCode );
+        void WaitForResponseL();
+        void WaitedResponseReceived( TInt aCompletionCode );
 
     private:    // data
         CHbDeviceDialogSymbian* iDeviceDialog;
+        CHbIndicatorSymbian* iIndicator;
         CHbSymbianVariantMap* iVariantMap;
         CActiveSchedulerWait* iWait;
         TBool iIsDisplayingDialog;
-        TInt iCompletionCode;
-        TInt iReturnValue;
-        CApaMaskedBitmap* iBitmap;
+        TBool iIsFirstTimeToDisplay;
+        TInt iWaitCompletionCode;
+        TInt iDialogReturnValue;
+        TSifUiDeviceDialogType iDialogType;
+        CSifUiAppInfo* iAppInfo;
+        CBufBase* iCertificateBuffer;
         HBufC* iSelectableDrives;
         TBool iSelectedDriveSet;
         TChar iSelectedDrive;
-        CHbSymbianVariant* iCertificateInfo;
+        TInt iProgressBarFinalValue;
+        TInt iProgressBarCurrentValue;
+        TBool iNoHideProgressButton;
+        TBool iNoCancelProgressButton;
+        TBool iNoShowInAppLibButton;
+        TBool iNoErrorDetailsButton;
     };