appinstaller/AppinstUi/Daemon/Src/SilentLauncher.cpp
changeset 80 9dcba1ee99f7
parent 69 b18a4bf55ddb
--- a/appinstaller/AppinstUi/Daemon/Src/SilentLauncher.cpp	Thu Oct 14 14:11:30 2010 +0300
+++ b/appinstaller/AppinstUi/Daemon/Src/SilentLauncher.cpp	Wed Oct 20 14:52:56 2010 +0300
@@ -63,10 +63,7 @@
     iSifOptions->AddIntL( Usif::KSifInParam_IgnoreOCSPWarnings, Usif::EAllowed );            
     iSifOptions->AddIntL( Usif::KSifInParam_AllowAppShutdown, Usif::EAllowed );
     iSifOptions->AddIntL( Usif::KSifInParam_AllowDownload, Usif::EAllowed );
-    iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, Usif::EAllowed );
-        
-// TODO: is this defined in USIF?    
-    //iSifOptions->AddIntL( Usif::KSifInParam_Languages, NULL );    
+    iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, Usif::EAllowed );        
     }
 
 // -----------------------------------------------------------------------------
@@ -101,15 +98,12 @@
     delete iDrive;
     }
 
-
 // -----------------------------------------------------------------------------
 // CSilentLauncher::InstallL
 // Perform installation with file handle.
 // -----------------------------------------------------------------------------
 //
-void CSilentLauncher::InstallL( RFile& aFileHandle, 
-                                const TDesC& aFile, 
-                                TRequestStatus& aStatus )
+void CSilentLauncher::InstallL( RFile& aFileHandle, TRequestStatus& aStatus )
     {
     FLOG( _L("Daemon: CSilentLauncher::InstallL (aFileHandle) START") );
     
@@ -120,21 +114,26 @@
          iConnected = ETrue;            
          }
         
-    // Set drive for installer.
+    // Get drive number from file path. by default SWI Daemon installs
+    // package to drive where PA sis or SA sis is found.
     TInt driveNumber = 0;
     TDriveInfo driveInfo;
     aFileHandle.Drive( driveNumber, driveInfo );
     FLOG_1( _L("Daemon: Drive number = %d"), driveNumber );
-// TODO: Use TUint array for drive numbers when plugin does support it.      
-    iSifOptions->AddIntL( Usif::KSifInParam_Drive, driveNumber );
-                                 
+
+    RArray<TInt> driveArray;
+    CleanupClosePushL( driveArray );
+    User::LeaveIfError( driveArray.Append( driveNumber ) );        
+    iSifOptions->AddIntArrayL( Usif::KSifInParam_Drive, driveArray );
+    CleanupStack::PopAndDestroy( &driveArray );
+                                     
     FLOG( _L("Daemon: Launch install") );
     iSWInstallerFW.Install( aFileHandle, 
                            *iSifOptions, 
                            *iSifResults,
                            aStatus,
                            ETrue );
-    
+          
     FLOG( _L("Daemon: CSilentLauncher::InstallL (aFileHandle) END") );       
     }