telephonyserverplugins/common_tsy/test/integration/src/tsupplementaltsytesthelper.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/common_tsy/test/integration/src/tsupplementaltsytesthelper.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tsupplementaltsytesthelper.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,491 +1,491 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "tsupplementaltsytesthelper.h" 
-
-
-
-/**
-* Constructor
-*/	
-TSupplementalTsyTestHelper::TSupplementalTsyTestHelper(CCTSYIntegrationTestSuiteStepBase& aTestStep)
-			: TTsyTestHelperBase( aTestStep )
-	{
-	}
-/**
-* Notify reset for RMobilePhone::NotifyCCBSRecall
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCCBSRecall( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				TCmpBase<RMobilePhone::TMobilePhoneCCBSEntryV1> &aMobilePhoneCCBSEntryV1,
-				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  	
-							&& !aMobilePhoneCCBSEntryV1.IsEqual(ENoLogError) )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.		
-		RMobilePhone::TMobilePhoneCCBSEntryV1Pckg pkgParam( aMobilePhoneCCBSEntryV1.GetValue() );
-		aMobilePhone.NotifyCCBSRecall(aRequestStatus, pkgParam);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCCBSRecall Wrong completion status"))	
-	ASSERT_TRUE(aMobilePhoneCCBSEntryV1.IsEqual(ELogError), 
-				_L("RMobilePhone::NotifyCCBSRecall Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* 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();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCCBSStatusChange
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCCBSStatusChange( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobilePhoneCCBSStatus& aCcbsStatus, 
-				RMobilePhone::TMobilePhoneCCBSStatus aExpectedCcbsStatus,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCCBSStatusChange did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& aCcbsStatus != aExpectedCcbsStatus )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.
-		
-		aMobilePhone.NotifyCCBSStatusChange(aRequestStatus, aCcbsStatus);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCCBSStatusChange Wrong completion status"))	
-	ASSERT_EQUALS(aCcbsStatus, aExpectedCcbsStatus, 
-				_L("RMobilePhone::NotifyCCBSStatusChange Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCallBarringStatusChange
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallBarringStatusChange( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobilePhoneCBCondition& aCondition, 
-				RMobilePhone::TMobilePhoneCBCondition aExpectedCondition,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeLong);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallBarringStatusChange 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.NotifyCallBarringStatusChange(aRequestStatus, aCondition);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallBarringStatusChange Wrong completion status"))	
-	ASSERT_EQUALS(aCondition, aExpectedCondition, 
-				_L("RMobilePhone::NotifyCallBarringStatusChange Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCallForwardingActive
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallForwardingActive( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobileService& aServiceGroup, 
-				RMobilePhone::TMobileService aExpectedServiceGroup,
-				RMobilePhone::TMobilePhoneCFActive &aActiveType,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallForwardingActive did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& aServiceGroup != aExpectedServiceGroup )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.
-		
-		aMobilePhone.NotifyCallForwardingActive(aRequestStatus, aServiceGroup, aActiveType);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallForwardingActive Wrong completion status"))	
-	ASSERT_EQUALS(aServiceGroup, aExpectedServiceGroup, 
-				_L("RMobilePhone::NotifyCallForwardingActive Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* 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();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCallServiceCapsChange
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallServiceCapsChange( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				TUint32& aCaps, 
-				TUint32 aWantedCaps,
-				TUint32 aUnwantedCaps,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallServiceCapsChange did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  
-							&& ( ((aCaps & aWantedCaps) != aWantedCaps)
-								 || ((aCaps & aUnwantedCaps) != 0) ) )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.	
-		aMobilePhone.NotifyCallServiceCapsChange(aRequestStatus, aCaps);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, 
-				_L("RMobilePhone::NotifyCallServiceCapsChange Wrong completion status"))	
-	ASSERT_BITS_SET(aCaps, aWantedCaps, aUnwantedCaps, 
-				_L("RMobilePhone::NotifyCallServiceCapsChange Wrong caps"))
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCallWaitingStatusChange
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallWaitingStatusChange( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				TCmpBase<RMobilePhone::TMobilePhoneCWInfoEntryV1> &aMobilePhoneCWInfoEntryV1,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallWaitingStatusChange did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& !aMobilePhoneCWInfoEntryV1.IsEqual(ENoLogError) )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.		
-		RMobilePhone::TMobilePhoneCWInfoEntryV1Pckg pkgParam( aMobilePhoneCWInfoEntryV1.GetValue() );
-		aMobilePhone.NotifyCallWaitingStatusChange(aRequestStatus, pkgParam);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallWaitingStatusChange Wrong completion status"))	
-	ASSERT_TRUE(aMobilePhoneCWInfoEntryV1.IsEqual(ELogError), 
-				_L("RMobilePhone::NotifyCallWaitingStatusChange Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyCipheringIndicatorStatus
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCipheringIndicatorStatus( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobileCallCipheringIndicator& aIndicatorStatus, 
-				RMobilePhone::TMobileCallCipheringIndicator aExpectedIndicatorStatus,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCipheringIndicatorStatus did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& aIndicatorStatus != aExpectedIndicatorStatus )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.
-		
-		aMobilePhone.NotifyCipheringIndicatorStatus(aRequestStatus, aIndicatorStatus);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCipheringIndicatorStatus Wrong completion status"))	
-	ASSERT_EQUALS(aIndicatorStatus, aExpectedIndicatorStatus, 
-				_L("RMobilePhone::NotifyCipheringIndicatorStatus Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyIdentityServiceStatus
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyIdentityServiceStatus( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobilePhoneIdService& aService, 
-				RMobilePhone::TMobilePhoneIdService aExpectedService,
-				RMobilePhone::TMobilePhoneIdServiceStatus &aStatus,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyIdentityServiceStatus did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& aService != aExpectedService )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.
-		
-		aMobilePhone.NotifyIdentityServiceStatus(aRequestStatus, aService, aStatus);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-		
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyIdentityServiceStatus Wrong completion status"))	
-	ASSERT_EQUALS(aService, aExpectedService, 
-				_L("RMobilePhone::NotifyIdentityServiceStatus Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifyIdentitySuppressionRejected
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyIdentitySuppressionRejected( 
-				TEtelRequestBase& aRequestStatus,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyIdentitySuppressionRejected did not complete"))
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyIdentitySuppressionRejected Wrong completion status"))		
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobilePhone::NotifySendNetworkServiceRequest
-*/	
-void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifySendNetworkServiceRequest( 
-				RMobilePhone& aMobilePhone,
-				TEtelRequestBase& aRequestStatus,
-				RMobilePhone::TMobilePhoneNotifySendSSOperation &aOperation,
-				TCmpBase<RMobilePhone::TMobilePhoneSendSSRequestV3> &aMobilePhoneSendSSRequestV3,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifySendNetworkServiceRequest did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& !aMobilePhoneSendSSRequestV3.IsEqual(ENoLogError) )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.		
-		RMobilePhone::TMobilePhoneSendSSRequestV3Pckg pkgParam( aMobilePhoneSendSSRequestV3.GetValue() );
-		aMobilePhone.NotifySendNetworkServiceRequest(aRequestStatus, aOperation, pkgParam);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifySendNetworkServiceRequest Wrong completion status"))	
-	ASSERT_TRUE(aMobilePhoneSendSSRequestV3.IsEqual(ELogError), 
-				_L("RMobilePhone::NotifySendNetworkServiceRequest Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
-/**
-* Notify reset for RMobileUssdMessaging::NotifyNetworkRelease
-*/	
-void TSupplementalTsyTestHelper::WaitForMobileUssdMessagingNotifyNetworkRelease( 
-				RMobileUssdMessaging& aMobileUssdMessaging,
-				TEtelRequestBase& aRequestStatus,
-				TCmpBase<RMobileUssdMessaging::TMobileUssdAttributesV1> &aMobileUssdAttributesV1,
-				TDes8 &aMsgAttributes,
-				TInt aWantedStatus )
-
-	{
-	// Wait for the request to complete	
-	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
-	ASSERT_EQUALS(err, KErrNone, _L("RMobileUssdMessaging::NotifyNetworkRelease did not complete"))
-	
-	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
-							&& !aMobileUssdAttributesV1.IsEqual(ENoLogError) )
-		{
-		// Request has completed with incorrect result. Consume any outstanding
-		// Repost notification until timeout or we get the right result.		
-		RMobileUssdMessaging::TMobileUssdAttributesV1Pckg pkgParam( aMobileUssdAttributesV1.GetValue() );
-		aMobileUssdMessaging.NotifyNetworkRelease(aRequestStatus, pkgParam, aMsgAttributes);
-		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
-		}
-
-	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobileUssdMessaging::NotifyNetworkRelease Wrong completion status"))	
-	ASSERT_TRUE(aMobileUssdAttributesV1.IsEqual(ELogError), 
-				_L("RMobileUssdMessaging::NotifyNetworkRelease Wrong result"))	
-	
-	// Cancel request if it is still pending	
-	if (aRequestStatus.Int() == KRequestPending)	
-		{
-		aRequestStatus.Cancel();
-		}
-	}
-
-		
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "tsupplementaltsytesthelper.h" 
+
+
+
+/**
+* Constructor
+*/	
+TSupplementalTsyTestHelper::TSupplementalTsyTestHelper(CCTSYIntegrationTestSuiteStepBase& aTestStep)
+			: TTsyTestHelperBase( aTestStep )
+	{
+	}
+/**
+* Notify reset for RMobilePhone::NotifyCCBSRecall
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCCBSRecall( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				TCmpBase<RMobilePhone::TMobilePhoneCCBSEntryV1> &aMobilePhoneCCBSEntryV1,
+				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  	
+							&& !aMobilePhoneCCBSEntryV1.IsEqual(ENoLogError) )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.		
+		RMobilePhone::TMobilePhoneCCBSEntryV1Pckg pkgParam( aMobilePhoneCCBSEntryV1.GetValue() );
+		aMobilePhone.NotifyCCBSRecall(aRequestStatus, pkgParam);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCCBSRecall Wrong completion status"))	
+	ASSERT_TRUE(aMobilePhoneCCBSEntryV1.IsEqual(ELogError), 
+				_L("RMobilePhone::NotifyCCBSRecall Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* 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();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCCBSStatusChange
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCCBSStatusChange( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobilePhoneCCBSStatus& aCcbsStatus, 
+				RMobilePhone::TMobilePhoneCCBSStatus aExpectedCcbsStatus,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCCBSStatusChange did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& aCcbsStatus != aExpectedCcbsStatus )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.
+		
+		aMobilePhone.NotifyCCBSStatusChange(aRequestStatus, aCcbsStatus);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCCBSStatusChange Wrong completion status"))	
+	ASSERT_EQUALS(aCcbsStatus, aExpectedCcbsStatus, 
+				_L("RMobilePhone::NotifyCCBSStatusChange Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCallBarringStatusChange
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallBarringStatusChange( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobilePhoneCBCondition& aCondition, 
+				RMobilePhone::TMobilePhoneCBCondition aExpectedCondition,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeLong);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallBarringStatusChange 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.NotifyCallBarringStatusChange(aRequestStatus, aCondition);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallBarringStatusChange Wrong completion status"))	
+	ASSERT_EQUALS(aCondition, aExpectedCondition, 
+				_L("RMobilePhone::NotifyCallBarringStatusChange Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCallForwardingActive
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallForwardingActive( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobileService& aServiceGroup, 
+				RMobilePhone::TMobileService aExpectedServiceGroup,
+				RMobilePhone::TMobilePhoneCFActive &aActiveType,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallForwardingActive did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& aServiceGroup != aExpectedServiceGroup )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.
+		
+		aMobilePhone.NotifyCallForwardingActive(aRequestStatus, aServiceGroup, aActiveType);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallForwardingActive Wrong completion status"))	
+	ASSERT_EQUALS(aServiceGroup, aExpectedServiceGroup, 
+				_L("RMobilePhone::NotifyCallForwardingActive Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* 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();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCallServiceCapsChange
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallServiceCapsChange( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				TUint32& aCaps, 
+				TUint32 aWantedCaps,
+				TUint32 aUnwantedCaps,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallServiceCapsChange did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  
+							&& ( ((aCaps & aWantedCaps) != aWantedCaps)
+								 || ((aCaps & aUnwantedCaps) != 0) ) )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.	
+		aMobilePhone.NotifyCallServiceCapsChange(aRequestStatus, aCaps);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, 
+				_L("RMobilePhone::NotifyCallServiceCapsChange Wrong completion status"))	
+	ASSERT_BITS_SET(aCaps, aWantedCaps, aUnwantedCaps, 
+				_L("RMobilePhone::NotifyCallServiceCapsChange Wrong caps"))
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCallWaitingStatusChange
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCallWaitingStatusChange( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				TCmpBase<RMobilePhone::TMobilePhoneCWInfoEntryV1> &aMobilePhoneCWInfoEntryV1,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCallWaitingStatusChange did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& !aMobilePhoneCWInfoEntryV1.IsEqual(ENoLogError) )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.		
+		RMobilePhone::TMobilePhoneCWInfoEntryV1Pckg pkgParam( aMobilePhoneCWInfoEntryV1.GetValue() );
+		aMobilePhone.NotifyCallWaitingStatusChange(aRequestStatus, pkgParam);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCallWaitingStatusChange Wrong completion status"))	
+	ASSERT_TRUE(aMobilePhoneCWInfoEntryV1.IsEqual(ELogError), 
+				_L("RMobilePhone::NotifyCallWaitingStatusChange Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyCipheringIndicatorStatus
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyCipheringIndicatorStatus( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobileCallCipheringIndicator& aIndicatorStatus, 
+				RMobilePhone::TMobileCallCipheringIndicator aExpectedIndicatorStatus,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyCipheringIndicatorStatus did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& aIndicatorStatus != aExpectedIndicatorStatus )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.
+		
+		aMobilePhone.NotifyCipheringIndicatorStatus(aRequestStatus, aIndicatorStatus);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyCipheringIndicatorStatus Wrong completion status"))	
+	ASSERT_EQUALS(aIndicatorStatus, aExpectedIndicatorStatus, 
+				_L("RMobilePhone::NotifyCipheringIndicatorStatus Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyIdentityServiceStatus
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyIdentityServiceStatus( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobilePhoneIdService& aService, 
+				RMobilePhone::TMobilePhoneIdService aExpectedService,
+				RMobilePhone::TMobilePhoneIdServiceStatus &aStatus,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyIdentityServiceStatus did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& aService != aExpectedService )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.
+		
+		aMobilePhone.NotifyIdentityServiceStatus(aRequestStatus, aService, aStatus);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+		
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyIdentityServiceStatus Wrong completion status"))	
+	ASSERT_EQUALS(aService, aExpectedService, 
+				_L("RMobilePhone::NotifyIdentityServiceStatus Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifyIdentitySuppressionRejected
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifyIdentitySuppressionRejected( 
+				TEtelRequestBase& aRequestStatus,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifyIdentitySuppressionRejected did not complete"))
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifyIdentitySuppressionRejected Wrong completion status"))		
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobilePhone::NotifySendNetworkServiceRequest
+*/	
+void TSupplementalTsyTestHelper::WaitForMobilePhoneNotifySendNetworkServiceRequest( 
+				RMobilePhone& aMobilePhone,
+				TEtelRequestBase& aRequestStatus,
+				RMobilePhone::TMobilePhoneNotifySendSSOperation &aOperation,
+				TCmpBase<RMobilePhone::TMobilePhoneSendSSRequestV3> &aMobilePhoneSendSSRequestV3,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobilePhone::NotifySendNetworkServiceRequest did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& !aMobilePhoneSendSSRequestV3.IsEqual(ENoLogError) )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.		
+		RMobilePhone::TMobilePhoneSendSSRequestV3Pckg pkgParam( aMobilePhoneSendSSRequestV3.GetValue() );
+		aMobilePhone.NotifySendNetworkServiceRequest(aRequestStatus, aOperation, pkgParam);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobilePhone::NotifySendNetworkServiceRequest Wrong completion status"))	
+	ASSERT_TRUE(aMobilePhoneSendSSRequestV3.IsEqual(ELogError), 
+				_L("RMobilePhone::NotifySendNetworkServiceRequest Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+		
+/**
+* Notify reset for RMobileUssdMessaging::NotifyNetworkRelease
+*/	
+void TSupplementalTsyTestHelper::WaitForMobileUssdMessagingNotifyNetworkRelease( 
+				RMobileUssdMessaging& aMobileUssdMessaging,
+				TEtelRequestBase& aRequestStatus,
+				TCmpBase<RMobileUssdMessaging::TMobileUssdAttributesV1> &aMobileUssdAttributesV1,
+				TDes8 &aMsgAttributes,
+				TInt aWantedStatus )
+
+	{
+	// Wait for the request to complete	
+	TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);	
+	ASSERT_EQUALS(err, KErrNone, _L("RMobileUssdMessaging::NotifyNetworkRelease did not complete"))
+	
+	while (	err == KErrNone && aRequestStatus.Int() == KErrNone  	
+							&& !aMobileUssdAttributesV1.IsEqual(ENoLogError) )
+		{
+		// Request has completed with incorrect result. Consume any outstanding
+		// Repost notification until timeout or we get the right result.		
+		RMobileUssdMessaging::TMobileUssdAttributesV1Pckg pkgParam( aMobileUssdAttributesV1.GetValue() );
+		aMobileUssdMessaging.NotifyNetworkRelease(aRequestStatus, pkgParam, aMsgAttributes);
+		err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+		}
+
+	ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMobileUssdMessaging::NotifyNetworkRelease Wrong completion status"))	
+	ASSERT_TRUE(aMobileUssdAttributesV1.IsEqual(ELogError), 
+				_L("RMobileUssdMessaging::NotifyNetworkRelease Wrong result"))	
+	
+	// Cancel request if it is still pending	
+	if (aRequestStatus.Int() == KRequestPending)	
+		{
+		aRequestStatus.Cancel();
+		}
+	}
+
+