appinstall_plat/sifui_api/src/sifui.cpp
changeset 29 26b6f0522fd8
parent 25 98b66e4fb0be
child 37 6e7b00453237
--- 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 <hb/hbcore/hbsymbiandevicedialog.h>    // CHbDeviceDialog
-#include <hb/hbcore/hbsymbianvariant.h>         // CHbSymbianVariantMap
-#include <swi/msisuihandlers.h>                 // Swi::CAppInfo
-#include <apgicnfl.h>                           // 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<Swi::CCertificateInfo>& aCertificates )
-    {
-    ChangeNoteTypeL( ESifUiConfirmationQuery );
+    TInt aAppSize, const CApaMaskedBitmap* aAppIcon )
+	{
+	return iPrivate->ShowConfirmationL( aAppInfo, aAppSize, aAppIcon );
+	}
+
+// ---------------------------------------------------------------------------
+// CSifUi::SetMemorySelectionL()
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CSifUi::SetMemorySelectionL( const RArray<TInt>& 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<Swi::CCertificateInfo>& 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<TBool>();
-        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<Swi::CCertificateInfo>& /*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 );
-        }
-    }