apicompatanamdw/bcdrivers/os/cellularsrv/IsvTelephonyTest/src/IsvTelephonyTestCases.cpp
changeset 2 0cb2248d0edc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apicompatanamdw/bcdrivers/os/cellularsrv/IsvTelephonyTest/src/IsvTelephonyTestCases.cpp	Thu Apr 22 17:15:08 2010 +0530
@@ -0,0 +1,1345 @@
+/*
+* Copyright (c) 2002 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 FILES
+#include <e32math.h>
+#include <s32file.h>
+#include "IsvTelephonyTest.h"
+#include "IsvTelephonyTestEngine.h"
+#include "IsvTelephonyTestParser.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::Case
+// Returns a test case by number.
+//
+// This function contains an array of all available test cases 
+// i.e pair of case name and test function. If case specified by parameter
+// aCaseNumber is found from array, then that item is returned.
+// 
+// The reason for this rather complicated function is to specify all the
+// test cases only in one place. It is not necessary to understand how
+// function pointers to class member functions works when adding new test
+// cases. See function body for instructions how to add new test case.
+// -----------------------------------------------------------------------------
+//
+const TCaseInfo CIsvTelephonyTest::Case ( 
+    const TInt aCaseNumber ) const 
+     {
+    /**
+    * To add new test cases, implement new test case function and add new 
+    * line to KCases array specify the name of the case and the function 
+    * doing the test case
+    * In practice, do following
+    * 1) Make copy of existing test case function and change its name
+    *    and functionality. Note that the function must be added to 
+    *    IsvTelephonyTest.cpp file and to IsvTelephonyTest.h 
+    *    header file.
+    *
+    * 2) Add entry to following KCases array either by using:
+    *
+    * 2.1: FUNCENTRY or ENTRY macro
+    * ENTRY macro takes two parameters: test case name and test case 
+    * function name.
+    *
+    * FUNCENTRY macro takes only test case function name as a parameter and
+    * uses that as a test case name and test case function name.
+    *
+    * Or
+    *
+    * 2.2: OOM_FUNCENTRY or OOM_ENTRY macro. Note that these macros are used
+    * only with OOM (Out-Of-Memory) testing!
+    *
+    * OOM_ENTRY macro takes five parameters: test case name, test case 
+    * function name, TBool which specifies is method supposed to be run using
+    * OOM conditions, TInt value for first heap memory allocation failure and 
+    * TInt value for last heap memory allocation failure.
+    * 
+    * OOM_FUNCENTRY macro takes test case function name as a parameter and uses
+    * that as a test case name, TBool which specifies is method supposed to be
+    * run using OOM conditions, TInt value for first heap memory allocation 
+    * failure and TInt value for last heap memory allocation failure. 
+    */ 
+
+    static TCaseInfoInternal const KCases[] =
+        {
+        // To add new test cases, add new items to this array                		        
+        
+        // Sets and unsets cancellation of async. function tests with 
+        // CancelAsync()         
+        ENTRY( "SetCancelAsyncs", &CIsvTelephonyTest::SetCancelAsyncs ),		        
+        ENTRY( "ClearCancelAsyncs", &CIsvTelephonyTest::ClearCancelAsyncs ),
+        // Tests for CTelephony functions 
+        ENTRY( "GetVersion", &CIsvTelephonyTest::TestGetVersion ), 
+        ENTRY( "GetPhoneId", &CIsvTelephonyTest::TestGetPhoneId ), 
+        ENTRY( "GetSubscriberId", &CIsvTelephonyTest::TestGetSubscriberId ),
+        ENTRY( "GetFlightMode", &CIsvTelephonyTest::TestGetFlightMode ),
+        ENTRY( "GetIndicator", &CIsvTelephonyTest::TestGetIndicator ), 
+        ENTRY( "GetBatteryInfo", &CIsvTelephonyTest::TestGetBatteryInfo ),
+        ENTRY( "GetSignalStrength", &CIsvTelephonyTest::TestGetSignalStrength ),
+        ENTRY( "GetLockInfo", &CIsvTelephonyTest::TestGetLockInfo ),                
+        ENTRY( "GetLineStatus", &CIsvTelephonyTest::TestGetLineStatus ),             
+        ENTRY( "GetNetworkRegistrationStatus", &CIsvTelephonyTest::TestGetNetworkRegistrationStatus ),                
+        ENTRY( "GetCurrentNetworkInfo", &CIsvTelephonyTest::TestGetCurrentNetworkInfo ),
+        ENTRY( "GetCurrentNetworkName", &CIsvTelephonyTest::TestGetCurrentNetworkName ),
+        ENTRY( "GetOperatorName", &CIsvTelephonyTest::TestGetOperatorName ),
+        ENTRY( "GetCallForwardingStatus", &CIsvTelephonyTest::TestGetCallForwardingStatus ),
+        ENTRY( "GetCallBarringStatus", &CIsvTelephonyTest::TestGetCallBarringStatus ),        
+        ENTRY( "GetCallWaitingStatus", &CIsvTelephonyTest::TestGetCallWaitingStatus ),
+        ENTRY( "GetIdentityServiceStatus", &CIsvTelephonyTest::TestGetIdentityServiceStatus ),
+        // Tests that require tester to answer MO calls 
+        ENTRY( "GetCallInfo", &CIsvTelephonyTest::TestGetCallInfoL ),                     
+        ENTRY( "DialNewCall", &CIsvTelephonyTest::TestDialNewCall ),
+        ENTRY( "SendDTMFTones", &CIsvTelephonyTest::TestSendDTMFTones ),    
+        ENTRY( "GetCallDynamicCaps", &CIsvTelephonyTest::TestGetCallDynamicCaps ),   
+        ENTRY( "GetCallStatus", &CIsvTelephonyTest::TestGetCallStatus ),
+        ENTRY( "Hold", &CIsvTelephonyTest::TestHold ),
+        ENTRY( "Resume", &CIsvTelephonyTest::TestResume ),                                                                                                      
+		ENTRY( "Swap", &CIsvTelephonyTest::TestSwap ),
+		ENTRY( "Hangup", &CIsvTelephonyTest::TestHangup ),
+		// Tests that require tester to create MT call 
+		ENTRY( "AnswerIncomingCall", &CIsvTelephonyTest::TestAnswerIncomingCall ),	
+		ENTRY( "NotifyChange - VoiceLineStatus", &CIsvTelephonyTest::TestNotifyChangeVoiceLineStatus ),				
+		// Tests for deprecated CTelephony functions
+		ENTRY( "FindDeviceStatus", &CIsvTelephonyTest::TestFindDeviceStatus ),
+		ENTRY( "EstablishDataCall", &CIsvTelephonyTest::TestEstablishDataCall ),
+		ENTRY( "EstablishDataCall - async", &CIsvTelephonyTest::TestEstablishDataCallAsync ),
+		ENTRY( "TerminateDataCall", &CIsvTelephonyTest::TestTerminateDataCall ),
+		ENTRY( "ReceiveDataCall", &CIsvTelephonyTest::TestReceiveDataCall ),
+		ENTRY( "ReceiveDataCall - async", &CIsvTelephonyTest::TestReceiveDataCallAsync ),
+		ENTRY( "CancelEstablishDataCall", &CIsvTelephonyTest::TestCancelEstablishDataCall ),
+		ENTRY( "CancelReceiveDataCall", &CIsvTelephonyTest::TestCancelReceiveDataCall )
+        };
+
+    // Verify that case number is valid
+    if( (TUint) aCaseNumber >= sizeof( KCases ) / 
+                               sizeof( TCaseInfoInternal ) )
+        {
+        // Invalid case, construct empty object
+        TCaseInfo null( (const TText*) L"" );
+        null.iMethod = NULL;
+        null.iIsOOMTest = EFalse;
+        null.iFirstMemoryAllocation = 0;
+        null.iLastMemoryAllocation = 0;
+        return null;
+        } 
+
+    // Construct TCaseInfo object and return it
+    TCaseInfo tmp ( KCases[ aCaseNumber ].iCaseName );
+    tmp.iMethod = KCases[ aCaseNumber ].iMethod;
+    tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest;
+    tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation;
+    tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation;
+    
+    return tmp;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::SetCancelAsyncs
+// Sets cancellation of async. function tests with 
+// CancelAsync()         
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::SetCancelAsyncs( TTestResult& aResult )
+	{
+ 	// Set cancellation of async function tests
+ 	iTestEngine->SetCancelAsyncs( ETrue ); 
+
+	// Set result for STIF framework
+	aResult.SetResult( KErrNone, KSetCancelAsyncs );			
+	
+	return KErrNone; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::ClearCancelAsyncs
+// Clears cancellation of async. function tests
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::ClearCancelAsyncs( TTestResult& aResult )
+	{
+ 	// Reset cancellation of async function tests
+ 	iTestEngine->SetCancelAsyncs( EFalse ); 
+
+	// Set result for STIF framework
+	aResult.SetResult( KErrNone, KClearCancelAsyncs );			
+	
+	return KErrNone; 
+	}
+		
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetVersion
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetVersion( TTestResult& aResult )
+	{
+    TInt result;	
+	TVersion version;
+	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetVersion( version );	 		
+	// Parse result data
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetVersion( version ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetVersion );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetPhoneId
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetPhoneId( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TPhoneIdV1 phoneId;
+	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetPhoneId( phoneId );	 			
+	// Parse result data
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetPhoneId( phoneId ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetPhoneId );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetSubscriberId
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetSubscriberId( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TSubscriberIdV1 subscriberId;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetSubscriberId( subscriberId ); 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetSubscriberId( subscriberId ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetSubscriberId );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetFlightMode
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetFlightMode( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TFlightModeV1 flightMode;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetFlightMode( flightMode ); 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{	
+		iTestParser->ParseGetFlightMode( flightMode ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetFlightMode );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetIndicator
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetIndicator( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TIndicatorV1 indicator;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetIndicator( indicator ); 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetIndicator( indicator ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetIndicator );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetBatteryInfo
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetBatteryInfo( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TBatteryInfoV1 batteryInfo;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetBatteryInfo( batteryInfo ); 
+	// Parse result data 
+	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetBatteryInfo( batteryInfo ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetBatteryInfo );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestSignalStrength
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetSignalStrength( TTestResult& aResult )
+	{
+    TInt result;
+	CTelephony::TSignalStrengthV1 signalStrength;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetSignalStrength( signalStrength ); 
+	// Parse result data 
+	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetSignalStrength( signalStrength ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetSignalStrength );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetLockInfo
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetLockInfo( TTestResult& aResult )
+	{
+    TInt result;
+    CTelephony::TIccLock lock; 
+	CTelephony::TIccLockInfoV1 lockInfo;
+ 	
+ 	// Test for TIccLock::ELockPin1
+ 	lock = CTelephony::ELockPin1; 
+ 	result = iTestEngine->TestGetLockInfo( lock, lockInfo ); 
+ 	if( KErrNone == result )
+		{
+		iTestParser->ParseGetLockInfo( lock, lockInfo ); 
+		} 	
+ 	
+ 	// Test for TIccLock::ELockPin2
+ 	// Lock Pin 2 query qurrenly not supported 
+
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetLockInfo );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestSendDTMFTones
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestSendDTMFTones( TTestResult& aResult )
+	{
+	TInt result; 
+
+	// Initialise variables with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;	
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );
+ 	// Execute test  
+ 	if( KErrNone == result )		
+ 		{
+     	// Inform tester the DTMF Tones to be sent
+     	PrintMessage( KSendingFollowingDTMFTones() ); 
+     	PrintMessage( iDTMFTones ); 		  		 	     	
+ 		result = iTestEngine->TestSendDTMFTones( iDTMFTones ); 	
+ 		} 		 	
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+	// Set result for STIF framework
+	aResult.SetResult( result, KSendDTMFTones );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetLineStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetLineStatus( TTestResult& aResult )
+	{
+    TInt result;
+ 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetLineStatus( iPhoneLine, iCallStatus ); 
+	// Parse result data 
+	if( KErrNone == result )
+		{
+		iTestParser->ParseGetLineStatus( iPhoneLine, iCallStatus ); 	
+		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetLineStatus );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallInfo	
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallInfoL( TTestResult& aResult )
+	{
+	TInt result; 
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	iCallSelection.iLine = iPhoneLine; 
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	  		 	
+ 	// Execute test  
+ 	if( KErrNone == result )		
+ 		{
+ 		result = iTestEngine->TestGetCallInfo( 
+ 			iCallSelection, 
+ 			iCallInfo, 
+ 			iRemotePartyInfo ); 	
+ 		} 	
+	// Parse result data 
+	if( KErrNone == result )
+		{
+		iTestParser->ParseGetCallInfoL( 
+			iCallSelection,
+			iCallInfo, 
+			iRemotePartyInfo ); 	
+		} 			 	
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallInfo );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetNetworkRegistrationStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetNetworkRegistrationStatus( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TNetworkRegistrationV1 networkRegistration; 
+ 	 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetNetworkRegistrationStatus( networkRegistration );	 		
+ 	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+ 		iTestParser->ParseGetNetworkRegistrationStatus( networkRegistration ); 	
+ 		}	
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetNetworkRegistrationStatus );			
+		
+	return result; 
+	}
+		
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCurrentNetworkInfo
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCurrentNetworkInfo( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TNetworkInfoV1 networkInfo; 
+ 	 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetCurrentNetworkInfo( networkInfo );	 		
+ 	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCurrentNetworkInfo( networkInfo ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCurrentNetworkInfo );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCurrentNetworkName
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCurrentNetworkName( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TNetworkNameV1 networkName; 
+ 	 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetCurrentNetworkName( networkName );	 		
+ 	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCurrentNetworkName( networkName ); 
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCurrentNetworkName );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetOperatorName
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetOperatorName( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TOperatorNameV1 operatorName; 
+ 	 	
+ 	// Execute test  		
+ 	result = iTestEngine->TestGetOperatorName( operatorName );	 		
+ 	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetOperatorName( operatorName ); 
+ 		}
+ 	else if( KErrNotFound == result )	
+ 		{
+     	PrintMessage( KOperatorNameNotFoundFromSIM() ); 
+     	// Suppress KErrNotFound, KErrNotFound is expected if SIM card 
+     	// doesn't define the operator name  
+     	result = KErrNone; 
+ 		}
+ 	
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetOperatorName );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallForwardingStatus		
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallForwardingStatus( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TCallForwardingCondition callForwardingCondition;  	
+ 	CTelephony::TCallForwardingSupplServicesV1 callForwardingStatus; 
+ 	// S60 3.0 SDK documentation: only EVoiceService is supported
+ 	CTelephony::TServiceGroup serviceGroup( CTelephony::EVoiceService ); 
+ 	 	
+ 	// Test for TCallForwardingCondition::ECallForwardingUnconditional
+ 	callForwardingCondition = CTelephony::ECallForwardingUnconditional;  	 	 	
+ 	result = iTestEngine->TestGetCallForwardingStatus( 
+ 		callForwardingCondition,
+ 		callForwardingStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallForwardingStatus( 
+		 	callForwardingCondition,
+	 		callForwardingStatus,
+	 		serviceGroup );
+ 		}
+
+ 	// Test for TCallForwardingCondition::ECallForwardingBusy
+ 	callForwardingCondition = CTelephony::ECallForwardingBusy;  	 	
+ 	result = iTestEngine->TestGetCallForwardingStatus( 
+ 		callForwardingCondition,
+ 		callForwardingStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallForwardingStatus( 
+		 	callForwardingCondition,
+	 		callForwardingStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallForwardingCondition::ECallForwardingNoReply
+ 	callForwardingCondition = CTelephony::ECallForwardingNoReply;	 	
+ 	result = iTestEngine->TestGetCallForwardingStatus( 
+ 		callForwardingCondition,
+ 		callForwardingStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallForwardingStatus( 
+		 	callForwardingCondition,
+	 		callForwardingStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallForwardingCondition::ECallForwardingNotReachable
+ 	callForwardingCondition = CTelephony::ECallForwardingNotReachable;  	 	
+ 	result = iTestEngine->TestGetCallForwardingStatus( 
+ 		callForwardingCondition,
+ 		callForwardingStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallForwardingStatus( 
+		 	callForwardingCondition,
+	 		callForwardingStatus,
+	 		serviceGroup );
+ 		}
+ 		
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallForwardingStatus );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallBarringStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallBarringStatus( TTestResult& aResult )
+	{
+    TInt result;
+ 	CTelephony::TCallBarringCondition callBarringCondition;  	
+ 	CTelephony::TCallBarringSupplServicesV1 callBarringStatus; 
+ 	// S60 3.0 SDK documentation: only EVoiceService is supported
+ 	CTelephony::TServiceGroup serviceGroup( CTelephony::EVoiceService ); 
+ 	
+ 	// Test for TCallBarringCondition::EBarAllIncoming
+ 	callBarringCondition = CTelephony::EBarAllIncoming;  	 	 	
+ 	result = iTestEngine->TestGetCallBarringStatus( 
+ 		callBarringCondition,
+ 		callBarringStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallBarringStatus( 
+		 	callBarringCondition,
+	 		callBarringStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallBarringCondition::EBarIncomingRoaming
+ 	callBarringCondition = CTelephony::EBarIncomingRoaming;  	 	 	
+ 	result = iTestEngine->TestGetCallBarringStatus( 
+ 		callBarringCondition,
+ 		callBarringStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallBarringStatus( 
+		 	callBarringCondition,
+	 		callBarringStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallBarringCondition::EBarAllOutgoing
+ 	callBarringCondition = CTelephony::EBarAllOutgoing;  	 	 	
+ 	result = iTestEngine->TestGetCallBarringStatus( 
+ 		callBarringCondition,
+ 		callBarringStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallBarringStatus( 
+		 	callBarringCondition,
+	 		callBarringStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallBarringCondition::EBarOutgoingInternational
+ 	callBarringCondition = CTelephony::EBarOutgoingInternational;  	 	 	
+ 	result = iTestEngine->TestGetCallBarringStatus( 
+ 		callBarringCondition,
+ 		callBarringStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallBarringStatus( 
+		 	callBarringCondition,
+	 		callBarringStatus,
+	 		serviceGroup );
+ 		}
+ 		
+ 	// Test for TCallBarringCondition::EBarOutgoingInternationalExHC
+ 	callBarringCondition = CTelephony::EBarOutgoingInternationalExHC;  	 	 	
+ 	result = iTestEngine->TestGetCallBarringStatus( 
+ 		callBarringCondition,
+ 		callBarringStatus,
+ 		serviceGroup );	 	 	
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallBarringStatus( 
+		 	callBarringCondition,
+	 		callBarringStatus,
+	 		serviceGroup );
+ 		}
+ 		
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallBarringStatus );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallWaitingStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallWaitingStatus( TTestResult& aResult )
+	{
+    TInt result; 	
+ 	CTelephony::TCallWaitingSupplServicesV1 callWaitingStatus; 
+ 	// S60 3.0 SDK documentation: only EVoiceService is supported
+ 	CTelephony::TServiceGroup serviceGroup( CTelephony::EVoiceService ); 
+	
+	// Execute test  		 
+ 	result = iTestEngine->TestGetCallWaitingStatus(  		
+ 		callWaitingStatus,
+ 		serviceGroup );	 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallWaitingStatus( 	 	
+	 		callWaitingStatus,
+	 		serviceGroup );
+ 		}
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallWaitingStatus );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetIdentityServiceStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetIdentityServiceStatus( TTestResult& aResult )
+	{
+    TInt result; 	
+ 	CTelephony::TIdentityService identityService;  	
+ 	CTelephony::TIdentityServiceV1 identityServiceStatus;
+	
+	// Test for TIdentityService::EIdServiceUnspecified
+	identityService = CTelephony::EIdServiceUnspecified; 	
+ 	// Execute test  	
+ 	result = iTestEngine->TestGetIdentityServiceStatus(  		
+ 		identityService,
+ 		identityServiceStatus );	 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetIdentityServiceStatus( 
+			identityService, 
+			identityServiceStatus );
+ 		}
+
+	// Test for TIdentityService::EIdServiceCallerPresentation
+	identityService = CTelephony::EIdServiceCallerPresentation; 	
+ 	// Execute test  	
+ 	result = iTestEngine->TestGetIdentityServiceStatus(  		
+ 		identityService,
+ 		identityServiceStatus );	 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetIdentityServiceStatus( 
+			identityService, 
+			identityServiceStatus );
+ 		}
+ 		
+	// Test for TIdentityService::EIdServiceCallerRestriction
+	identityService = CTelephony::EIdServiceCallerRestriction; 	
+ 	// Execute test  	
+ 	result = iTestEngine->TestGetIdentityServiceStatus(  		
+ 		identityService,
+ 		identityServiceStatus );	 
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetIdentityServiceStatus( 
+			identityService, 
+			identityServiceStatus );
+ 		}
+ 		
+	// Set result for STIF framework
+	aResult.SetResult( result, KGetIdentityServiceStatus );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestDialNewCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestDialNewCall( TTestResult& aResult )
+	{
+    TInt result; 	
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	  		 	
+	// Parse result data 
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseDialNewCall( 	 	
+			iCallParams,
+	 		iTelNumber1,
+	 		iCallId1,
+	 		iPhoneLine );
+ 		} 		
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KDialNewCall );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallDynamicCaps
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallDynamicCaps( TTestResult& aResult )
+	{
+    TInt result; 	
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	  		 	
+ 	// Execute test	 		
+	if( KErrNone == result )
+		{
+	 	result = iTestEngine->TestGetCallDynamicCaps( iCallId1, iCallCaps );	  		 		
+		}
+	// Parse result data
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallDynamicCaps( iCallId1, iCallCaps );	  		 		 		
+ 		}
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallDynamicCaps );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestGetCallStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestGetCallStatus( TTestResult& aResult )
+	{
+    TInt result; 	
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	  		 	
+ 	// Execute test	 		
+	if( KErrNone == result )
+		{
+	 	result = iTestEngine->TestGetCallStatus( iCallId1, iCallStatus );	  		 		
+		}
+	// Parse result data
+ 	if( KErrNone == result )
+ 		{
+		iTestParser->ParseGetCallStatus( iCallId1, iCallStatus );	  		
+		}
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KGetCallStatus );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestHold
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestHold( TTestResult& aResult )
+	{
+    TInt result; 	
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	  		 	
+	// Execute test
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestHold( iCallId1 );	  		 				
+		}
+ 	// Check expected result
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestGetCallStatus( iCallId1, iCallStatus );	  		 		
+		iTestParser->ParseGetCallStatus( iCallId1, iCallStatus );
+		} 		 		
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KHold );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestResume
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestResume( TTestResult& aResult )
+	{
+    TInt result; 	
+
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	
+ 	// Precondition: call is on hold
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestHold( iCallId1 );	  		 				
+		}
+	// Execute test
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestResume( iCallId1 );	  		 				
+		}
+ 	// Check expected result
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestGetCallStatus( iCallId1, iCallStatus );	  		 		
+		iTestParser->ParseGetCallStatus( iCallId1, iCallStatus );
+		}
+	// Restore initial state: end call  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KResume );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestSwap
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestSwap( TTestResult& aResult )
+	{
+    TInt result; 	
+	
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call 1 
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	
+	// Precondition: setup ongoing call 2
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber2,
+ 		iCallId2,
+ 		iPhoneLine );	  			
+	// Execute test
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestSwap( iCallId1, iCallId2 );	  		 				
+		}
+ 	// Check expected result
+	if( KErrNone == result )
+		{		
+		// Call 1 status
+	 	result = iTestEngine->TestGetCallStatus( iCallId1, iCallStatus );	  		 		
+		iTestParser->ParseGetCallStatus( iCallId1, iCallStatus );
+		// Call 2 status
+	 	result = iTestEngine->TestGetCallStatus( iCallId2, iCallStatus );	  		 		
+		iTestParser->ParseGetCallStatus( iCallId2, iCallStatus );
+		} 		 		
+	// Restore initial state: end call 1  		
+	iTestEngine->TestHangup( iCallId1 );	  		 				
+	// Restore initial state: end call 2  		
+	iTestEngine->TestHangup( iCallId2 );	  		 				
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KSwap );			
+		
+	return result; 
+	}
+			
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestHangup
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestHangup( TTestResult& aResult )
+	{
+    TInt result; 	
+
+	// Initialise with tester ini file values
+	iCallParams.iIdRestrict = iIdRestrict;
+	
+	// Precondition: setup ongoing call  
+ 	result = iTestEngine->TestDialNewCall(  		
+ 		iCallParams,
+ 		iTelNumber1,
+ 		iCallId1,
+ 		iPhoneLine );	
+	// Execute test
+	if( KErrNone == result )
+		{		
+	 	result = iTestEngine->TestHangup( iCallId1 );	  		 				
+		}
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KHangup );			
+		
+	return result; 
+	}
+				
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestAnswerIncomingCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestAnswerIncomingCall( TTestResult& aResult )
+	{
+    TInt result; 	
+	CTelephony::TCallStatusV1Pckg callStatusPckg( iCallStatus );
+	
+	// Precondition: inform tester we are expecting an incoming call
+	PrintMessage( KWaitingForIncomingCall() );
+
+ 	result = iTestEngine->TestAnswerIncomingCall( iCallId1, iPhoneLine );	  		 				
+
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KAnswerIncomingCall );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestNotifyChangeVoiceLineStatus 
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestNotifyChangeVoiceLineStatus ( TTestResult& aResult )
+	{
+    TInt result; 	
+	CTelephony::TCallStatusV1Pckg callStatusPckg( iCallStatus );
+		
+	// Precondition: inform tester we are expecting a voice line change, 
+	// e.g. an incoming call
+	PrintMessage( KWaitingForVoiceLineChange() );
+	// Execute test
+ 	result = iTestEngine->TestNotifyChangeVoiceLineStatus ( 
+ 		CTelephony::EVoiceLineStatusChange,
+ 		callStatusPckg );	  		
+ 	// Check expected result
+	if( KErrNone == result )
+		{			 	
+		iTestParser->ParseCallStatus( iCallStatus );
+		} 		 		
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KNotifyChangeVoiceLineStatus );			
+		
+	return result; 
+	}
+
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestFindDeviceStatus
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestFindDeviceStatus( TTestResult& aResult )		
+	{
+    TInt result; 		
+		
+	// FindDeviceStatus is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestFindDeviceStatus() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		}
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KFindDeviceStatus );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestEstablishDataCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestEstablishDataCall( TTestResult& aResult )		
+	{
+    TInt result; 	
+ 		 				
+	// EstablishDataCall is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestEstablishDataCall() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		} 	
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KEstablishDataCall );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestEstablishDataCallAsync
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestEstablishDataCallAsync( TTestResult& aResult )		
+	{
+    TInt result; 	
+
+	// EstablishDataCall is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestEstablishDataCallAsync() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		} 	
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KEstablishDataCallAsync );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestTerminateDataCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestTerminateDataCall( TTestResult& aResult )		
+	{
+    TInt result; 	
+	 				
+	// TerminateDataCall is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestTerminateDataCall() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		} 	
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KTerminateDataCall );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestReceiveDataCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestReceiveDataCall( TTestResult& aResult )		
+	{
+    TInt result; 	
+	  		 				
+	// ReceiveDataCall is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestReceiveDataCall() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		} 
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KReceiveDataCall );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestReceiveDataCallAsync
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestReceiveDataCallAsync( TTestResult& aResult )		
+	{
+    TInt result; 	
+		
+	// ReceiveDataCall is deprecated (S60 3.0 SDK) and 
+	// should return KErrNotSupported
+	if( KErrNotSupported == iTestEngine->TestReceiveDataCallAsync() )
+		{
+		result = KErrNone; 	
+		}
+ 	else 
+ 		{
+ 		result = KErrGeneral; 
+ 		} 
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KReceiveDataCallAsync );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestCancelEstablishDataCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestCancelEstablishDataCall( TTestResult& aResult )		
+	{
+    TInt result; 	
+
+	// CancelEstablishDataCall is deprecated (S60 3.0 SDK) and 
+	// TestEngine returns KErrNone
+	result = iTestEngine->TestCancelEstablishDataCall(); 
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KCancelEstablishDataCall );			
+		
+	return result; 
+	}
+	
+// -----------------------------------------------------------------------------
+// CIsvTelephonyTest::TestCancelReceiveDataCall
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CIsvTelephonyTest::TestCancelReceiveDataCall( TTestResult& aResult )			
+	{
+    TInt result; 	
+	
+	// CancelReceiveDataCall is deprecated (S60 3.0 SDK) and 
+	// TestEngine returns KErrNone
+	result = iTestEngine->TestCancelReceiveDataCall(); 
+ 	// Inform tester that the function is deprecated
+ 	PrintMessage( KDeprecatedFunctionTest() );
+ 	// Set result for STIF framework
+	aResult.SetResult( result, KCancelReceiveDataCall );			
+		
+	return result; 
+	}
+	
+//  End of File