--- a/iaupdate/IAD/updater/src/iaupdaterinstaller.cpp Thu Sep 02 20:34:03 2010 +0300
+++ b/iaupdate/IAD/updater/src/iaupdaterinstaller.cpp Fri Sep 17 08:30:26 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();