telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 24 6638e7f4bd8f
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
    21 */
    21 */
    22 
    22 
    23 #include <e32test.h>
    23 #include <e32test.h>
    24 #include <mmretrieve.h>
    24 #include <mmretrieve.h>
    25 #include <etelmm.h>
    25 #include <etelmm.h>
    26 #include <faxstd.h>
       
    27 #include "Te_LoopBackcincall.h"
    26 #include "Te_LoopBackcincall.h"
    28 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
    27 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
    29 
    28 
    30 //
    29 //
    31 // Test-side class
    30 // Test-side class
    56 // This function contains the real meat of the Client-side test code
    55 // This function contains the real meat of the Client-side test code
    57 //
    56 //
    58 	{
    57 	{
    59 	_LIT(KVoiceLineName, "Voice");
    58 	_LIT(KVoiceLineName, "Voice");
    60 	_LIT(KDataLineName,  "Data");
    59 	_LIT(KDataLineName,  "Data");
    61 	_LIT(KFaxLineName,   "Fax");
    60 	//_LIT(KFaxLineName,   "Fax");
    62 
    61 
    63 	RLine voiceLine;
    62 	RLine voiceLine;
    64 	INFO_PRINTF1(_L("Opening Voice Line\n"));
    63 	INFO_PRINTF1(_L("Opening Voice Line\n"));
    65 	TESTL(voiceLine.Open(iPhone,KVoiceLineName) == KErrNone);
    64 	TESTL(voiceLine.Open(iPhone,KVoiceLineName) == KErrNone);
    66 	RCall voiceCall;
    65 	RCall voiceCall;
    72 	TESTL(dataLine.Open(iPhone,KDataLineName) == KErrNone);
    71 	TESTL(dataLine.Open(iPhone,KDataLineName) == KErrNone);
    73 	RCall dataCall;
    72 	RCall dataCall;
    74 	INFO_PRINTF1(_L("Opening New Data Call\n"));
    73 	INFO_PRINTF1(_L("Opening New Data Call\n"));
    75 	TESTL(dataCall.OpenNewCall(dataLine) == KErrNone);
    74 	TESTL(dataCall.OpenNewCall(dataLine) == KErrNone);
    76 
    75 
    77 	RLine faxLine;
       
    78 	INFO_PRINTF1(_L("Opening Fax Line\n"));
       
    79 	TESTL(faxLine.Open(iPhone,KFaxLineName) == KErrNone);
       
    80 	RCall faxCall;
       
    81 	INFO_PRINTF1(_L("Opening New Fax Call\n"));
       
    82 	TESTL(faxCall.OpenNewCall(faxLine) == KErrNone);
       
    83 
       
    84 	TRequestStatus stat1, stat2, stat3, reqStatus;
    76 	TRequestStatus stat1, stat2, stat3, reqStatus;
    85 
    77 
    86 	RMobilePhone::TMMTableSettings tableSettings;
    78 	RMobilePhone::TMMTableSettings tableSettings;
    87 	tableSettings.iLocId=KInternetAccessPoint;
    79 	tableSettings.iLocId=KInternetAccessPoint;
    88 	RMobilePhone::TMMTableSettingsPckg tableSettingsPckg(tableSettings);
    80 	RMobilePhone::TMMTableSettingsPckg tableSettingsPckg(tableSettings);
    92 
    84 
    93 // Now wait for an incoming voice call...
    85 // Now wait for an incoming voice call...
    94 	INFO_PRINTF1(_L("Answering a Voice Call...\n"));
    86 	INFO_PRINTF1(_L("Answering a Voice Call...\n"));
    95 	voiceCall.AnswerIncomingCall(stat1);
    87 	voiceCall.AnswerIncomingCall(stat1);
    96 	dataCall.AnswerIncomingCall(stat2);
    88 	dataCall.AnswerIncomingCall(stat2);
    97 	faxCall.AnswerIncomingCall(stat3);
       
    98 	User::WaitForRequest(stat1);
    89 	User::WaitForRequest(stat1);
    99 	TESTL(stat1 == KErrNone);
    90 	TESTL(stat1 == KErrNone);
   100 	dataCall.AnswerIncomingCallCancel();
    91 	dataCall.AnswerIncomingCallCancel();
   101 	faxCall.AnswerIncomingCallCancel();
       
   102 	User::WaitForRequest(stat2);
    92 	User::WaitForRequest(stat2);
   103 	User::WaitForRequest(stat3);
       
   104 	User::After(1000000L);
    93 	User::After(1000000L);
   105 	INFO_PRINTF1(_L("Hangup a Voice Call...\n"));
    94 	INFO_PRINTF1(_L("Hangup a Voice Call...\n"));
   106 	TESTL(voiceCall.HangUp() == KErrNone);
    95 	TESTL(voiceCall.HangUp() == KErrNone);
   107 
    96 
   108 // Now wait for an incoming fax call...
       
   109 	INFO_PRINTF1(_L("Answering a Fax Call...\n"));
       
   110 	RCall::TFaxSessionSettings faxSessionSettings;
       
   111 	faxSessionSettings.iMode = RCall::EReceive;
       
   112 	faxSessionSettings.iFaxRetrieveType = RCall::EFaxOnDemand;
       
   113 	faxSessionSettings.iFaxClass = EClassAuto;
       
   114 	faxSessionSettings.iFaxId.Zero();
       
   115 	faxSessionSettings.iMaxSpeed = 14400;
       
   116 	faxSessionSettings.iMinSpeed = 12000;
       
   117 	faxSessionSettings.iRxResolution = EFaxNormal;
       
   118 	faxSessionSettings.iRxCompression = EModifiedHuffman;
       
   119 	faxCall.SetFaxSettings(faxSessionSettings);
       
   120 
       
   121 	faxCall.AnswerIncomingCall(stat3);
       
   122 	User::WaitForRequest(stat3);
       
   123 	TESTL(stat3 == KFaxErrReceiveTimeout); 		// We don't actually send any data
       
   124 	User::After(300000L);
       
   125 	INFO_PRINTF1(_L("Hangup a Fax Call...\n"));
       
   126 	TESTL(faxCall.HangUp() == KErrNone);
       
   127 
       
   128 // Now wait for an incoming data call...
    97 // Now wait for an incoming data call...
   129 	INFO_PRINTF1(_L("Answering a Data Call\n"));
    98 	INFO_PRINTF1(_L("Answering a Data Call\n"));
   130 	TESTL(dataCall.AnswerIncomingCall() == KErrNone);
    99 	TInt ret = dataCall.AnswerIncomingCall();
   131 	User::After(300000L);
   100 	INFO_PRINTF2(_L("ret=%d "),ret);
       
   101 	if (ret == KErrNone)
       
   102 	    {
       
   103 	    SetTestStepResult(EPass);
       
   104 	    }
       
   105 	else
       
   106 	    SetTestStepResult(EFail);
       
   107 	    
       
   108 	 User::After(300000L);
   132 	TESTL(dataCall.HangUp() == KErrNone);
   109 	TESTL(dataCall.HangUp() == KErrNone);
   133 
   110 
   134 //	Get the FaxSettings before closing the line and call
   111 //	Get the FaxSettings before closing the line and call
   135 	TInt ret = faxCall.GetFaxSettings(faxSessionSettings);
       
   136 	TEST_CHECKL(ret, KErrNone, _L("*** Failed to get fax setttings ***"));
       
   137 	
   112 	
   138 	faxCall.Close();
       
   139 	faxLine.Close();
       
   140 	dataCall.Close();
   113 	dataCall.Close();
   141 	dataLine.Close();
   114 	dataLine.Close();
   142 	voiceCall.Close();
   115 	voiceCall.Close();
   143 	voiceLine.Close();
   116 	voiceLine.Close();
   144 
   117