diff -r 98b66e4fb0be -r 26b6f0522fd8 appinstall_plat/sifui_api/src/sifui.cpp --- a/appinstall_plat/sifui_api/src/sifui.cpp Fri Apr 16 15:05:20 2010 +0300 +++ b/appinstall_plat/sifui_api/src/sifui.cpp Mon May 03 12:38:03 2010 +0300 @@ -16,11 +16,7 @@ */ #include "sifui.h" // CSifUi -#include "sifuidefs.h" // SIF UI device dialog parameters -#include // CHbDeviceDialog -#include // CHbSymbianVariantMap -#include // Swi::CAppInfo -#include // CApaMaskedBitmap +#include "sifuiprivate.h" // CSifUiPrivate // ======== MEMBER FUNCTIONS ======== @@ -54,29 +50,7 @@ // CSifUi::~CSifUi() { - Cancel(); - delete iWait; - delete iDeviceDialog; - delete iVariantMap; - delete iBitmap; - } - -// --------------------------------------------------------------------------- -// CSifUi::SetMode() -// --------------------------------------------------------------------------- -// -EXPORT_C void CSifUi::SetMode( TMode aMode ) - { - iMode = aMode; - } - -// --------------------------------------------------------------------------- -// CSifUi::Mode() -// --------------------------------------------------------------------------- -// -EXPORT_C CSifUi::TMode CSifUi::Mode() - { - return iMode; + delete iPrivate; } // --------------------------------------------------------------------------- @@ -84,28 +58,38 @@ // --------------------------------------------------------------------------- // EXPORT_C TBool CSifUi::ShowConfirmationL( const Swi::CAppInfo& aAppInfo, - TInt aAppSize, const CApaMaskedBitmap* aAppIcon, - const RPointerArray& aCertificates ) - { - ChangeNoteTypeL( ESifUiConfirmationQuery ); + TInt aAppSize, const CApaMaskedBitmap* aAppIcon ) + { + return iPrivate->ShowConfirmationL( aAppInfo, aAppSize, aAppIcon ); + } + +// --------------------------------------------------------------------------- +// CSifUi::SetMemorySelectionL() +// --------------------------------------------------------------------------- +// +EXPORT_C void CSifUi::SetMemorySelectionL( const RArray& aDriveNumbers ) + { + iPrivate->SetMemorySelectionL( aDriveNumbers ); + } - AddParamsAppInfoAndSizeL( aAppInfo, aAppSize ); - if( aAppIcon ) - { - AddParamsIconL( aAppIcon ); - } - if( aCertificates.Count() ) - { - AddParamsCertificatesL( aCertificates ); - } +// --------------------------------------------------------------------------- +// CSifUi::SelectedDrive() +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CSifUi::SelectedDrive( TInt& aDriveNumber ) + { + return iPrivate->SelectedDrive( aDriveNumber ); + } - // TODO: send drive list for drive selection, get selected drive - AddParamL( KSifUiMemorySelection, ETrue ); - - DisplayDeviceDialogL(); - User::LeaveIfError( WaitForResponse() ); - return( iReturnValue == KErrNone ); - } +// --------------------------------------------------------------------------- +// CSifUi::SetCertificateInfoL() +// --------------------------------------------------------------------------- +// +EXPORT_C void CSifUi::SetCertificateInfoL( + const RPointerArray& aCertificates ) + { + iPrivate->SetCertificateInfoL( aCertificates ); + } // --------------------------------------------------------------------------- // CSifUi::ShowProgressL() @@ -114,12 +98,7 @@ EXPORT_C void CSifUi::ShowProgressL( const Swi::CAppInfo& aAppInfo, TInt aAppSize, TInt aProgressBarFinalValue ) { - ChangeNoteTypeL( ESifUiProgressNote ); - - AddParamsAppInfoAndSizeL( aAppInfo, aAppSize ); - AddParamL( KSifUiProgressNoteFinalValue, aProgressBarFinalValue ); - - DisplayDeviceDialogL(); + iPrivate->ShowProgressL( aAppInfo, aAppSize, aProgressBarFinalValue ); } // --------------------------------------------------------------------------- @@ -128,11 +107,7 @@ // EXPORT_C void CSifUi::IncreaseProgressBarValueL( TInt aNewValue ) { - ChangeNoteTypeL( ESifUiProgressNote ); - - AddParamL( KSifUiProgressNoteValue, aNewValue ); - - DisplayDeviceDialogL(); + iPrivate->IncreaseProgressBarValueL( aNewValue ); } // --------------------------------------------------------------------------- @@ -141,89 +116,25 @@ // EXPORT_C void CSifUi::ShowCompleteL() { - ChangeNoteTypeL( ESifUiCompleteNote ); - DisplayDeviceDialogL(); - User::LeaveIfError( WaitForResponse() ); + iPrivate->ShowCompleteL(); } // --------------------------------------------------------------------------- // CSifUi::ShowFailedL() // --------------------------------------------------------------------------- // -EXPORT_C void CSifUi::ShowFailedL( TInt aErrorCode ) - { - ChangeNoteTypeL( ESifUiErrorNote ); - - AddParamL( KSifUiErrorCode, aErrorCode ); - - DisplayDeviceDialogL(); - User::LeaveIfError( WaitForResponse() ); - } - -// --------------------------------------------------------------------------- -// CSifUi::DoCancel() -// --------------------------------------------------------------------------- -// -void CSifUi::DoCancel() - { - if( iWait && iWait->IsStarted() && iWait->CanStopNow() ) - { - iCompletionCode = KErrCancel; - iWait->AsyncStop(); - } - } - -// --------------------------------------------------------------------------- -// CSifUi::RunL() -// --------------------------------------------------------------------------- -// -void CSifUi::RunL() +EXPORT_C void CSifUi::ShowFailedL( TInt aErrorCode, const TDesC& aErrorMessage, + const TDesC& aErrorDetails ) { - if( iWait ) - { - iWait->AsyncStop(); - } - } - -// --------------------------------------------------------------------------- -// CSifUi::DataReceived() -// --------------------------------------------------------------------------- -// -void CSifUi::DataReceived( CHbSymbianVariantMap& aData ) - { - const CHbSymbianVariant* acceptedVariant = aData.Get( KSifUiQueryAccepted ); - if( acceptedVariant ) - { - TBool* acceptedValue = acceptedVariant->Value(); - if( acceptedValue && *acceptedValue ) - { - iReturnValue = KErrNone; - } - else - { - iReturnValue = KErrCancel; - } - ResponseReceived( KErrNone ); - } - } - -// --------------------------------------------------------------------------- -// CSifUi::DeviceDialogClosed() -// --------------------------------------------------------------------------- -// -void CSifUi::DeviceDialogClosed( TInt aCompletionCode ) - { - iIsDisplayingDialog = EFalse; - ResponseReceived( aCompletionCode ); + iPrivate->ShowFailedL( aErrorCode, aErrorMessage, aErrorDetails ); } // --------------------------------------------------------------------------- // CSifUi::CSifUi() // --------------------------------------------------------------------------- // -CSifUi::CSifUi() : CActive( CActive::EPriorityStandard ) +CSifUi::CSifUi() { - CActiveScheduler::Add( this ); } // --------------------------------------------------------------------------- @@ -232,162 +143,29 @@ // void CSifUi::ConstructL() { - iWait = new( ELeave ) CActiveSchedulerWait; - // iDeviceDialog is allocated later, first call of DisplayDeviceDialogL() - } - -// --------------------------------------------------------------------------- -// CSifUi::ClearParamsL() -// --------------------------------------------------------------------------- -// -void CSifUi::ClearParamsL() - { - if( iVariantMap ) - { - delete iVariantMap; - iVariantMap = NULL; - } - iVariantMap = CHbSymbianVariantMap::NewL(); - } - -// --------------------------------------------------------------------------- -// CSifUi::ChangeNoteTypeL() -// --------------------------------------------------------------------------- -// -void CSifUi::ChangeNoteTypeL( TInt aType ) - { - ClearParamsL(); - AddParamL( KSifUiDialogType, aType ); - AddParamL( KSifUiDialogMode, iMode ); + iPrivate = CSifUiPrivate::NewL(); } -// --------------------------------------------------------------------------- -// CSifUi::AddParamL() -// --------------------------------------------------------------------------- -// -void CSifUi::AddParamL( const TDesC& aKey, TInt aValue ) - { - CHbSymbianVariant* variant = NULL; - variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EInt ); - iVariantMap->Add( aKey, variant ); - } + + -// --------------------------------------------------------------------------- -// CSifUi::AddParamL() -// --------------------------------------------------------------------------- -// -void CSifUi::AddParamL( const TDesC& aKey, const TDesC& aValue ) +// DEPRECATED FUNCTIONS -- TO BE REMOVED + +EXPORT_C void CSifUi::SetMode( TMode /*aMode*/ ) { - CHbSymbianVariant* variant = NULL; - variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EDes ); - iVariantMap->Add( aKey, variant ); - } - -// --------------------------------------------------------------------------- -// CSifUi::AddParamsAppInfoAndSizeL() -// --------------------------------------------------------------------------- -// -void CSifUi::AddParamsAppInfoAndSizeL( const Swi::CAppInfo& aAppInfo, TInt aAppSize ) - { - AddParamL( KSifUiApplicationName, aAppInfo.AppName() ); - const TVersion& version( aAppInfo.AppVersion() ); - if( version.iBuild || version.iMajor || version.iMinor ) - { - AddParamL( KSifUiApplicationVersion, version.Name() ); - } - if( aAppInfo.AppVendor().Length() ) - { - AddParamL( KSifUiApplicationDetails, aAppInfo.AppVendor() ); - } - if( aAppSize > 0 ) - { - AddParamL( KSifUiApplicationSize, aAppSize ); - } + User::Invariant(); } -// --------------------------------------------------------------------------- -// CSifUi::AddParamsIconL() -// --------------------------------------------------------------------------- -// -void CSifUi::AddParamsIconL( const CApaMaskedBitmap* aIcon ) +EXPORT_C CSifUi::TMode CSifUi::Mode() { - if( aIcon ) - { - if( iBitmap ) - { - delete iBitmap; - iBitmap = NULL; - } - iBitmap = CApaMaskedBitmap::NewL( aIcon ); - - CHbSymbianVariant* variant = NULL; - TInt bitmapHandle = iBitmap->Handle(); - variant = CHbSymbianVariant::NewL( &bitmapHandle, CHbSymbianVariant::EInt ); - iVariantMap->Add( KSifUiApplicationIconHandle, variant ); - TInt bitmapMaskHandle = iBitmap->Mask()->Handle(); - variant = CHbSymbianVariant::NewL( &bitmapMaskHandle, CHbSymbianVariant::EInt ); - iVariantMap->Add( KSifUiApplicationIconMaskHandle, variant ); - } - } - -// --------------------------------------------------------------------------- -// CSifUi::AddParamsCertificatesL() -// --------------------------------------------------------------------------- -// -void CSifUi::AddParamsCertificatesL( const RPointerArray& /*aCertificates*/ ) - { - // TODO: implement + User::Invariant(); + return EUnspecified; } -// --------------------------------------------------------------------------- -// CSifUi::DisplayDeviceDialogL() -// --------------------------------------------------------------------------- -// -void CSifUi::DisplayDeviceDialogL() +EXPORT_C void CSifUi::ShowFailedL( TInt /*aErrorCode*/ ) { - if( iDeviceDialog && iIsDisplayingDialog ) - { - iDeviceDialog->Update( *iVariantMap ); - } - else - { - if( !iDeviceDialog ) - { - iDeviceDialog = CHbDeviceDialog::NewL(); - } - iDeviceDialog->Show( KSifUiDeviceDialog, *iVariantMap, this ); - iIsDisplayingDialog = ETrue; - } + User::Invariant(); } -// --------------------------------------------------------------------------- -// CSifUi::WaitForResponse() -// --------------------------------------------------------------------------- -// -TInt CSifUi::WaitForResponse() - { - iCompletionCode = KErrInUse; - iReturnValue = KErrUnknown; - if( !IsActive() && iWait && !iWait->IsStarted() ) - { - iStatus = KRequestPending; - SetActive(); - iWait->Start(); - } - return iCompletionCode; - } -// --------------------------------------------------------------------------- -// CSifUi::ResponseReceived() -// --------------------------------------------------------------------------- -// -void CSifUi::ResponseReceived( TInt aCompletionCode ) - { - if( IsActive() ) - { - iCompletionCode = aCompletionCode; - TRequestStatus* status( &iStatus ); - User::RequestComplete( status, KErrNone ); - } - }