authorisation/userpromptservice/test/tups/src/tupsclientstep.cpp
changeset 94 0e6c5a9328b5
parent 8 35751d3474b7
child 96 a71299154b21
equal deleted inserted replaced
90:8c545fea2798 94:0e6c5a9328b5
   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.