/** * Notify reset for RMobilePhone::NotifyCCBSRecall */ void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCCBSRecall( RMobilePhone& aMobilePhone, TEtelRequestBase& aRequestStatus, TCmpBase<RMobilePhone::TMobilePhoneCCBSEntryV2> &aMobilePhoneCCBSEntryV2, TInt aWantedStatus ) { // Wait for the request to complete TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort); ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCCBSRecall did not complete")) while ( err == KErrNone && aRequestStatus.Int() == KErrNone && !aMobilePhoneCCBSEntryV2.IsEqual(ENoLogError) ) { // Request has completed with incorrect result. Consume any outstanding // Repost notification until timeout or we get the right result. RMobilePhone::TMobilePhoneCCBSEntryV2Pckg pkgParam( aMobilePhoneCCBSEntryV2.GetValue() ); aMobilePhone.NotifyCCBSRecall(aRequestStatus, pkgParam); err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort); } ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCCBSRecall Wrong completion status")) ASSERT_TRUE(aMobilePhoneCCBSEntryV2.IsEqual(ELogError), _L("RMobilePhone::NotifyCCBSRecall Wrong result")) // Cancel request if it is still pending if (aRequestStatus.Int() == KRequestPending) { aRequestStatus.Cancel(); } }