18 #ifndef C_SIFUIPRIVATE_H |
18 #ifndef C_SIFUIPRIVATE_H |
19 #define C_SIFUIPRIVATE_H |
19 #define C_SIFUIPRIVATE_H |
20 |
20 |
21 #include <e32base.h> // CActive |
21 #include <e32base.h> // CActive |
22 #include <hb/hbcore/hbdevicedialogsymbian.h> // MHbDeviceDialogObserver |
22 #include <hb/hbcore/hbdevicedialogsymbian.h> // MHbDeviceDialogObserver |
|
23 #include <hb/hbcore/hbindicatorsymbian.h> // MHbIndicatorSymbianObserver |
23 #include <bamdesca.h> // MDesCArray |
24 #include <bamdesca.h> // MDesCArray |
|
25 #include <sifui.h> // CSifUi::TOptionalButtons |
|
26 #include <sifuidefs.h> // TSifUiDeviceDialogType |
24 |
27 |
25 class CHbDeviceDialog; |
|
26 class CHbSymbianVariantMap; |
28 class CHbSymbianVariantMap; |
27 class CHbSymbianVariant; |
29 class CHbSymbianVariant; |
28 class CActiveSchedulerWait; |
30 class CActiveSchedulerWait; |
29 class CApaMaskedBitmap; |
|
30 class CSifUiCertificateInfo; |
|
31 class CSifUiAppInfo; |
|
32 |
31 |
33 namespace Swi { |
32 namespace Swi { |
34 class CAppInfo; |
33 class CAppInfo; |
35 class CCertificateInfo; |
34 class CCertificateInfo; |
36 } |
35 } |
37 |
36 |
38 /** |
37 /** |
39 * Private part of the SIF UI API. |
38 * Private part of the SIF UI API. |
40 * Only CSifUi class should use CSifUiPrivate class. |
39 * Only CSifUi class should use CSifUiPrivate class. |
41 */ |
40 */ |
42 class CSifUiPrivate : public CActive, public MHbDeviceDialogObserver |
41 class CSifUiPrivate : public CActive, public MHbDeviceDialogObserver, |
|
42 public MHbIndicatorSymbianObserver |
43 { |
43 { |
44 public: // constructor and destructor |
44 public: // constructor and destructor |
45 static CSifUiPrivate* NewL(); |
45 static CSifUiPrivate* NewL(); |
46 CSifUiPrivate::~CSifUiPrivate(); |
46 ~CSifUiPrivate(); |
47 |
47 |
48 public: // new functions |
48 public: // new functions |
49 TBool ShowConfirmationL( const CSifUiAppInfo& aAppInfo ); |
49 TBool ShowConfirmationL( const CSifUiAppInfo& aAppInfo ); |
50 void SetMemorySelectionL( const RArray<TInt>& aDriveNumbers ); |
50 void SetMemorySelectionL( const RArray<TInt>& aDriveNumbers ); |
51 TInt SelectedDrive( TInt& aDriveNumber ); |
51 TInt SelectedDrive( TInt& aDriveNumber ); |
52 void SetCertificateInfoL( const RPointerArray<CSifUiCertificateInfo>& aCertificates ); |
52 void SetCertificateInfoL( const RPointerArray<CSifUiCertificateInfo>& aCertificates ); |
53 void ShowProgressL( const CSifUiAppInfo& aAppInfo, TInt aProgressBarFinalValue ); |
53 void ShowProgressL( const CSifUiAppInfo& aAppInfo, TInt aProgressBarFinalValue ); |
54 void IncreaseProgressBarValueL( TInt aIncrement ); |
54 void IncreaseProgressBarValueL( TInt aIncrement ); |
|
55 TBool IsCancelled(); |
|
56 void SetButtonVisible( CSifUi::TOptionalButton aButton, TBool aIsVisible ); |
55 void ShowCompleteL(); |
57 void ShowCompleteL(); |
56 void ShowFailedL( TInt aErrorCode, const TDesC& aErrorMessage, |
58 void ShowFailedL( TInt aErrorCode, const TDesC& aErrorMessage, |
57 const TDesC& aErrorDetails ); |
59 const TDesC& aErrorDetails ); |
58 |
60 |
59 protected: // from CActive |
61 protected: // from CActive |
62 |
64 |
63 private: // from MHbDeviceDialogObserver |
65 private: // from MHbDeviceDialogObserver |
64 void DataReceived( CHbSymbianVariantMap& aData ); |
66 void DataReceived( CHbSymbianVariantMap& aData ); |
65 void DeviceDialogClosed( TInt aCompletionCode ); |
67 void DeviceDialogClosed( TInt aCompletionCode ); |
66 |
68 |
|
69 private: // from MHbIndicatorSymbianObserver |
|
70 void IndicatorUserActivated( const TDesC& aType, CHbSymbianVariantMap& aData ); |
|
71 |
67 private: // new functions |
72 private: // new functions |
68 CSifUiPrivate(); |
73 CSifUiPrivate(); |
69 void ConstructL(); |
74 void ConstructL(); |
70 void ClearParams(); |
75 void ClearParams(); |
71 CHbSymbianVariantMap* VariantMapL(); |
76 CHbSymbianVariantMap* VariantMapL(); |
72 void ChangeNoteTypeL( TInt aType ); |
77 void ChangeNoteTypeL( TInt aType ); |
73 void AddParamL( const TDesC& aKey, TInt aValue ); |
78 void AddParamL( const TDesC& aKey, TInt aValue ); |
74 void AddParamL( const TDesC& aKey, const TDesC& aValue ); |
79 void AddParamL( const TDesC& aKey, const TDesC& aValue ); |
75 void AddParamListL( const TDesC& aKey, const MDesCArray& aList ); |
80 void AddParamListL( const TDesC& aKey, const MDesCArray& aList ); |
76 void AddParamsAppInfoL( const CSifUiAppInfo& aAppInfo ); |
81 void AddParamsAppInfoL( const CSifUiAppInfo& aAppInfo ); |
77 void AddParamsIconL( const CApaMaskedBitmap* aIcon ); |
82 void AddParamsCertificatesL(); |
|
83 void AddParamsHiddenButtonsL(); |
|
84 void ResendAllInstallationDetailsL(); |
|
85 void ActivateInstallIndicatorL(); |
|
86 void UpdateInstallIndicatorProgressL(); |
|
87 void CloseInstallIndicator(); |
|
88 TBool IsIndicatorActive(); |
|
89 void ShowInstallIndicatorCompleteL( TInt aErrorCode ); |
|
90 void UpdateDialogAndWaitForResponseL(); |
|
91 void UpdateDialogOrIndicatorWithoutWaitingL(); |
|
92 void CompleteDialogOrIndicatorAndWaitForResponseL( TInt aErrorCode ); |
78 void DisplayDeviceDialogL(); |
93 void DisplayDeviceDialogL(); |
79 TInt WaitForResponse(); |
94 void WaitForResponseL(); |
80 void ResponseReceived( TInt aCompletionCode ); |
95 void WaitedResponseReceived( TInt aCompletionCode ); |
81 |
96 |
82 private: // data |
97 private: // data |
83 CHbDeviceDialogSymbian* iDeviceDialog; |
98 CHbDeviceDialogSymbian* iDeviceDialog; |
|
99 CHbIndicatorSymbian* iIndicator; |
84 CHbSymbianVariantMap* iVariantMap; |
100 CHbSymbianVariantMap* iVariantMap; |
85 CActiveSchedulerWait* iWait; |
101 CActiveSchedulerWait* iWait; |
86 TBool iIsDisplayingDialog; |
102 TBool iIsDisplayingDialog; |
87 TInt iCompletionCode; |
103 TBool iIsFirstTimeToDisplay; |
88 TInt iReturnValue; |
104 TInt iWaitCompletionCode; |
89 CApaMaskedBitmap* iBitmap; |
105 TInt iDialogReturnValue; |
|
106 TSifUiDeviceDialogType iDialogType; |
|
107 CSifUiAppInfo* iAppInfo; |
|
108 CBufBase* iCertificateBuffer; |
90 HBufC* iSelectableDrives; |
109 HBufC* iSelectableDrives; |
91 TBool iSelectedDriveSet; |
110 TBool iSelectedDriveSet; |
92 TChar iSelectedDrive; |
111 TChar iSelectedDrive; |
93 CHbSymbianVariant* iCertificateInfo; |
112 TInt iProgressBarFinalValue; |
|
113 TInt iProgressBarCurrentValue; |
|
114 TBool iNoHideProgressButton; |
|
115 TBool iNoCancelProgressButton; |
|
116 TBool iNoShowInAppLibButton; |
|
117 TBool iNoErrorDetailsButton; |
94 }; |
118 }; |
95 |
119 |
96 |
120 |
97 #endif // C_SIFUIPRIVATE_H |
121 #endif // C_SIFUIPRIVATE_H |
98 |
122 |