appinstaller/AppinstUi/Client/Src/SWInstLauncher.cpp
changeset 80 9dcba1ee99f7
parent 77 d1838696558c
equal deleted inserted replaced
77:d1838696558c 80:9dcba1ee99f7
     1 /*
       
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   This file contains the implementation of RSWInstLauncher 
       
    15 *                class member functions.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 // INCLUDE FILES
       
    21 #include <f32file.h>
       
    22 #include <eikenv.h>
       
    23 
       
    24 #include "SWInstApi.h"
       
    25 #include "SWInstDefs.h"
       
    26 #include "SWInstCommon.h"
       
    27 
       
    28 using namespace SwiUI;
       
    29 
       
    30 // ================= MEMBER FUNCTIONS =======================
       
    31 
       
    32 // -----------------------------------------------------------------------------
       
    33 // RSWInstLauncher::RSWInstLauncher
       
    34 // C++ default constructor can NOT contain any code, that
       
    35 // might leave.
       
    36 // -----------------------------------------------------------------------------
       
    37 //
       
    38 EXPORT_C RSWInstLauncher::RSWInstLauncher()
       
    39     : iConnected( EFalse )
       
    40     {
       
    41     }
       
    42 
       
    43 // -----------------------------------------------------------------------------
       
    44 // RSWInstLauncher::Connect
       
    45 // Creates connection to the server.
       
    46 // (other items were commented in a header).
       
    47 // -----------------------------------------------------------------------------
       
    48 //
       
    49 EXPORT_C TInt RSWInstLauncher::Connect()
       
    50     {
       
    51     TInt result( KErrNone );
       
    52 
       
    53     if ( !iConnected )
       
    54         {
       
    55         if ( CEikonEnv::Static() )
       
    56             {            
       
    57             TRAP( result, ConnectChainedAppL( KUidSWInstSvr ) );
       
    58             }
       
    59         else
       
    60             {
       
    61             TRAP( result, REikAppServiceBase::ConnectNewAppL( KUidSWInstSvr ) );            
       
    62             }
       
    63         
       
    64         if ( result == KErrNone )
       
    65             {
       
    66             iConnected = ETrue;
       
    67             }        
       
    68         }
       
    69     
       
    70     // Return the result code           
       
    71     return result; 
       
    72     }
       
    73 
       
    74 // -----------------------------------------------------------------------------
       
    75 // RSWInstLauncher::Close
       
    76 // Closes the connection to the server.
       
    77 // (other items were commented in a header).
       
    78 // -----------------------------------------------------------------------------
       
    79 //  
       
    80 EXPORT_C void RSWInstLauncher::Close()
       
    81     {
       
    82     if ( iConnected )
       
    83         {
       
    84         RAknAppServiceBase::Close();
       
    85         iConnected = EFalse;
       
    86         }    
       
    87     }
       
    88 
       
    89 // -----------------------------------------------------------------------------
       
    90 // RSWInstLauncher::Install
       
    91 // Launches the software install procedure.
       
    92 // (other items were commented in a header).
       
    93 // -----------------------------------------------------------------------------
       
    94 //
       
    95 EXPORT_C TInt RSWInstLauncher::Install( const TDesC& aFileName )
       
    96     {
       
    97     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
    98     
       
    99     TIpcArgs args;
       
   100     args.Set( KFileNameIpcSlot, &aFileName );
       
   101     return SendReceive( ERequestInstall, args );
       
   102     }
       
   103 
       
   104 // -----------------------------------------------------------------------------
       
   105 // RSWInstLauncher::Install
       
   106 // Launches the software install procedure.
       
   107 // (other items were commented in a header).
       
   108 // -----------------------------------------------------------------------------
       
   109 //
       
   110 EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus, 
       
   111                                         const TDesC& aFileName )
       
   112     {
       
   113     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   114     
       
   115     TIpcArgs args;
       
   116     args.Set( KFileNameIpcSlot, &aFileName );
       
   117     SendReceive( ERequestInstall, args, aReqStatus );
       
   118     }
       
   119 
       
   120 // -----------------------------------------------------------------------------
       
   121 // RSWInstLauncher::Install
       
   122 // Launches the software install procedure.
       
   123 // (other items were commented in a header).
       
   124 // -----------------------------------------------------------------------------
       
   125 //
       
   126 EXPORT_C TInt RSWInstLauncher::Install( RFile& aFile )
       
   127     {
       
   128     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   129     
       
   130     TIpcArgs args;
       
   131     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );    
       
   132     return SendReceive( ERequestInstallHandle, args );
       
   133     }
       
   134 
       
   135 // -----------------------------------------------------------------------------
       
   136 // RSWInstLauncher::Install
       
   137 // Launches the software install procedure.
       
   138 // (other items were commented in a header).
       
   139 // -----------------------------------------------------------------------------
       
   140 //
       
   141 EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus, 
       
   142                                         RFile& aFile )
       
   143     {
       
   144     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   145     
       
   146     TIpcArgs args;
       
   147     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );    
       
   148     SendReceive( ERequestInstallHandle, args, aReqStatus );
       
   149     }
       
   150   
       
   151 // -----------------------------------------------------------------------------
       
   152 // RSWInstLauncher::Install
       
   153 // Launches the software install procedure.
       
   154 // (other items were commented in a header).
       
   155 // -----------------------------------------------------------------------------
       
   156 //
       
   157 EXPORT_C TInt RSWInstLauncher::Install( const TDesC& aFileName, 
       
   158                                         const TDesC8& aParams )
       
   159     {
       
   160     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   161     
       
   162     TIpcArgs args;
       
   163     args.Set( KFileNameIpcSlot, &aFileName );
       
   164     args.Set( KParamsIpcSlot, &aParams );
       
   165 
       
   166     return SendReceive( ERequestInstallParams, args );
       
   167     }
       
   168 
       
   169 // -----------------------------------------------------------------------------
       
   170 // RSWInstLauncher::Install
       
   171 // Launches the software install procedure.
       
   172 // (other items were commented in a header).
       
   173 // -----------------------------------------------------------------------------
       
   174 //
       
   175 EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus, 
       
   176                                         const TDesC& aFileName,
       
   177                                         const TDesC8& aParams )
       
   178     {
       
   179     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   180     
       
   181     TIpcArgs args;
       
   182     args.Set( KFileNameIpcSlot, &aFileName );
       
   183     args.Set( KParamsIpcSlot, &aParams );
       
   184 
       
   185     SendReceive( ERequestInstallParams, args, aReqStatus );
       
   186     }
       
   187 
       
   188 // -----------------------------------------------------------------------------
       
   189 // RSWInstLauncher::Install
       
   190 // Launches the software install procedure.
       
   191 // (other items were commented in a header).
       
   192 // -----------------------------------------------------------------------------
       
   193 //
       
   194 EXPORT_C TInt RSWInstLauncher::Install( RFile& aFile,
       
   195                                         const TDesC8& aParams )
       
   196     {
       
   197     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   198     
       
   199     TIpcArgs args;
       
   200     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );    
       
   201     args.Set( KParamsIpcSlot, &aParams );    
       
   202 
       
   203     return SendReceive( ERequestInstallParamsHandle, args );
       
   204     }
       
   205 
       
   206 // -----------------------------------------------------------------------------
       
   207 // RSWInstLauncher::Install
       
   208 // Launches the software install procedure.
       
   209 // (other items were commented in a header).
       
   210 // -----------------------------------------------------------------------------
       
   211 //
       
   212 EXPORT_C void RSWInstLauncher::Install( TRequestStatus& aReqStatus, 
       
   213                                         RFile& aFile,
       
   214                                         const TDesC8& aParams )
       
   215     {
       
   216     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   217     
       
   218     TIpcArgs args;
       
   219     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );    
       
   220     args.Set( KParamsIpcSlot, &aParams );   
       
   221 
       
   222     SendReceive( ERequestInstallParamsHandle, args, aReqStatus );
       
   223     }
       
   224 
       
   225 // -----------------------------------------------------------------------------
       
   226 // RSWInstLauncher::SilentInstall
       
   227 // Launches the silent software install procedure.
       
   228 // (other items were commented in a header).
       
   229 // -----------------------------------------------------------------------------
       
   230 //
       
   231 EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& aFileName, 
       
   232                                               const TDesC8& aOptions )
       
   233     {
       
   234     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   235     
       
   236     TIpcArgs args;
       
   237     args.Set( KFileNameIpcSlot, &aFileName );
       
   238     args.Set( KOptionsIpcSlot, &aOptions );       
       
   239 
       
   240     return SendReceive( ERequestSilentInstall, args );
       
   241     }
       
   242 
       
   243 // -----------------------------------------------------------------------------
       
   244 // RSWInstLauncher::SilentInstall
       
   245 // Launches the silent software install procedure.
       
   246 // (other items were commented in a header).
       
   247 // -----------------------------------------------------------------------------
       
   248 //
       
   249 EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus, 
       
   250                                               const TDesC& aFileName, 
       
   251                                               const TDesC8& aOptions )
       
   252     {
       
   253     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   254     
       
   255     TIpcArgs args;
       
   256     args.Set( KFileNameIpcSlot, &aFileName );
       
   257     args.Set( KOptionsIpcSlot, &aOptions );   
       
   258     
       
   259     SendReceive( ERequestSilentInstall, args, aReqStatus );
       
   260     }
       
   261 
       
   262 // -----------------------------------------------------------------------------
       
   263 // RSWInstLauncher::SilentInstall
       
   264 // Launches the silent software install procedure.
       
   265 // (other items were commented in a header).
       
   266 // -----------------------------------------------------------------------------
       
   267 //
       
   268 EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& aFile,
       
   269                                               const TDesC8& aOptions )
       
   270     {
       
   271     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   272     
       
   273     TIpcArgs args;
       
   274     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
       
   275     args.Set( KOptionsIpcSlot, &aOptions );    
       
   276 
       
   277     return SendReceive( ERequestSilentInstallHandle, args );
       
   278     }
       
   279 
       
   280 // -----------------------------------------------------------------------------
       
   281 // RSWInstLauncher::SilentInstall
       
   282 // Launches the silent software install procedure.
       
   283 // (other items were commented in a header).
       
   284 // -----------------------------------------------------------------------------
       
   285 //
       
   286 EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus, 
       
   287                                               RFile& aFile,
       
   288                                               const TDesC8& aOptions )
       
   289     {
       
   290     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   291     
       
   292     TIpcArgs args;
       
   293     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
       
   294     args.Set( KOptionsIpcSlot, &aOptions );   
       
   295     
       
   296     SendReceive( ERequestSilentInstallHandle, args, aReqStatus );
       
   297     }
       
   298 
       
   299 // -----------------------------------------------------------------------------
       
   300 // RSWInstLauncher::SilentInstall
       
   301 // Launches the silent software install procedure.
       
   302 // (other items were commented in a header).
       
   303 // -----------------------------------------------------------------------------
       
   304 //
       
   305 EXPORT_C TInt RSWInstLauncher::SilentInstall( const TDesC& aFileName,
       
   306                                               const TDesC8& aParams, 
       
   307                                               const TDesC8& aOptions )
       
   308     {
       
   309     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   310 
       
   311     TIpcArgs args;
       
   312     args.Set( KFileNameIpcSlot, &aFileName );
       
   313     args.Set( KParamsIpcSlot, &aParams );   
       
   314     args.Set( KOptionsIpcSlot, &aOptions );   
       
   315 
       
   316     return SendReceive( ERequestSilentInstallParams, args );
       
   317     }
       
   318 
       
   319 // -----------------------------------------------------------------------------
       
   320 // RSWInstLauncher::SilentInstall
       
   321 // Launches the silent software install procedure.
       
   322 // (other items were commented in a header).
       
   323 // -----------------------------------------------------------------------------
       
   324 //
       
   325 EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
       
   326                                               const TDesC& aFileName,
       
   327                                               const TDesC8& aParams, 
       
   328                                               const TDesC8& aOptions )
       
   329     {
       
   330     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   331     
       
   332     TIpcArgs args;
       
   333     args.Set( KFileNameIpcSlot, &aFileName );
       
   334     args.Set( KParamsIpcSlot, &aParams );   
       
   335     args.Set( KOptionsIpcSlot, &aOptions );
       
   336     
       
   337     SendReceive( ERequestSilentInstallParams, args, aReqStatus );
       
   338     }
       
   339 
       
   340 // -----------------------------------------------------------------------------
       
   341 // RSWInstLauncher::SilentInstall
       
   342 // Launches the silent software install procedure.
       
   343 // (other items were commented in a header).
       
   344 // -----------------------------------------------------------------------------
       
   345 //
       
   346 EXPORT_C TInt RSWInstLauncher::SilentInstall( RFile& aFile,
       
   347                                               const TDesC8& aParams, 
       
   348                                               const TDesC8& aOptions )
       
   349     {
       
   350     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   351 
       
   352     TIpcArgs args;
       
   353     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
       
   354     args.Set( KParamsIpcSlot, &aParams );
       
   355     args.Set( KOptionsIpcSlot, &aOptions );    
       
   356 
       
   357     return SendReceive( ERequestSilentInstallParamsHandle, args );
       
   358     }
       
   359 
       
   360 // -----------------------------------------------------------------------------
       
   361 // RSWInstLauncher::SilentInstall
       
   362 // Launches the silent software install procedure.
       
   363 // (other items were commented in a header).
       
   364 // -----------------------------------------------------------------------------
       
   365 //
       
   366 EXPORT_C void RSWInstLauncher::SilentInstall( TRequestStatus& aReqStatus,
       
   367                                               RFile& aFile,
       
   368                                               const TDesC8& aParams, 
       
   369                                               const TDesC8& aOptions )
       
   370     {
       
   371     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   372     
       
   373     TIpcArgs args;
       
   374     aFile.TransferToServer( args, KFileHandleIpcSlot, KFileSrvSessionIpcSlot );
       
   375     args.Set( KParamsIpcSlot, &aParams );
       
   376     args.Set( KOptionsIpcSlot, &aOptions );    
       
   377     
       
   378     SendReceive( ERequestSilentInstallParamsHandle, args, aReqStatus );
       
   379     }
       
   380 
       
   381 // -----------------------------------------------------------------------------
       
   382 // RSWInstLauncher::Uninstall
       
   383 // Launches the software uninstall procedure.
       
   384 // (other items were commented in a header).
       
   385 // -----------------------------------------------------------------------------
       
   386 //
       
   387 EXPORT_C TInt RSWInstLauncher::Uninstall( const TUid& aUid,
       
   388                                           const TDesC8& aMIME )
       
   389     {
       
   390     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   391        
       
   392     TIpcArgs args;
       
   393     args.Set( KUidIpcSlot, aUid.iUid );
       
   394     args.Set( KMimeIpcSlot, &aMIME );
       
   395 
       
   396     return SendReceive( ERequestUninstall, args );
       
   397     }
       
   398 
       
   399 // -----------------------------------------------------------------------------
       
   400 // RSWInstLauncher::Uninstall
       
   401 // Launches the software uninstall procedure.
       
   402 // (other items were commented in a header).
       
   403 // -----------------------------------------------------------------------------
       
   404 //
       
   405 EXPORT_C void RSWInstLauncher::Uninstall( TRequestStatus& aReqStatus, 
       
   406                                           const TUid& aUid,
       
   407                                           const TDesC8& aMIME ) 
       
   408     {
       
   409     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   410   
       
   411     TIpcArgs args;
       
   412     args.Set( KUidIpcSlot, aUid.iUid );
       
   413     args.Set( KMimeIpcSlot, &aMIME );
       
   414     
       
   415     SendReceive( ERequestUninstall, args, aReqStatus );
       
   416     }
       
   417 
       
   418 // -----------------------------------------------------------------------------
       
   419 // RSWInstLauncher::SilentUninstall
       
   420 // Launches the silent software uninstall procedure.
       
   421 // (other items were commented in a header).
       
   422 // -----------------------------------------------------------------------------
       
   423 //
       
   424 EXPORT_C TInt RSWInstLauncher::SilentUninstall( const TUid& aUid,
       
   425                                                 const TDesC8& aOptions,
       
   426                                                 const TDesC8& aMIME )
       
   427     {
       
   428     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   429 
       
   430     TIpcArgs args;
       
   431     args.Set( KUidIpcSlot, aUid.iUid );
       
   432     args.Set( KOptionsIpcSlot, &aOptions );    
       
   433     args.Set( KMimeIpcSlot, &aMIME );
       
   434 
       
   435     return SendReceive( ERequestSilentUninstall, args );
       
   436     }
       
   437 
       
   438 // -----------------------------------------------------------------------------
       
   439 // RSWInstLauncher::SilentUninstall
       
   440 // Launches the silent software uninstall procedure.
       
   441 // (other items were commented in a header).
       
   442 // -----------------------------------------------------------------------------
       
   443 //
       
   444 EXPORT_C void RSWInstLauncher::SilentUninstall( TRequestStatus& aReqStatus,
       
   445                                                 const TUid& aUid,
       
   446                                                 const TDesC8& aOptions,
       
   447                                                 const TDesC8& aMIME )
       
   448     {
       
   449     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   450     
       
   451     TIpcArgs args;
       
   452     args.Set( KUidIpcSlot, aUid.iUid );
       
   453     args.Set( KOptionsIpcSlot, &aOptions );    
       
   454     args.Set( KMimeIpcSlot, &aMIME );
       
   455 
       
   456     SendReceive( ERequestSilentUninstall, args, aReqStatus );
       
   457     }
       
   458 
       
   459 // -----------------------------------------------------------------------------
       
   460 // RSWInstLauncher::CancelAsyncRequest
       
   461 // Cancel Asynchronous requests.
       
   462 // (other items were commented in a header).
       
   463 // -----------------------------------------------------------------------------
       
   464 //
       
   465 EXPORT_C TInt RSWInstLauncher::CancelAsyncRequest( TInt aReqToCancel )
       
   466     {
       
   467     TIpcArgs args;
       
   468     args.Set( KRequestIpcSlot, aReqToCancel );
       
   469 
       
   470     return SendReceive( ERequestCancelRequest, args );    
       
   471     }
       
   472 
       
   473 // -----------------------------------------------------------------------------
       
   474 // RSWInstLauncher::CustomUninstall
       
   475 // Performs a custom uninstallation.
       
   476 // (other items were commented in a header).
       
   477 // -----------------------------------------------------------------------------
       
   478 //
       
   479 EXPORT_C TInt RSWInstLauncher::CustomUninstall( TOperation aOperation, 
       
   480                                                 const TDesC8& aParams,
       
   481                                                 const TDesC8& aMIME )
       
   482     {
       
   483     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   484     
       
   485     TIpcArgs args;
       
   486     args.Set( KOperationIpcSlot, aOperation );
       
   487     args.Set( KCommonParamsIpcSlot, &aParams );   
       
   488     args.Set( KMimeIpcSlot, &aMIME ); 
       
   489 
       
   490     return SendReceive( ERequestCustomUninstall, args );
       
   491     }
       
   492   
       
   493 // -----------------------------------------------------------------------------
       
   494 // RSWInstLauncher::CustomUninstall
       
   495 // Performs a custom uninstallation.
       
   496 // (other items were commented in a header).
       
   497 // -----------------------------------------------------------------------------
       
   498 //
       
   499 EXPORT_C void RSWInstLauncher::CustomUninstall( TRequestStatus& aReqStatus, 
       
   500                                                 TOperation aOperation, 
       
   501                                                 const TDesC8& aParams,
       
   502                                                 const TDesC8& aMIME )
       
   503     {
       
   504     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   505     
       
   506     TIpcArgs args;
       
   507     args.Set( KOperationIpcSlot, aOperation );
       
   508     args.Set( KCommonParamsIpcSlot, &aParams );  
       
   509     args.Set( KMimeIpcSlot, &aMIME );  
       
   510 
       
   511     SendReceive( ERequestCustomUninstall, args, aReqStatus );
       
   512     }
       
   513 
       
   514 EXPORT_C CErrDetails* RSWInstLauncher::GetLastErrorL()
       
   515     {
       
   516     User::Leave( KErrNotSupported );    
       
   517     // Keep the compiler happy
       
   518     return NULL;    
       
   519     }
       
   520 
       
   521 // -----------------------------------------------------------------------------
       
   522 // RSWInstLauncher::SilentCustomUninstall
       
   523 // Performs a silent custom uninstallation.
       
   524 // (other items were commented in a header).
       
   525 // -----------------------------------------------------------------------------
       
   526 //
       
   527 EXPORT_C TInt RSWInstLauncher::SilentCustomUninstall( TOperation aOperation, 
       
   528                                                       const TDesC8& aOptions,
       
   529                                                       const TDesC8& aParams,
       
   530                                                       const TDesC8& aMIME )
       
   531     {
       
   532     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   533     
       
   534     TIpcArgs args;
       
   535     args.Set( KOptionsIpcSlot, &aOptions );
       
   536     args.Set( KOperationIpcSlot, aOperation );
       
   537     args.Set( KCommonParamsIpcSlot, &aParams );   
       
   538     args.Set( KMimeIpcSlot, &aMIME ); 
       
   539 
       
   540     return SendReceive( ERequestSilentCustomUninstall, args );
       
   541     }
       
   542   
       
   543 // -----------------------------------------------------------------------------
       
   544 // RSWInstLauncher::SilentCustomUninstall
       
   545 // Performs a silent custom uninstallation.
       
   546 // (other items were commented in a header).
       
   547 // -----------------------------------------------------------------------------
       
   548 //
       
   549 EXPORT_C void RSWInstLauncher::SilentCustomUninstall( TRequestStatus& aReqStatus,                                                       
       
   550                                                       TOperation aOperation, 
       
   551                                                       const TDesC8& aOptions,
       
   552                                                       const TDesC8& aParams,
       
   553                                                       const TDesC8& aMIME )
       
   554     {
       
   555     __ASSERT_ALWAYS( iConnected, PanicClient( ESWInstPanicBadHandle ) );
       
   556     
       
   557     TIpcArgs args;
       
   558     args.Set( KOptionsIpcSlot, &aOptions );
       
   559     args.Set( KOperationIpcSlot, aOperation );
       
   560     args.Set( KCommonParamsIpcSlot, &aParams );  
       
   561     args.Set( KMimeIpcSlot, &aMIME );  
       
   562 
       
   563     SendReceive( ERequestSilentCustomUninstall, args, aReqStatus );
       
   564     }
       
   565 
       
   566 // -----------------------------------------------------------------------------
       
   567 // RSWInstLauncher::PanicClient
       
   568 // Panics the client.
       
   569 // (other items were commented in a header).
       
   570 // -----------------------------------------------------------------------------
       
   571 //
       
   572 void RSWInstLauncher::PanicClient( TInt aPanic ) const
       
   573     {  
       
   574     _LIT( KSWInstClientFault, "SWInstCli" );
       
   575     User::Panic( KSWInstClientFault, aPanic );
       
   576     }
       
   577 
       
   578 // -----------------------------------------------------------------------------
       
   579 // RSWInstLauncher::ServiceUid
       
   580 // Returns the UID of the service that this session provides an interface for.
       
   581 // (other items were commented in a header).
       
   582 // -----------------------------------------------------------------------------
       
   583 //
       
   584 TUid RSWInstLauncher::ServiceUid() const
       
   585     {
       
   586     return TUid::Uid( KSWInstInstallServiceUid );    
       
   587     }
       
   588 
       
   589 
       
   590 //  End of File