/**
* Notify reset for RMobilePhone::NotifyCallForwardingStatusChange
*/	
void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallForwardingStatusChange( 
				RMobilePhone& aMobilePhone,
				TEtelRequestBase& aRequestStatus,
				RMobilePhone::TMobilePhoneCFCondition& aCondition, 
				RMobilePhone::TMobilePhoneCFCondition aExpectedCondition,
				TInt aWantedStatus )

	{
	// Wait for the request to complete	
	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallForwardingStatusChange did not complete"))
	
	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
							&& aCondition != aExpectedCondition )
		{
		// Request has completed with incorrect result. Consume any outstanding
		// Repost notification until timeout or we get the right result.
		
		aMobilePhone.NotifyCallForwardingStatusChange(aRequestStatus, aCondition);
		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
		}
		
	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallForwardingStatusChange Wrong completion status"))	
	ASSERT_EQUALS(aCondition, aExpectedCondition, 
				_L("RMobilePhone::NotifyCallForwardingStatusChange Wrong result"))	
	
	// Cancel request if it is still pending	
	if (aRequestStatus.Int() == KRequestPending)	
		{
		aRequestStatus.Cancel();
		}
	}