301 User::LeaveIfError(SendReceive(EExecuteQueue)); |
301 User::LeaveIfError(SendReceive(EExecuteQueue)); |
302 |
302 |
303 } |
303 } |
304 |
304 |
305 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
305 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
306 EXPORT_C void RSisLauncherSession::ParseSwTypeRegFileL(RFile& aFile, RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray) |
306 EXPORT_C void RSisLauncherSession::ParseSwTypeRegFileL(RFile& aFile, RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray) |
307 { |
307 { |
308 // Pack the file handle |
308 // Pack the file handle |
309 TIpcArgs ipcArgs; |
309 TIpcArgs ipcArgs; |
310 aFile.TransferToServer(ipcArgs, 0, 1); |
310 aFile.TransferToServer(ipcArgs, 0, 1); |
311 |
311 |
474 } |
474 } |
475 |
475 |
476 |
476 |
477 EXPORT_C void RSisLauncherSession::NotifyNewAppsL(const RArray<TAppUpdateInfo>& aAppUpdateInfo) |
477 EXPORT_C void RSisLauncherSession::NotifyNewAppsL(const RArray<TAppUpdateInfo>& aAppUpdateInfo) |
478 { |
478 { |
479 if (aAppUpdateInfo.Count() > 0) |
479 TInt bufLen = sizeof(TInt); |
480 { |
480 const TInt appCount = aAppUpdateInfo.Count(); |
481 TInt bufLen = sizeof(TInt); |
481 for (TInt i=0; i<appCount; ++i) |
482 const TInt appCount = aAppUpdateInfo.Count(); |
482 { |
483 for (TInt i=0; i<appCount; ++i) |
483 bufLen += GetObjectSizeL(&aAppUpdateInfo[i]); |
484 { |
484 } |
485 bufLen += GetObjectSizeL(&aAppUpdateInfo[i]); |
485 |
486 } |
486 HBufC8* buffer = HBufC8::NewLC(bufLen); |
487 |
487 TPtr8 bufPtr(buffer->Des()); |
488 HBufC8* buffer = HBufC8::NewLC(bufLen); |
488 |
489 TPtr8 bufPtr(buffer->Des()); |
489 RDesWriteStream ws(bufPtr); |
490 |
490 CleanupClosePushL(ws); |
491 RDesWriteStream ws(bufPtr); |
491 |
492 CleanupClosePushL(ws); |
492 ws.WriteInt32L(appCount); |
493 |
493 for (TInt i=0; i<appCount; ++i) |
494 ws.WriteInt32L(appCount); |
494 { |
495 for (TInt i=0; i<appCount; ++i) |
495 const TAppUpdateInfo& info = aAppUpdateInfo[i]; |
496 { |
496 ws << info; |
497 const TAppUpdateInfo& info = aAppUpdateInfo[i]; |
497 } |
498 ws << info; |
498 ws.CommitL(); |
499 } |
499 CleanupStack::PopAndDestroy(&ws); |
500 ws.CommitL(); |
500 |
501 CleanupStack::PopAndDestroy(&ws); |
501 TIpcArgs ipcArgs(&bufPtr); |
502 |
502 User::LeaveIfError(SendReceive(ENotifyApparcForApps, ipcArgs)); |
503 TIpcArgs ipcArgs(&bufPtr); |
503 |
504 User::LeaveIfError(SendReceive(ENotifyApparcForApps, ipcArgs)); |
504 CleanupStack::PopAndDestroy(buffer); |
505 |
|
506 CleanupStack::PopAndDestroy(buffer); |
|
507 } |
|
508 } |
505 } |
509 |
506 |
510 EXPORT_C TAppUpdateInfo::TAppUpdateInfo() |
507 EXPORT_C TAppUpdateInfo::TAppUpdateInfo() |
511 { |
508 { |
512 } |
509 } |