equal
deleted
inserted
replaced
404 if(iArraySersToRequest[index].iCloseSession) |
404 if(iArraySersToRequest[index].iCloseSession) |
405 { |
405 { |
406 INFO_PRINTF3(_L("%S :Closing session to server: %S"),&iTEFServerName, &iArraySersToRequest[index].iServerName ); |
406 INFO_PRINTF3(_L("%S :Closing session to server: %S"),&iTEFServerName, &iArraySersToRequest[index].iServerName ); |
407 CloseSessionL(iArraySersToRequest[index].iServerName); |
407 CloseSessionL(iArraySersToRequest[index].iServerName); |
408 } |
408 } |
409 |
|
410 // If it needs to wait for file installation (via swi) |
|
411 if(iArraySersToRequest[index].iWaitUntilFileAppears.CompareF(_L(""))!=0) |
|
412 { |
|
413 WaitThatFileAppearsL(iArraySersToRequest[index].iWaitUntilFileAppears); |
|
414 INFO_PRINTF3(_L("%S :File installed by SWI found: %S"),&iTEFServerName,&iArraySersToRequest[index].iWaitUntilFileAppears); |
|
415 } |
|
416 } // End of second loop |
409 } // End of second loop |
417 }// End of first loop |
410 }// End of first loop |
418 |
411 |
419 // Sets the status of the first instance of policy evaluator and dialog creator to |
412 // Sets the status of the first instance of policy evaluator and dialog creator to |
420 // completed so that the coordinator step can progress in concurrent mode |
413 // completed so that the coordinator step can progress in concurrent mode |
855 } |
848 } |
856 } |
849 } |
857 |
850 |
858 return checkPassed; |
851 return checkPassed; |
859 } // End of function. |
852 } // End of function. |
860 |
|
861 |
|
862 void CUpsClientStep::WaitThatFileAppearsL(const TDesC& aFileName) |
|
863 { |
|
864 RFs aFs; |
|
865 aFs.Connect(); |
|
866 |
|
867 RProperty checkSwiState; |
|
868 |
|
869 User::LeaveIfError(checkSwiState.Attach(KUidSystemCategory, Swi::KUidSoftwareInstallKey)); |
|
870 CleanupClosePushL(checkSwiState); |
|
871 |
|
872 TRequestStatus swiStatus; |
|
873 TInt swisState; |
|
874 |
|
875 while(ETrue) |
|
876 { |
|
877 checkSwiState.Subscribe(swiStatus); |
|
878 checkSwiState.Get(KUidSystemCategory,Swi::KUidSoftwareInstallKey, swisState); |
|
879 if(((swisState & Swi::KSwisOperationMask) == Swi::ESwisNone) && BaflUtils::FileExists(aFs,aFileName)) |
|
880 { |
|
881 checkSwiState.Cancel(); |
|
882 break; |
|
883 } |
|
884 User::WaitForRequest(swiStatus); |
|
885 } |
|
886 |
|
887 CleanupStack::PopAndDestroy(&checkSwiState); |
|
888 |
|
889 //Wait for swiobserver to shutdown |
|
890 while(ETrue) |
|
891 { |
|
892 _LIT(KSWIObserverName,"swiobserver.exe*"); |
|
893 TFindProcess finder(KSWIObserverName); |
|
894 TFullName result; |
|
895 if (KErrNone != finder.Next(result)) |
|
896 { |
|
897 break; |
|
898 } |
|
899 User::After(4000); |
|
900 } |
|
901 } // End of function. |
|