iaupdate/IAD/updater/src/iaupdaterinstaller.cpp
changeset 69 b18a4bf55ddb
parent 0 ba25891c3a9e
child 77 d1838696558c
--- a/iaupdate/IAD/updater/src/iaupdaterinstaller.cpp	Fri Aug 20 11:39:56 2010 +0300
+++ b/iaupdate/IAD/updater/src/iaupdaterinstaller.cpp	Fri Sep 03 17:01:40 2010 +0300
@@ -16,13 +16,14 @@
 */
 
 
-
 #include "iaupdaterinstaller.h"
 #include "iaupdatermngr.h"
 #include "iaupdatersilentlauncher.h"
 #include "iaupdaterdefs.h"
 #include "iaupdatedebug.h"
 
+#include <usif/usiferror.h>
+
 
 // ======== LOCAL FUNCTIONS =========
 
@@ -81,6 +82,8 @@
             
     iFilesToInstall.ResetAndDestroy();
     delete iInstallLauncher;
+    
+    delete iResults;
 
     IAUPDATE_TRACE("[IAUpdater] CIAUpdaterInstaller::~CIAUpdaterInstaller end");
     }
@@ -95,6 +98,7 @@
     {
     IAUPDATE_TRACE("[IAUpdater] CIAUpdaterInstaller::ConstructL begin");       
     User::LeaveIfError( iTimer.CreateLocal() );
+    iResults = Usif::COpaqueNamedParams::NewL();
     IAUPDATE_TRACE("[IAUpdater] CIAUpdaterInstaller::ConstructL end");
     }
 
@@ -247,8 +251,12 @@
         case EDSisInstallerStateInstalling:
             { 
             IAUPDATE_TRACE("[IAUpdater] RunL() Sis Inst. state INSTALLING");                    
-                                                                                     
-            if ( iStatus.Int() == SwiUI::KSWInstErrBusy )
+            
+            // Get error category
+            TInt errCategory = iResults->GetIntByNameL
+                    (Usif::KSifOutParam_ErrCategory, errCategory);
+            
+            if ( errCategory == Usif::EInstallerBusy )
                 {
                 IAUPDATE_TRACE("[IAUpdater] RunL() SWInstaller Busy"); 
                 
@@ -260,10 +268,10 @@
                 SetActive();                        
                 break;                        
                 }                
-            else if ( (iStatus.Int() == SwiUI::KSWInstErrSecurityFailure && 
+            else if ( (errCategory == Usif::ESecurityError && 
                 iInstallErr == KErrNone) ||
                 (iStatus.Int() != KErrNone && 
-                iStatus.Int() != SwiUI::KSWInstErrSecurityFailure) )
+                 iStatus.Int() != errCategory == Usif::ESecurityError) )
                 {
                 IAUPDATE_TRACE("[IAUpdater] RunL() Ins. err or sec. failure"); 
                 
@@ -296,7 +304,7 @@
                 ++iFileIndex;
 
                 IAUPDATE_TRACE_1("[IAUpdater] RunL() Start install %S", &iSisFile ); 
-                iInstallLauncher->InstallL( iSisFile, iStatus );                
+                iInstallLauncher->InstallL( iSisFile, iStatus, iResults );                
                 iState = EDSisInstallerStateInstalling;                    
                 SetActive();
                 }
@@ -312,7 +320,7 @@
             IAUPDATE_TRACE("[IAUpdater] RunL() Sis Inst. state INSTALLER BUSY");  
             IAUPDATE_TRACE_1("[IAUpdater] RunL() Start install for %S", &iSisFile ); 
                         
-            iInstallLauncher->InstallL( iSisFile, iStatus );
+            iInstallLauncher->InstallL( iSisFile, iStatus, iResults );
             iState = EDSisInstallerStateInstalling;
 
             SetActive();