telephonyserverplugins/simtsy/test/Te_Sim/Te_SimSatTest.cpp
changeset 0 3553901f7fa8
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include "SimConstants.h"
       
    17 #include "Te_SimSatTest.h"
       
    18 
       
    19 CSimSatTest::CSimSatTest() 
       
    20 	{ 
       
    21 	SetTestStepName(_L("SatTest"));
       
    22 	}
       
    23 
       
    24 TVerdict CSimSatTest::doTestStepL()
       
    25 	{
       
    26 	INFO_PRINTF1(_L("BeginSatTest"));
       
    27 
       
    28  	CreateConfigFileL(_L("c:\\config4.txt")); 
       
    29  	SetTestNumberL(0);
       
    30 
       
    31 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
    32 	INFO_PRINTF2(_L("Result: %d"),ret); 
       
    33 	TESTL(ret == KErrNone); 
       
    34 	INFO_PRINTF1(_L("Opened phone object"));
       
    35 	TESTL(iSat.Open(iPhone)==KErrNone);
       
    36 	INFO_PRINTF1(_L("Opened Sat object"));
       
    37 
       
    38 	// local variables used throughout the sat tests
       
    39 	TRequestStatus reqStatusPCmd;
       
    40 	TRequestStatus reqStatusRequired;
       
    41 	TRequestStatus reqStatusAllowed;
       
    42 	
       
    43 
       
    44 	// Refresh
       
    45 	RSat::TRefreshV1 refresh;
       
    46 	RSat::TRefreshV1Pckg refreshPckg(refresh);
       
    47 	
       
    48 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
    49 	User::WaitForRequest(reqStatusPCmd);
       
    50 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
    51 
       
    52 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
       
    53 	TESTL(refresh.iFileList.Length()==1);
       
    54  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
    55 	INFO_PRINTF1(_L("SAT Refresh test 1 passed"));
       
    56 
       
    57 	// Refresh Cancel
       
    58 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
    59 	iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
       
    60 	User::WaitForRequest(reqStatusPCmd);
       
    61 	TESTL(reqStatusPCmd.Int()==KErrCancel);
       
    62 	INFO_PRINTF1(_L("SAT Refresh Cancel test passed"));
       
    63 
       
    64 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
    65 	User::WaitForRequest(reqStatusPCmd);
       
    66 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
    67 
       
    68 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
       
    69 	TESTL(refresh.iFileList.Length()==1);
       
    70  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
       
    71 	INFO_PRINTF1(_L("SAT Refresh test 2 passed"));
       
    72 
       
    73 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
    74 	User::WaitForRequest(reqStatusPCmd);
       
    75 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
    76 
       
    77 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
       
    78 	TESTL(refresh.iFileList.Length()==2);
       
    79  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
    80  	TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
       
    81 	INFO_PRINTF1(_L("SAT Refresh test 3 passed"));
       
    82 
       
    83 	// Refresh Required successful test
       
    84 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
    85 
       
    86 	iSat.NotifyRefreshRequired(reqStatusRequired);
       
    87 	User::WaitForRequest(reqStatusRequired);
       
    88 	TESTL(reqStatusRequired.Int()==KErrNone);
       
    89 	
       
    90 	// Refresh Required Response
       
    91 	RSat::TRefreshRspV1* refreshAllowedRsp = new (ELeave) RSat::TRefreshRspV1;
       
    92 	CleanupStack::PushL(refreshAllowedRsp);
       
    93 	RSat::TRefreshRspV1Pckg* refreshAllowedRspPckg = new (ELeave) RSat::TRefreshRspV1Pckg(*refreshAllowedRsp);
       
    94 	CleanupStack::PushL(refreshAllowedRspPckg);
       
    95 
       
    96 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
       
    97 	refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
       
    98 	refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
       
    99 
       
   100 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   101 	User::WaitForRequest(reqStatusAllowed);
       
   102 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   103 
       
   104 	// Wait for completion of outstanding PCmd now permission given
       
   105 	User::WaitForRequest(reqStatusPCmd);
       
   106 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   107 
       
   108 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
       
   109 	TESTL(refresh.iFileList.Length()==1);
       
   110  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
   111 	INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 1 passed"));
       
   112 
       
   113 	// Refresh Required unsuccessful test
       
   114 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   115 
       
   116 	iSat.NotifyRefreshRequired(reqStatusRequired);
       
   117 	User::WaitForRequest(reqStatusRequired);
       
   118 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   119 
       
   120 	// Refresh Required Response
       
   121 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
       
   122 
       
   123 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   124 	User::WaitForRequest(reqStatusAllowed);
       
   125 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   126 
       
   127 	// Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
       
   128 	iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
       
   129 	User::WaitForRequest(reqStatusPCmd);
       
   130 	TESTL(reqStatusPCmd.Int()==KErrCancel);
       
   131 	INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
       
   132 
       
   133 	// Refresh Required second successful test
       
   134 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   135 
       
   136 	iSat.NotifyRefreshRequired(reqStatusRequired);
       
   137 	User::WaitForRequest(reqStatusRequired);
       
   138 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   139 
       
   140 	// Refresh Required Response
       
   141 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
       
   142 
       
   143 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   144 	User::WaitForRequest(reqStatusAllowed);
       
   145 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   146 
       
   147 	// Wait for completion of outstanding PCmd now permission given
       
   148 	User::WaitForRequest(reqStatusPCmd);
       
   149 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   150 
       
   151 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
       
   152 	TESTL(refresh.iFileList.Length()==1);
       
   153  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
       
   154 	INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 2 passed"));
       
   155 
       
   156 	// Refresh Required third successful test
       
   157 	iSat.NotifyRefreshRequired(reqStatusRequired);
       
   158 	User::WaitForRequest(reqStatusRequired);
       
   159 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   160 
       
   161 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   162 
       
   163 	// Refresh Required Response
       
   164 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   165 	User::WaitForRequest(reqStatusAllowed);
       
   166 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   167 
       
   168 	// Wait for completion of outstanding PCmd now permission given
       
   169 	User::WaitForRequest(reqStatusPCmd);
       
   170 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   171 
       
   172 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
       
   173 	TESTL(refresh.iFileList.Length()==2);
       
   174  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
   175  	TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
       
   176 	INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 3 passed"));
       
   177 
       
   178 	// Refresh Required Cancel test
       
   179 	iSat.NotifyRefreshRequired(reqStatusRequired);
       
   180 	iSat.CancelAsyncRequest(ESatNotifyRefreshRequired);
       
   181 	User::WaitForRequest(reqStatusRequired);
       
   182 	TESTL(reqStatusRequired.Int()==KErrCancel);
       
   183 	INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
       
   184 
       
   185 	// RefreshAllowed Cancel test
       
   186 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   187 	iSat.CancelAsyncRequest(ESatRefreshAllowed);
       
   188 	User::WaitForRequest(reqStatusAllowed);
       
   189 	// Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
       
   190 	TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
       
   191 	INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
       
   192 
       
   193 	// Refresh Required test successful repeated with parameterised NotifyRefreshRequired
       
   194 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   195 
       
   196 	// Refresh
       
   197 	RSat::TRefreshV1 refreshRequired;
       
   198 	RSat::TRefreshV1Pckg refreshRequiredPckg(refreshRequired);
       
   199 
       
   200 	iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
       
   201 	User::WaitForRequest(reqStatusRequired);
       
   202 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   203 
       
   204  	TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE1);
       
   205 	TESTL(refreshRequired.iFileList.Length()==1);
       
   206  	TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);	
       
   207 
       
   208 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
       
   209 	refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
       
   210 	refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
       
   211 
       
   212 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   213 
       
   214 	User::WaitForRequest(reqStatusAllowed);
       
   215 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   216 	
       
   217 	// Wait for completion of outstanding PCmd now permission given
       
   218 	User::WaitForRequest(reqStatusPCmd);
       
   219 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   220 
       
   221 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
       
   222 	TESTL(refresh.iFileList.Length()==1);
       
   223  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
   224   
       
   225 	INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 1 passed"));
       
   226 
       
   227 	// Refresh Required unsuccessful test
       
   228 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   229 
       
   230 	iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
       
   231 	User::WaitForRequest(reqStatusRequired);
       
   232 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   233 
       
   234 	// Refresh Required Response
       
   235 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
       
   236 
       
   237 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   238 	User::WaitForRequest(reqStatusAllowed);
       
   239 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   240 
       
   241  	// Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
       
   242 	iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
       
   243 	User::WaitForRequest(reqStatusPCmd);
       
   244 	TESTL(reqStatusPCmd.Int()==KErrCancel);
       
   245 	INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
       
   246 
       
   247 	// Refresh Required second successful test
       
   248 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   249 
       
   250 	iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
       
   251 	User::WaitForRequest(reqStatusRequired);
       
   252 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   253 
       
   254  	TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE2);
       
   255 	TESTL(refreshRequired.iFileList.Length()==1);
       
   256  	TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE2);
       
   257 
       
   258 	// Refresh Required Response
       
   259 	refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
       
   260 
       
   261 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   262 	User::WaitForRequest(reqStatusAllowed);
       
   263 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   264 
       
   265 	// Wait for completion of outstanding PCmd now permission given
       
   266 	User::WaitForRequest(reqStatusPCmd);
       
   267 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   268 
       
   269 	TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
       
   270 	TESTL(refresh.iFileList.Length()==1);
       
   271  	TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
       
   272  	 	
       
   273 	INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 2 passed"));
       
   274 
       
   275 	// Refresh Required third successful test
       
   276 	iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
       
   277 	User::WaitForRequest(reqStatusRequired);
       
   278 	TESTL(reqStatusRequired.Int()==KErrNone);
       
   279 
       
   280   	TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
       
   281 	TESTL(refreshRequired.iFileList.Length()==2);
       
   282  	TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
   283   	TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
       
   284 
       
   285 	iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
       
   286 
       
   287 	// Refresh Required Response
       
   288 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   289 	User::WaitForRequest(reqStatusAllowed);
       
   290 	TESTL(reqStatusAllowed.Int()==KErrNone);
       
   291 
       
   292 	// Wait for completion of outstanding PCmd now permission given
       
   293 	User::WaitForRequest(reqStatusPCmd);
       
   294 	TESTL(reqStatusPCmd.Int()==KErrNone);
       
   295 
       
   296   	TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
       
   297 	TESTL(refreshRequired.iFileList.Length()==2);
       
   298  	TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
       
   299   	TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
       
   300  	 	
       
   301 	INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 3 passed"));
       
   302 
       
   303 	// Refresh Required Cancel test
       
   304 	iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
       
   305 	iSat.CancelAsyncRequest(ESatNotifyRefreshRequiredParam);
       
   306 	User::WaitForRequest(reqStatusRequired);
       
   307 	TESTL(reqStatusRequired.Int()==KErrNone || reqStatusRequired.Int()==KErrCancel);
       
   308 	INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
       
   309 
       
   310 	// RefreshAllowed Cancel test
       
   311 	iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
       
   312 	iSat.CancelAsyncRequest(ESatRefreshAllowed);
       
   313 	User::WaitForRequest(reqStatusAllowed);
       
   314 	// Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
       
   315 	TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
       
   316 	INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
       
   317 
       
   318 	CleanupStack::PopAndDestroy(2);
       
   319 
       
   320 	iSat.Close();
       
   321 	iPhone.Close();
       
   322 	ASSERT(RThread().RequestCount()==0);
       
   323 
       
   324 	return TestStepResult();
       
   325 	}
       
   326 	
       
   327 	
       
   328 CSimSatRetMMPCmdTest::CSimSatRetMMPCmdTest() 
       
   329 	{ 
       
   330 	SetTestStepName(_L("SatTestRetMMPCmd"));
       
   331 	}
       
   332 
       
   333 
       
   334 TVerdict CSimSatRetMMPCmdTest::doTestStepL()
       
   335 	{
       
   336 	INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - START"));
       
   337 
       
   338  	CreateConfigFileL(_L("c:\\config4.txt"));
       
   339  	SetTestNumberL(0);
       
   340 
       
   341 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
   342 	TESTL(ret == KErrNone); 
       
   343 	INFO_PRINTF1(_L("Opened phone object"));
       
   344 	TESTL(iSat.Open(iPhone)==KErrNone);
       
   345 	INFO_PRINTF1(_L("Opened Sat object"));
       
   346 
       
   347 	testSAT8501L();	// For testing the TEL-SIMTSY-SAT-8501 
       
   348 	testSAT8502L();	// For testing the TEL-SIMTSY-SAT-8502 
       
   349 	testSAT8503L();	// For testing the TEL-SIMTSY-SAT-8503 
       
   350 	testSAT8504L();	// For testing the TEL-SIMTSY-SAT-8504 
       
   351 	testSAT8505L();	// For testing the TEL-SIMTSY-SAT-8505 
       
   352 	testSAT8506L();	// For testing the TEL-SIMTSY-SAT-8506 
       
   353 	testSAT8507L();	// For testing the TEL-SIMTSY-SAT-8507
       
   354 	testSAT8508L();	// For testing the TEL-SIMTSY-SAT-8508
       
   355 	
       
   356 	iSat.Close();
       
   357 	iPhone.Close();
       
   358 	ASSERT(RThread().RequestCount()==0);
       
   359 	
       
   360 	INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - END"));
       
   361 
       
   362 	return TestStepResult();
       
   363 	
       
   364 	}
       
   365 
       
   366 /*
       
   367  * 	SYMTestCaseID TEL-SIMTSY-NA-8501
       
   368  *
       
   369  *	SYMREQ REQ7329
       
   370  *
       
   371  *	SYMTestCaseDesc UICC issues RETRIEVE MULTIMEDIA Proactive command to
       
   372  *	ME successfully
       
   373  *
       
   374  *	SYMTestPriority High
       
   375  *
       
   376  *	SYMTestActions 
       
   377  *		(i) 	Client requests notification for RETRIEVE MM using RSat::NotifyRetrieveMultimediaMsgPCmd() API.
       
   378  *		(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
       
   379  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ()
       
   380  *
       
   381  *	SYMTestExpectedResults 
       
   382  *	ME is notified of the request.
       
   383  *	Upon completion of the proactive command, details are returned in a 
       
   384  *	packaged version of TRetrieveMultimediaMessageV6 in the command 
       
   385  *	parameter. 
       
   386  *	ME responds with KSuccess in the Terminal response command for the 
       
   387  *	TRequestStatus variable
       
   388  *
       
   389  * 	SYMTestType CIT
       
   390  */
       
   391 
       
   392 TInt CSimSatRetMMPCmdTest::testSAT8501L()
       
   393 	{
       
   394 
       
   395 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8501"));
       
   396 	
       
   397 	TRequestStatus reqStatus;
       
   398 
       
   399 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   400 	CleanupStack::PushL(tMMMessageV6);
       
   401 
       
   402 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
       
   403 											(*tMMMessageV6);
       
   404 	CleanupStack::PushL(tMMMessagePckg);
       
   405 
       
   406 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   407 	User::WaitForRequest(reqStatus);
       
   408 	TESTL(reqStatus.Int()==KErrNone);
       
   409 
       
   410 	TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
       
   411 	TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
       
   412 	TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
       
   413 	TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
       
   414 	TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
       
   415 	TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
       
   416 	TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
       
   417 	TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
       
   418 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
       
   419 	TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
       
   420 	TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
       
   421 	
       
   422 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   423 	CleanupStack::PushL(tMMMessageRspV6);
       
   424 	
       
   425 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
   426 		RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   427 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   428 	
       
   429 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
   430 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
   431 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   432 		
       
   433 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   434 	User::WaitForRequest(reqStatus);
       
   435 	TESTL(reqStatus.Int()== KErrNone);
       
   436 	
       
   437 	CleanupStack::PopAndDestroy(4);
       
   438 		
       
   439 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8501 - Successful"));
       
   440 	return KErrNone;
       
   441 
       
   442 	}
       
   443 
       
   444 /*
       
   445  * 	SYMTestCaseID TEL-SIMTSY-NA-8502
       
   446  *
       
   447  *	SYMREQ REQ7329
       
   448  *
       
   449  *	SYMTestCaseDesc Retrieve  Multimedia command rejected by the ME as ME is busy on a MMS transaction.
       
   450  *
       
   451  *	SYMTestPriority High
       
   452  *
       
   453  *	SYMTestActions 
       
   454  *	(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifyRetrieveMultimediaMsgPCmd()
       
   455  *		API.
       
   456  *	(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
       
   457  *	(iii)	ME is unable to execute the command as its busy processing some other MMS transaction.
       
   458  *	(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
   459  *
       
   460  *	SYMTestExpectedResults 
       
   461  *	ME is notified of the request.
       
   462  *	Upon completion of the proactive command, details are returned in a packaged version of 
       
   463  *	TRetrieveMultimediaMessageV6 in the command parameter. 
       
   464  *	ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult with the 
       
   465  *	additional information ‘KNoSpecificMeProblem’.
       
   466  *
       
   467  * 	SYMTestType CIT
       
   468  */
       
   469  
       
   470 TInt CSimSatRetMMPCmdTest::testSAT8502L()
       
   471 	{
       
   472 
       
   473 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8502"));
       
   474 	
       
   475 	TRequestStatus reqStatus;
       
   476 
       
   477 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   478 	CleanupStack::PushL(tMMMessageV6);
       
   479 
       
   480 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
       
   481 										(*tMMMessageV6);
       
   482 	CleanupStack::PushL(tMMMessagePckg);
       
   483 
       
   484 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   485 	User::WaitForRequest(reqStatus);
       
   486 	TESTL(reqStatus.Int()==KErrNone);
       
   487 
       
   488 	TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
       
   489 	TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
       
   490 	TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
       
   491 	TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
       
   492 	TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
       
   493 	TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
       
   494 	TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
       
   495 	TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
       
   496 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2) ==0);
       
   497 	TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
       
   498 	TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
       
   499 	
       
   500 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   501 	CleanupStack::PushL(tMMMessageRspV6);
       
   502 	
       
   503 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = 
       
   504 		new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   505 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   506 	
       
   507 	_LIT(KText,"KNoSpecificMeProblem");
       
   508 	TBuf<254> buf(KText);
       
   509 	tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
       
   510 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
   511 	tMMMessageRspV6->iAdditionalInfo = buf;
       
   512 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   513 		
       
   514 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   515 	User::WaitForRequest(reqStatus);
       
   516 	TESTL(reqStatus.Int() == KErrNone);
       
   517 	
       
   518 	CleanupStack::PopAndDestroy(4);
       
   519 	
       
   520 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8502 - Successful"));
       
   521 	return KErrNone;
       
   522 
       
   523 	}
       
   524 
       
   525 
       
   526 /*
       
   527  * 	SYMTestCaseID TEL-SIMTSY-NA-8503
       
   528  *	
       
   529  *	SYMREQ REQ REQ7329
       
   530  *	
       
   531  *	SYMTestCaseDesc 	RETRIEVE MULTIMEDIA MESSAGE command accepted 
       
   532  *	on the second attempt after the first attempt being replied as 
       
   533  *	ME busy on MMS transaction.
       
   534  *	
       
   535  *	SYMTestPriority High
       
   536  *
       
   537  * 	SYMTestActions 
       
   538  *	(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE 
       
   539  *		using NotifyRetrieveMultimediaMsgPCmd () API.
       
   540  *	(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
       
   541  *	(iii)	ME is unable to execute the command as its busy processing 
       
   542  *		some other MMS transaction.
       
   543  *	(iv)	ME sends Terminal Response to the UICC using 
       
   544  *		RSat::TerminalRsp ().
       
   545  *	(v)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE 
       
   546  *		using NotifyRetrieveMultimediaMsgPCmd () API again.
       
   547  *	(vi)	UICC makes another attempt by resending the proactive command.
       
   548  *		This time Clients responds to execute the command successfully.
       
   549  *	(vii)	ME sends Terminal Response to the UICC using 
       
   550  *		RSat::TerminalRsp ().
       
   551  *	
       
   552  *	SYMTestExpectedResults 
       
   553  *	Client is notified of the request.
       
   554  *	ME responds with KMMSTemporaryProblem in the response parameter. 
       
   555  *	Upon completion of the proactive command in the second attempt, 
       
   556  *	details are returned in a packaged version of 
       
   557  *	TRetrieveMultimediaMessageV6 in the command parameter. 
       
   558  *	For the second attempt, Client responds with KSuccess in the 
       
   559  *	response parameter
       
   560  *
       
   561  * 	SYMTestType CIT
       
   562  */
       
   563 TInt CSimSatRetMMPCmdTest::testSAT8503L()
       
   564 	{
       
   565 
       
   566 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8503"));
       
   567 	
       
   568 	TRequestStatus reqStatus;
       
   569 
       
   570 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   571 	CleanupStack::PushL(tMMMessageV6);
       
   572 
       
   573 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
       
   574 			(*tMMMessageV6);
       
   575 	CleanupStack::PushL(tMMMessagePckg);
       
   576 
       
   577 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   578 	User::WaitForRequest(reqStatus);
       
   579 	TESTL(reqStatus.Int()==KErrNone);
       
   580 
       
   581 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   582 	CleanupStack::PushL(tMMMessageRspV6);
       
   583 	
       
   584 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 =
       
   585 	       new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   586 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   587 	
       
   588 	reqStatus = KErrNone;
       
   589 	
       
   590 	_LIT(KText,"KNoSpecificMeProblem");
       
   591 	TBuf<254> buf(KText);
       
   592 	tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
       
   593 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
   594 	tMMMessageRspV6->iAdditionalInfo = buf;
       
   595 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   596 		
       
   597 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   598 	User::WaitForRequest(reqStatus);
       
   599 	TESTL(reqStatus.Int() == KErrNone);
       
   600 	
       
   601 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   602 	User::WaitForRequest(reqStatus);
       
   603 	TESTL(reqStatus.Int()==KErrNone);
       
   604 	
       
   605 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
   606 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
   607 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   608 	
       
   609 	CleanupStack::PopAndDestroy(4);
       
   610 	
       
   611 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8503 - Successful"));
       
   612 	return KErrNone;
       
   613 
       
   614 	}
       
   615 
       
   616 /*
       
   617  * 	SYMTestCaseID TEL-SIMTSY-NA-8504
       
   618  *
       
   619  *	SYMREQ REQ7329
       
   620  *
       
   621  *	SYMTestCaseDesc ME rejects  Retrieve  Multimedia command as the ME is unable to process the MMS transaction
       
   622  *
       
   623  *	SYMTestPriority High
       
   624  *
       
   625  *	SYMTestActions 
       
   626  *		(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using 
       
   627  *			NotifyRetrieveMultimediaMsgPCmd () API.
       
   628  *		(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
       
   629  *		(iii)	Client is unable to process the MMS transaction.
       
   630  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
   631  *
       
   632  *	SYMTestExpectedResults 
       
   633  *	Client is notified of the request.
       
   634  *	Upon completion of the proactive command details are returned in a packaged version of 
       
   635  *	TRetrieveMultimediaMessageV6 in the command parameter. 
       
   636  *	ME responds with KMMSError  in the Terminal response as the TPCmdResult with the 
       
   637  *	additional information ‘KNoSpecificMeProblem’.
       
   638  *
       
   639  * 	SYMTestType CIT
       
   640  */
       
   641 
       
   642 TInt CSimSatRetMMPCmdTest::testSAT8504L()
       
   643 	{
       
   644 
       
   645 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8504"));
       
   646 	TRequestStatus reqStatus;
       
   647 
       
   648 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   649 	CleanupStack::PushL(tMMMessageV6);
       
   650 
       
   651 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
   652 		RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
   653 	CleanupStack::PushL(tMMMessagePckg);
       
   654 
       
   655 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   656 	User::WaitForRequest(reqStatus);
       
   657 	TESTL(reqStatus.Int()==KErrNone);
       
   658 
       
   659 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   660 	CleanupStack::PushL(tMMMessageRspV6);
       
   661 	
       
   662 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
   663 		RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   664 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   665 	
       
   666 	_LIT(KText,"KNoSpecificMeProblem");
       
   667 	TBuf<254> buf(KText);
       
   668 	tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
       
   669 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
   670 	tMMMessageRspV6->iAdditionalInfo = buf;
       
   671 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   672 		
       
   673 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   674 	User::WaitForRequest(reqStatus);
       
   675 	TESTL(reqStatus.Int() == KErrNone);
       
   676 	
       
   677 	CleanupStack::PopAndDestroy(4);
       
   678 	
       
   679 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8504 - Successful"));
       
   680 	return KErrNone;
       
   681 
       
   682 	}
       
   683 
       
   684 /*
       
   685  * 	SYMTestCaseID TEL-SIMTSY-NA-8505
       
   686  *
       
   687  *	SYMREQ REQ7329
       
   688  *
       
   689  *	SYMTestCaseDesc Cancel notification of RETRIEVE MULTIMEDIA MESSAGE request
       
   690  *
       
   691  *	SYMTestPriority High
       
   692  *
       
   693  *	SYMTestActions 
       
   694  *		(i)	Register to be notified of RETRIEVE MULTIMEDIA MESSAGE 
       
   695  *			command using NotifyRetrieveMultimediaMsgPCmd () API.
       
   696  *		(ii)	Cancel the request by calling CancelAsyncRequest (ESatNotifyRetrieveMultimediaMessagePCmd).
       
   697  *
       
   698  *	SYMTestExpectedResults 
       
   699  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
   700  * 	SYMTestType CIT
       
   701  */
       
   702 
       
   703 TInt CSimSatRetMMPCmdTest::testSAT8505L()
       
   704 	{
       
   705 	
       
   706 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8505"));
       
   707 	
       
   708 	TRequestStatus reqStatus;
       
   709 
       
   710 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   711 	CleanupStack::PushL(tMMMessageV6);
       
   712 
       
   713 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
   714 		RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
   715 	CleanupStack::PushL(tMMMessagePckg);
       
   716 
       
   717 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   718 	iSat.CancelAsyncRequest(ESatNotifyRetrieveMultimediaMsgPCmd);
       
   719 	User::WaitForRequest(reqStatus);
       
   720 	
       
   721 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
   722 
       
   723 	CleanupStack::PopAndDestroy(2);
       
   724 
       
   725 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8505 - Successful"));
       
   726 	return KErrNone;
       
   727 	
       
   728 	}
       
   729 
       
   730 
       
   731 /*
       
   732  * 	SYMTestCaseID TEL-SIMTSY-NA-8506
       
   733  *
       
   734  *	SYMREQ REQ7329
       
   735  *
       
   736  *	SYMTestCaseDesc Cancel the terminal response for the request placed for notification of 
       
   737  *			RETRIEVE MULTIMEDIA MESSAGE request
       
   738  *
       
   739  *	SYMTestPriority High
       
   740  *
       
   741  *	SYMTestActions 
       
   742  *		(i)	Register to be notified of RETRIEVE MULTIMEDIA MESSAGE 
       
   743  *			command using NotifyRetrieveMultimediaMsgPCmd () API.
       
   744  *		(ii)	Call the Terminal response() API with the TPCmd as ERetrieveMultimediaMsg
       
   745  *		(iii)	Cancel the request by calling CancelAsyncRequest (ESatTerminalRsp).
       
   746  *
       
   747  *	SYMTestExpectedResults 
       
   748  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
   749  *
       
   750  * 	SYMTestType CIT
       
   751  */
       
   752 
       
   753 TInt CSimSatRetMMPCmdTest::testSAT8506L()
       
   754 	{
       
   755 
       
   756 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8506"));
       
   757 
       
   758 	TRequestStatus reqStatus;
       
   759 
       
   760 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   761 	CleanupStack::PushL(tMMMessageV6);
       
   762 
       
   763 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
   764 	       	RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
   765 	CleanupStack::PushL(tMMMessagePckg);
       
   766 
       
   767 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   768 	User::WaitForRequest(reqStatus);
       
   769 	TESTL(reqStatus.Int()==KErrNone);
       
   770 
       
   771 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   772 	CleanupStack::PushL(tMMMessageRspV6);
       
   773 	
       
   774 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
   775 	       	RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   776 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   777 	
       
   778 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
   779 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
   780 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   781 		
       
   782 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   783 	iSat.CancelAsyncRequest(ESatTerminalRsp);
       
   784 	User::WaitForRequest(reqStatus);
       
   785 	
       
   786 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() ==  KErrCancel));
       
   787 	
       
   788 	CleanupStack::PopAndDestroy(4);
       
   789 
       
   790 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8506 - Successful"));
       
   791 	return KErrNone;
       
   792 
       
   793 	}
       
   794 
       
   795 /*
       
   796  * 	SYMTestCaseID TEL-SIMTSY-NA-8507
       
   797  *
       
   798  *	SYMREQ REQ7329 and REQ7334
       
   799  *
       
   800  *	SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command 
       
   801  *			after the RETRIEVE MULTIMEDIA MESSAGE proactive command.
       
   802  *
       
   803  *	SYMTestPriority High
       
   804  *
       
   805  *	SYMTestActions 
       
   806  *	(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
       
   807  *	(ii)	Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22 
       
   808  *		set to KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
       
   809  *	(iii)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using 
       
   810  *		NotifyRetrieveMultimediaMsgPCmd () API.
       
   811  *	(iv)	UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
       
   812  *	(v)	ME is able to process the MMS transaction and the response is sent using RSat::TerminalRsp ()
       
   813  *		for NotifyRetrieveMultimediaMsgPCmd.
       
   814  *	(vi)	Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6 
       
   815  *		to store the MM1_retrieve.RES message on to the UICC.
       
   816  *
       
   817  *	SYMTestExpectedResults 
       
   818  *		GetMeSideSatProfile shall return the RSat::TSatProfileV6 with TSatProfileByte22 set to 
       
   819  *		KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
       
   820  *		The ClientSideSatProfile shall return with KErrNone.
       
   821  *		The envelope command MMS TRANSFER STATUS is passed on from ME to UICC successfully.
       
   822  *
       
   823  * 	SYMTestType CIT
       
   824  */
       
   825 
       
   826 TInt CSimSatRetMMPCmdTest::testSAT8507L()
       
   827 	{
       
   828 
       
   829 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8507"));
       
   830 	
       
   831 	TRequestStatus reqStatus;
       
   832 
       
   833 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
   834 	CleanupStack::PushL(profileV6);
       
   835 	
       
   836 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
   837 	CleanupStack::PushL(profileV6Pckg);
       
   838 
       
   839 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
   840 	User::WaitForRequest(reqStatus);
       
   841 	TESTL(reqStatus.Int()==KErrNone);
       
   842 	
       
   843 	TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
       
   844 	TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
       
   845 	
       
   846 	TRequestStatus  trr = KErrNone;
       
   847 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
   848 	TESTL(trr == KErrNone);
       
   849 		
       
   850 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   851 	CleanupStack::PushL(tMMMessageV6);
       
   852 
       
   853 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
   854 		RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
   855 	CleanupStack::PushL(tMMMessagePckg);
       
   856 
       
   857 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   858 	User::WaitForRequest(reqStatus);
       
   859 	TESTL(reqStatus.Int()==KErrNone);
       
   860 	
       
   861 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   862 	CleanupStack::PushL(tMMMessageRspV6);
       
   863 	
       
   864 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
   865 	       	RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   866 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   867 	
       
   868 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
   869 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
   870 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   871 		
       
   872 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   873 	User::WaitForRequest(reqStatus);
       
   874 	TESTL(reqStatus.Int() == KErrNone);
       
   875 	
       
   876 	RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
       
   877 	CleanupStack::PushL(tMMSTransferStsV6);
       
   878 	
       
   879 	RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
       
   880 	       	RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
       
   881 	CleanupStack::PushL(tMMSTransferStsV6Pckg);
       
   882 	
       
   883 	_LIT(KText,"TransferFilePath");
       
   884 	TBuf<255> trfFileBuf(KText);
       
   885 	_LIT(KText1,"MMMessageBuf");
       
   886 	TBuf<255> trfFileMMMsgBuf(KText1);
       
   887 	_LIT(KText2,"MMMessageIdentifier");
       
   888 	TBuf<255> trfFileMMMsgId(KText2);
       
   889 	
       
   890 	tMMSTransferStsV6->iDeviceId = RSat::KME;
       
   891 	tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
       
   892 	tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
       
   893 	tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
       
   894 	
       
   895 	iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
       
   896 	User::WaitForRequest(reqStatus);
       
   897 	TESTL(reqStatus.Int()==KErrNone);
       
   898 	
       
   899 	CleanupStack::PopAndDestroy(8);
       
   900 
       
   901 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8507 - Successful"));
       
   902 	return KErrNone;
       
   903 
       
   904 	}
       
   905 
       
   906 
       
   907 /*
       
   908  * 	SYMTestCaseID TEL-SIMTSY-NA-8508
       
   909  *
       
   910  *	SYMREQ REQ7329 and REQ7334
       
   911  *
       
   912  *	SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS 
       
   913  *			envelope command after the RETRIEVE MULTIMEDIA MESSAGE Proactive command is placed.
       
   914  *
       
   915  *	SYMTestPriority High
       
   916  *
       
   917  *	SYMTestActions 
       
   918  *		(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE 
       
   919  *			using NotifyRetrieveMultimediaMsgPCmd () API.
       
   920  *		(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
       
   921  *		(iii)	ME is able to process the MMS transaction and the response is sent 
       
   922  *			using RSat::TerminalRsp  for NotifyRetrieveMultimediaMsgPCmd.
       
   923  *		(iv)	Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
       
   924  *		(v)	Cancel the request for the envelope command API placed using 
       
   925  *			RSat::CancelAsyncRequest(ESatMMTransferStatus).
       
   926  *		(vi)	ME is able to send the envelope command MULTIMEDIA TRANSFER STATUS 
       
   927  *		and the response is sent using RSat::TerminalRsp ().
       
   928  *
       
   929  *	SYMTestExpectedResults 
       
   930  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
   931  * 	SYMTestType CIT
       
   932  */
       
   933 
       
   934 TInt CSimSatRetMMPCmdTest::testSAT8508L()
       
   935 	{
       
   936 	
       
   937 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8508"));
       
   938 	
       
   939 	TRequestStatus reqStatus;
       
   940 
       
   941 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
   942 	CleanupStack::PushL(profileV6);
       
   943 	
       
   944 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
   945 	CleanupStack::PushL(profileV6Pckg);
       
   946 
       
   947 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
   948 	User::WaitForRequest(reqStatus);
       
   949 	TESTL(reqStatus.Int()==KErrNone);
       
   950 	
       
   951 	TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
       
   952 	TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
       
   953 	
       
   954 	TRequestStatus  trr = KErrNone;
       
   955 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
   956 	TESTL(trr == KErrNone);
       
   957 		
       
   958 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
   959 	CleanupStack::PushL(tMMMessageV6);
       
   960 
       
   961 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
   962 	       	RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
   963 	CleanupStack::PushL(tMMMessagePckg);
       
   964 
       
   965 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
   966 	User::WaitForRequest(reqStatus);
       
   967 	TESTL(reqStatus.Int()==KErrNone);
       
   968 	
       
   969 	RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
       
   970 	CleanupStack::PushL(tMMMessageRspV6);
       
   971 	
       
   972 	RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
   973 	       	RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
   974 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
   975 	
       
   976 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
   977 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
   978 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
       
   979 		
       
   980 	iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
       
   981 	User::WaitForRequest(reqStatus);
       
   982 	TESTL(reqStatus.Int() == KErrNone);
       
   983 	
       
   984 	RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
       
   985 	CleanupStack::PushL(tMMSTransferStsV6);
       
   986 	
       
   987 	RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave) 
       
   988 		RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
       
   989 	CleanupStack::PushL(tMMSTransferStsV6Pckg);
       
   990 	
       
   991 	_LIT(KText,"TransferFilePath");
       
   992 	TBuf<255> trfFileBuf(KText);
       
   993 	_LIT(KText1,"MMMessageBuf");
       
   994 	TBuf<255> trfFileMMMsgBuf(KText1);
       
   995 	_LIT(KText2,"MMMessageIdentifier");
       
   996 	TBuf<255> trfFileMMMsgId(KText2);
       
   997 	
       
   998 	tMMSTransferStsV6->iDeviceId = RSat::KME;
       
   999 	tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
       
  1000 	tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
       
  1001 	tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
       
  1002 	
       
  1003 	iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
       
  1004 	iSat.CancelAsyncRequest(ESatMmsTransferStatus);
       
  1005 	User::WaitForRequest(reqStatus);
       
  1006 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  1007 	
       
  1008 	CleanupStack::PopAndDestroy(8);
       
  1009 
       
  1010 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8508 - Successful"));
       
  1011 	return KErrNone;
       
  1012 	}
       
  1013 
       
  1014 
       
  1015 CSimSatSubMMPCmdTest::CSimSatSubMMPCmdTest() 
       
  1016 	{ 
       
  1017 	SetTestStepName(_L("SatTestSubMMPCmd"));
       
  1018 	}
       
  1019 
       
  1020 TVerdict CSimSatSubMMPCmdTest::doTestStepL()
       
  1021 	{
       
  1022 	INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - START"));
       
  1023 
       
  1024  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  1025  	SetTestNumberL(0);
       
  1026 
       
  1027 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  1028 	TESTL(ret == KErrNone); 
       
  1029 	INFO_PRINTF1(_L("Opened phone object"));
       
  1030 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  1031 	INFO_PRINTF1(_L("Opened Sat object"));
       
  1032 
       
  1033 	testSAT8509L();	// For testing the TEL-SIMTSY-SAT-8509
       
  1034 	testSAT8510L();	// For testing the TEL-SIMTSY-SAT-8510 
       
  1035 	testSAT8511L();	// For testing the TEL-SIMTSY-SAT-8511 
       
  1036 	testSAT8512L();	// For testing the TEL-SIMTSY-SAT-8512 
       
  1037 	testSAT8513L();	// For testing the TEL-SIMTSY-SAT-8513 
       
  1038 	testSAT8514L();	// For testing the TEL-SIMTSY-SAT-8514 
       
  1039 	testSAT8515L();	// For testing the TEL-SIMTSY-SAT-8515
       
  1040 			
       
  1041 	iSat.Close();
       
  1042 	iPhone.Close();
       
  1043 	ASSERT(RThread().RequestCount()==0);
       
  1044 	
       
  1045 	INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - END"));
       
  1046 
       
  1047 	return TestStepResult();
       
  1048 	
       
  1049 	}
       
  1050 
       
  1051 
       
  1052 /*
       
  1053  * 	SYMTestCaseID TEL-SIMTSY-NA-8509
       
  1054  *
       
  1055  * 	SYMREQ REQ7330
       
  1056  *
       
  1057  *	SYMTestCaseDesc UICC issues SUBMIT MULTIMEDIA MESSAGE command to ME successfully.
       
  1058  *
       
  1059  *	SYMTestPriority High
       
  1060  *
       
  1061  *	SYMTestActions 
       
  1062  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE
       
  1063  *			using RSat::NotifySubmitMultimediaMsgPCmd () API. 
       
  1064  *		(ii)	UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
       
  1065  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1066  *
       
  1067  * 	SYMTestExpectedResults 
       
  1068  * 	Client is notified of the request.
       
  1069  * 	Upon completion of the proactive command details are returned in a packaged version of 
       
  1070  * 	TSubmitMultimediaMessageV6 in the command parameter. 
       
  1071  * 	ME responds with KSuccess as the response parameter
       
  1072  *
       
  1073  * 	SYMTestType CIT
       
  1074  */
       
  1075 
       
  1076 TInt CSimSatSubMMPCmdTest::testSAT8509L()
       
  1077 	{
       
  1078 	
       
  1079 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8509"));
       
  1080 
       
  1081 	TRequestStatus reqStatus;
       
  1082 
       
  1083 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1084 	CleanupStack::PushL(tMMMessageV6);
       
  1085 
       
  1086 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  1087 		RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1088 	CleanupStack::PushL(tMMMessagePckg);
       
  1089 
       
  1090 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1091 	User::WaitForRequest(reqStatus);
       
  1092 	TESTL(reqStatus.Int()==KErrNone);
       
  1093 
       
  1094 	TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
       
  1095 	TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
       
  1096 	TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
       
  1097 	TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
       
  1098 	TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
       
  1099 	TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
       
  1100 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
       
  1101 	TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
       
  1102 	TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
       
  1103 	
       
  1104 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1105 	CleanupStack::PushL(tMMMessageRspV6);
       
  1106 	
       
  1107 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1108 		RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1109 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1110 	
       
  1111 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1112 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1113 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1114 		
       
  1115 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1116 	User::WaitForRequest(reqStatus);
       
  1117 	TESTL(reqStatus.Int() == KErrNone);
       
  1118 	
       
  1119 	CleanupStack::PopAndDestroy(4);
       
  1120 		
       
  1121 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8509 - Successful"));
       
  1122 	return KErrNone;
       
  1123 
       
  1124 	}
       
  1125 
       
  1126 
       
  1127 /*
       
  1128  * 	SYMTestCaseID TEL-SIMTSY-NA-8510
       
  1129  *
       
  1130  *	SYMREQ REQ7330
       
  1131  *
       
  1132  *	SYMTestCaseDesc Submit  Multimedia command rejected by the client as the ME is busy on a MMS transaction
       
  1133  *	
       
  1134  *	SYMTestPriority High
       
  1135  *
       
  1136  *	SYMTestActions 
       
  1137  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using 
       
  1138  *			NotifySubmitMultimediaMsgPCmd () API.
       
  1139  *		(ii)	UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
       
  1140  *		(iii)	ME is unable to execute the command as its busy processing some other MMS transaction.
       
  1141  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1142  *
       
  1143  *	SYMTestExpectedResults 
       
  1144  *		Client is notified of the request.
       
  1145  *		Upon completion of the proactive command details are returned in a packaged version of 
       
  1146  *		TSubmitMultimediaMessageV6 in the command parameter. 
       
  1147  *		ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult 
       
  1148  *		with the additional information ‘KNoSpecificMeProblem’.
       
  1149  *
       
  1150  * 	SYMTestType CIT
       
  1151  */
       
  1152 
       
  1153 TInt CSimSatSubMMPCmdTest::testSAT8510L()
       
  1154 	{
       
  1155 
       
  1156 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8510"));
       
  1157 	
       
  1158 	TRequestStatus reqStatus;
       
  1159 
       
  1160 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1161 	CleanupStack::PushL(tMMMessageV6);
       
  1162 
       
  1163 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1164 	    RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1165 	CleanupStack::PushL(tMMMessagePckg);
       
  1166 
       
  1167 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1168 	User::WaitForRequest(reqStatus);
       
  1169 	TESTL(reqStatus.Int()==KErrNone);
       
  1170 
       
  1171 	TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
       
  1172 	TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
       
  1173 	TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
       
  1174 	TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
       
  1175 	TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
       
  1176 	TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
       
  1177 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
       
  1178 	TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
       
  1179 	TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
       
  1180 	
       
  1181 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1182 	CleanupStack::PushL(tMMMessageRspV6);
       
  1183 	
       
  1184 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1185 		RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1186 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1187 	
       
  1188 	_LIT(KText,"KNoSpecificMeProblem");
       
  1189 	TBuf<254> buf(KText);
       
  1190 	tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
       
  1191 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  1192 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  1193 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1194 		
       
  1195 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1196 	User::WaitForRequest(reqStatus);
       
  1197 	TESTL(reqStatus.Int() == KErrNone);
       
  1198 	
       
  1199 	CleanupStack::PopAndDestroy(4);
       
  1200 		
       
  1201 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8510 - Successful"));
       
  1202 	return KErrNone;
       
  1203 
       
  1204 	}
       
  1205 
       
  1206 /*
       
  1207  * 	SYMTestCaseID TEL-SIMTSY-NA-8511
       
  1208  *
       
  1209  *	SYMREQ REQ7330
       
  1210  *
       
  1211  *	SYMTestCaseDesc Submit  Multimedia command accepted on the second attempt
       
  1212  *
       
  1213  *	SYMTestPriority High
       
  1214  *
       
  1215  *	SYMTestActions 
       
  1216  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
       
  1217  *			NotifySubmitMultimediaMsgPCmd () API.
       
  1218  *		(ii)	UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
       
  1219  *		(iii)	ME is unable to execute the command as its busy processing some other MMS transaction.
       
  1220  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1221  *		(v)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using 
       
  1222  *			NotifySubmitMultimediaMsgPCmd () API again.
       
  1223  *		(vi)	UICC makes another attempt by resending the proactive command.  
       
  1224  *			This time ME responds to execute the command successfully.
       
  1225  *		(vii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1226  *
       
  1227  *	SYMTestExpectedResults 
       
  1228  *		Client is notified of the request.
       
  1229  *		Upon completion of the proactive command details are returned in a packaged 
       
  1230  *		version of TSubmitMultimediaMessageV6 in the command parameter. 
       
  1231  *		ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult 
       
  1232  *		with the additional information ‘KNoSpecificMeProblem’.
       
  1233  *		For the second attempt, ME responds with KSuccess in the response parameter
       
  1234  *
       
  1235  * 	SYMTestType CIT
       
  1236  */
       
  1237 
       
  1238 TInt CSimSatSubMMPCmdTest::testSAT8511L()
       
  1239 	{
       
  1240 
       
  1241 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8511"));
       
  1242 	
       
  1243 	TRequestStatus reqStatus;
       
  1244 
       
  1245 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1246 	CleanupStack::PushL(tMMMessageV6);
       
  1247 
       
  1248 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  1249 		RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1250 	CleanupStack::PushL(tMMMessagePckg);
       
  1251 
       
  1252 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1253 	User::WaitForRequest(reqStatus);
       
  1254 	TESTL(reqStatus.Int()==KErrNone);
       
  1255 
       
  1256 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1257 	CleanupStack::PushL(tMMMessageRspV6);
       
  1258 	
       
  1259 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1260 		RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1261 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1262 	
       
  1263 	_LIT(KText,"KNoSpecificMeProblem");
       
  1264 	TBuf<254> buf(KText);
       
  1265 	tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
       
  1266 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  1267 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  1268 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1269 		
       
  1270 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1271 	User::WaitForRequest(reqStatus);
       
  1272 	TESTL(reqStatus.Int() == KErrNone);
       
  1273 	
       
  1274 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1275 	User::WaitForRequest(reqStatus);
       
  1276 	TESTL(reqStatus.Int()==KErrNone);
       
  1277 	
       
  1278 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1279 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1280 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1281 	
       
  1282 	CleanupStack::PopAndDestroy(4);
       
  1283 	
       
  1284 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8511 - Successful"));
       
  1285 	return KErrNone;
       
  1286 
       
  1287 	}
       
  1288 
       
  1289 
       
  1290 /*
       
  1291  * 	SYMTestCaseID TEL-SIMTSY-NA-8512
       
  1292  *
       
  1293  *	SYMREQ REQ7330
       
  1294  *
       
  1295  *	SYMTestCaseDesc Client rejects  Submit  Multimedia command as the ME is unable to process the MMS transaction
       
  1296  *
       
  1297  *	SYMTestPriority High
       
  1298  *
       
  1299  *	SYMTestActions 
       
  1300  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using 
       
  1301  *			NotifySubmitMultimediaMsgPCmd () API.
       
  1302  *		(ii)	UICC issues Submit Command to the ME.
       
  1303  *		(iii)	ME is unable to process the MMS transaction.
       
  1304  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1305  *
       
  1306  *	SYMTestExpectedResults 
       
  1307  *		Client is notified of the request.
       
  1308  *		Upon completion of the proactive command details are returned in a packaged version of 
       
  1309  *		TSubmitMultimediaMessageV6 in the command parameter. 
       
  1310  *		ME responds with KMMSError  in the Terminal response as the TPCmdResult with the additional 
       
  1311  *		information ‘KNoSpecificMeProblem’.
       
  1312  *
       
  1313  * 	SYMTestType CIT
       
  1314  */
       
  1315 
       
  1316 TInt CSimSatSubMMPCmdTest::testSAT8512L()
       
  1317 	{
       
  1318 
       
  1319 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8512"));
       
  1320 
       
  1321 	TRequestStatus reqStatus;
       
  1322 
       
  1323 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1324 	CleanupStack::PushL(tMMMessageV6);
       
  1325 
       
  1326 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  1327 		RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1328 	CleanupStack::PushL(tMMMessagePckg);
       
  1329 
       
  1330 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1331 	User::WaitForRequest(reqStatus);
       
  1332 	TESTL(reqStatus.Int()==KErrNone);
       
  1333 	
       
  1334 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1335 	CleanupStack::PushL(tMMMessageRspV6);
       
  1336 	
       
  1337 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1338 		RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1339 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1340 	
       
  1341 	_LIT(KText,"KNoSpecificMeProblem");
       
  1342 	TBuf<254> buf(KText);
       
  1343 	tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
       
  1344 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  1345 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  1346 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1347 		
       
  1348 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1349 	User::WaitForRequest(reqStatus);
       
  1350 	TESTL(reqStatus.Int() == KErrNone);
       
  1351 	
       
  1352 	CleanupStack::PopAndDestroy(4);
       
  1353 		
       
  1354 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8512 - Successful"));
       
  1355 	return KErrNone;
       
  1356 
       
  1357 	}
       
  1358 
       
  1359 
       
  1360 /*
       
  1361  * 	SYMTestCaseID TEL-SIMTSY-NA-8513
       
  1362  *
       
  1363  *	SYMREQ REQ7330
       
  1364  *
       
  1365  *	SYMTestCaseDesc Cancel notification of Submit  Multimedia request
       
  1366  *
       
  1367  *	SYMTestPriority High
       
  1368  *
       
  1369  *	SYMTestActions 
       
  1370  *		(i)	Register to be notified of SUBMIT MULTIMEDIA MESSAGE command using 
       
  1371  *			NotifySubmitMultimediaMsgPCmd () API.
       
  1372  *		(ii)	Cancel the request by calling CancelAsyncRequest(ESatNotifySubmitMultimediaMessagePCmd)
       
  1373  *
       
  1374  *	SYMTestExpectedResults 
       
  1375  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  1376  * 	SYMTestType CIT
       
  1377  */
       
  1378 TInt CSimSatSubMMPCmdTest::testSAT8513L()
       
  1379 	{
       
  1380 	
       
  1381 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8513"));
       
  1382 
       
  1383 	TRequestStatus reqStatus;
       
  1384 
       
  1385 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1386 	CleanupStack::PushL(tMMMessageV6);
       
  1387 
       
  1388 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1389 	       	RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1390 	CleanupStack::PushL(tMMMessagePckg);
       
  1391 
       
  1392 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1393 	iSat.CancelAsyncRequest(ESatNotifySubmitMultimediaMsgPCmd);
       
  1394 	User::WaitForRequest(reqStatus);
       
  1395 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  1396 
       
  1397 	CleanupStack::PopAndDestroy(2);
       
  1398 
       
  1399 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8513 - Successful"));
       
  1400 	return KErrNone;
       
  1401 	
       
  1402 	}
       
  1403 
       
  1404 
       
  1405 /*
       
  1406  * 	SYMTestCaseID TEL-SIMTSY-NA-8514
       
  1407  *
       
  1408  *	SYMREQ REQ7330 and REQ7334
       
  1409  *
       
  1410  *	SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command 
       
  1411  *			after the SUBMIT MULTIMEDIA MESSAGE proactive command.
       
  1412  *
       
  1413  *	SYMTestPriority High
       
  1414  *
       
  1415  *	SYMTestActions 
       
  1416  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
       
  1417  *		(ii)	Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22 \
       
  1418  *			set to KCapsSubmitMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
       
  1419  *		(iii)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using 
       
  1420  *			NotifySubmtiMultimediaMsgPCmd () API.
       
  1421  *		(iv)	UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
       
  1422  *		(v)	ME is able to process the MMS transaction and the response is sent using 
       
  1423  *			RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
       
  1424  *		(vi)	Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6 to 
       
  1425  *			store the MM1_retrieve.RES message.
       
  1426  *
       
  1427  *	SYMTestExpectedResults 
       
  1428  *	GetMeSideSatProfile shall return TSatProfileV6 with TSatProfileByte22 set to KCapsSubmitMultimediaMessage 
       
  1429  *	and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
       
  1430  *	ClientSatProfileIndication shall return KErrNone.
       
  1431  *	The envelope command is passed on from ME to UICC successfully.
       
  1432  *
       
  1433  * 	SYMTestType CIT
       
  1434  */
       
  1435 
       
  1436 TInt CSimSatSubMMPCmdTest::testSAT8514L()
       
  1437 	{
       
  1438 
       
  1439 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8514"));
       
  1440 
       
  1441 	TRequestStatus reqStatus;
       
  1442 	
       
  1443 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  1444 	CleanupStack::PushL(profileV6);
       
  1445 	
       
  1446 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  1447 	CleanupStack::PushL(profileV6Pckg);
       
  1448 
       
  1449 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  1450 	User::WaitForRequest(reqStatus);
       
  1451 	TESTL(reqStatus.Int()==KErrNone);
       
  1452 	
       
  1453 	TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
       
  1454 	TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
       
  1455 	
       
  1456 	TRequestStatus  trr = KErrNone;
       
  1457 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  1458 	TESTL(trr == KErrNone);
       
  1459 	
       
  1460 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1461 	CleanupStack::PushL(tMMMessageV6);
       
  1462 
       
  1463 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1464 	       	RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1465 	CleanupStack::PushL(tMMMessagePckg);
       
  1466 
       
  1467 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1468 	User::WaitForRequest(reqStatus);
       
  1469 	TESTL(reqStatus.Int()==KErrNone);
       
  1470 
       
  1471 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1472 	CleanupStack::PushL(tMMMessageRspV6);
       
  1473 	
       
  1474 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  1475 	       RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1476 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1477 	
       
  1478 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1479 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1480 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1481 		
       
  1482 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1483 	User::WaitForRequest(reqStatus);
       
  1484 	TESTL(reqStatus.Int() == KErrNone);
       
  1485 		
       
  1486 	RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
       
  1487 	CleanupStack::PushL(tMMSTransferStsV6);
       
  1488 	
       
  1489 	RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave) 
       
  1490 		RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
       
  1491 	CleanupStack::PushL(tMMSTransferStsV6Pckg);
       
  1492 	
       
  1493 	_LIT(KText,"TransferFilePath");
       
  1494 	TBuf<255> trfFileBuf(KText);
       
  1495 	_LIT(KText1,"MMMessageBuf");
       
  1496 	TBuf<255> trfFileMMMsgBuf(KText1);
       
  1497 	_LIT(KText2,"MMMessageIdentifier");
       
  1498 	TBuf<255> trfFileMMMsgId(KText2);
       
  1499 	
       
  1500 	tMMSTransferStsV6->iDeviceId = RSat::KME;
       
  1501 	tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
       
  1502 	tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
       
  1503 	tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
       
  1504 	
       
  1505 	iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
       
  1506 	User::WaitForRequest(reqStatus);
       
  1507 	TESTL(reqStatus.Int()==KErrNone);
       
  1508 	
       
  1509 	CleanupStack::PopAndDestroy(8);
       
  1510 
       
  1511 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8514 - Successful"));
       
  1512 	return KErrNone;
       
  1513 
       
  1514 	}
       
  1515 
       
  1516 
       
  1517 /*
       
  1518  * 	SYMTestCaseID TEL-SIMTSY-NA-8515
       
  1519  *
       
  1520  *	SYMREQ REQ7330 and REQ7334
       
  1521  *
       
  1522  *	SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS
       
  1523  *			envelope command after the SUBMIT MULTIMEDIA MESSAGE Proactive command is placed.
       
  1524  *
       
  1525  *	SYMTestPriority High
       
  1526  *
       
  1527  *	SYMTestActions 
       
  1528  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using 
       
  1529  *			NotifySubmitMultimediaMsgPCmd () API.
       
  1530  *		(ii)	UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
       
  1531  *		(iii)	ME is able to process the MMS transaction and the response is sent using 
       
  1532  *			RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
       
  1533  *		(iv)	Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
       
  1534  *		(v)	Cancel the request for the envelope command API placed using 
       
  1535  *			RSat::CancelAsyncRequest(ESatMMTransferStatus).
       
  1536  *
       
  1537  *	SYMTestExpectedResults 
       
  1538  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  1539  *
       
  1540  * 	SYMTestType CIT
       
  1541  */
       
  1542 
       
  1543 
       
  1544 TInt CSimSatSubMMPCmdTest::testSAT8515L()
       
  1545 	{
       
  1546 
       
  1547 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8515"));
       
  1548 
       
  1549 	TRequestStatus reqStatus;
       
  1550 	
       
  1551 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  1552 	CleanupStack::PushL(profileV6);
       
  1553 	
       
  1554 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  1555 	CleanupStack::PushL(profileV6Pckg);
       
  1556 
       
  1557 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  1558 	User::WaitForRequest(reqStatus);
       
  1559 	TESTL(reqStatus.Int()==KErrNone);
       
  1560 	
       
  1561 	TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
       
  1562 	TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
       
  1563 	
       
  1564 	TRequestStatus  trr = KErrNone;
       
  1565 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  1566 	TESTL(trr == KErrNone);
       
  1567 	
       
  1568 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  1569 	CleanupStack::PushL(tMMMessageV6);
       
  1570 
       
  1571 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1572 	       	RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1573 	CleanupStack::PushL(tMMMessagePckg);
       
  1574 
       
  1575 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1576 	User::WaitForRequest(reqStatus);
       
  1577 	TESTL(reqStatus.Int()==KErrNone);
       
  1578 
       
  1579 	RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
       
  1580 	CleanupStack::PushL(tMMMessageRspV6);
       
  1581 	
       
  1582 	RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  1583 		RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1584 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1585 	
       
  1586 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1587 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1588 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
       
  1589 		
       
  1590 	iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1591 	User::WaitForRequest(reqStatus);
       
  1592 	TESTL(reqStatus.Int() == KErrNone);
       
  1593 		
       
  1594 	RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
       
  1595 	CleanupStack::PushL(tMMSTransferStsV6);
       
  1596 	
       
  1597 	RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave) 
       
  1598 		RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
       
  1599 	CleanupStack::PushL(tMMSTransferStsV6Pckg);
       
  1600 	
       
  1601 	_LIT(KText,"TransferFilePath");
       
  1602 	TBuf<255> trfFileBuf(KText);
       
  1603 	_LIT(KText1,"MMMessageBuf");
       
  1604 	TBuf<255> trfFileMMMsgBuf(KText1);
       
  1605 	_LIT(KText2,"MMMessageIdentifier");
       
  1606 	TBuf<255> trfFileMMMsgId(KText2);
       
  1607 	
       
  1608 	tMMSTransferStsV6->iDeviceId = RSat::KME;
       
  1609 	tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
       
  1610 	tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
       
  1611 	tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
       
  1612 	
       
  1613 	iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
       
  1614 	iSat.CancelAsyncRequest(ESatMmsTransferStatus);
       
  1615 	User::WaitForRequest(reqStatus);
       
  1616 	
       
  1617 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  1618 	
       
  1619 	CleanupStack::PopAndDestroy(8);
       
  1620 
       
  1621 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8515 - Successful"));
       
  1622 	return KErrNone;
       
  1623 	}
       
  1624 
       
  1625 
       
  1626 CSimSatDispMMPCmdTest::CSimSatDispMMPCmdTest() 
       
  1627 	{ 
       
  1628 	SetTestStepName(_L("SatTestDispMMPCmd"));
       
  1629 	}
       
  1630 
       
  1631 
       
  1632 TVerdict CSimSatDispMMPCmdTest::doTestStepL()
       
  1633 	{
       
  1634 	INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - START"));
       
  1635 
       
  1636  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  1637  	SetTestNumberL(0);
       
  1638 
       
  1639 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  1640 	TESTL(ret == KErrNone); 
       
  1641 	INFO_PRINTF1(_L("Opened phone object"));
       
  1642 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  1643 	INFO_PRINTF1(_L("Opened Sat object"));
       
  1644 
       
  1645 	testSAT8516L();	// For testing the TEL-SIMTSY-SAT-8516 
       
  1646 	testSAT8517L();	// For testing the TEL-SIMTSY-SAT-8517 
       
  1647 	testSAT8518L();	// For testing the TEL-SIMTSY-SAT-8518 
       
  1648 	testSAT8519L();	// For testing the TEL-SIMTSY-SAT-8519 
       
  1649 	testSAT8520L();	// For testing the TEL-SIMTSY-SAT-8520 
       
  1650 	testSAT8521L();	// For testing the TEL-SIMTSY-SAT-8521 
       
  1651 	testSAT8522L();	// For testing the TEL-SIMTSY-SAT-8522
       
  1652 	testSAT8523L();	// For testing the TEL-SIMTSY-SAT-8523
       
  1653 	testSAT8524L();	// For testing the TEL-SIMTSY-SAT-8524	
       
  1654 	testSAT8525L();	// For testing the TEL-SIMTSY-SAT-8525
       
  1655 	testSAT8526L();	// For testing the TEL-SIMTSY-SAT-8526
       
  1656 
       
  1657 	iSat.Close();
       
  1658 	iPhone.Close();
       
  1659 	ASSERT(RThread().RequestCount()==0);
       
  1660 	
       
  1661 	INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - END"));
       
  1662 
       
  1663 	return TestStepResult();
       
  1664 	
       
  1665 	}
       
  1666 
       
  1667 
       
  1668 /*
       
  1669  * 	SYMTestCaseID TEL-SIMTSY-NA-8516
       
  1670  *
       
  1671  *	SYMREQ REQ7331
       
  1672  *
       
  1673  *	SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to ME
       
  1674  *
       
  1675  *	SYMTestPriority High
       
  1676  *
       
  1677  *	SYMTestActions 
       
  1678  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  1679  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  1680  *		(ii)	UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to the 
       
  1681  *			ME requesting for “No Immediate Response” from client.
       
  1682  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  1683  *
       
  1684  *	SYMTestExpectedResults 
       
  1685  *		Client is notified of the request. 
       
  1686  *		Upon completion of the proactive command details are returned in a packaged version of 
       
  1687  *		TDisplayMultimediaMessageV6 with priority as ENormalPriority and ImmediateRsp as ENoImmediateRsp
       
  1688  *		and TClearScreenTrigger as EUserClear.
       
  1689  *		ME responds with KSuccess in the Terminal response.
       
  1690  *
       
  1691  * 	SYMTestType CIT
       
  1692  */
       
  1693 
       
  1694 TInt CSimSatDispMMPCmdTest::testSAT8516L()
       
  1695 	{
       
  1696 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8516"));
       
  1697 
       
  1698 	TRequestStatus reqStatus;
       
  1699 
       
  1700 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  1701 	CleanupStack::PushL(tMMMessageV6);
       
  1702 
       
  1703 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1704 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1705 	CleanupStack::PushL(tMMMessagePckg);
       
  1706 
       
  1707 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1708 	User::WaitForRequest(reqStatus);
       
  1709 	TESTL(reqStatus.Int()==KErrNone);
       
  1710 	
       
  1711 	TESTL(tMMMessageV6->iDestination == RSat::KME);
       
  1712 	TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
       
  1713 	TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EUserClear);
       
  1714 	TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
       
  1715 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
       
  1716 	TESTL(tMMMessageV6->iImmediateRsp == RSat::ENoImmediateRsp);
       
  1717 
       
  1718 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  1719 	CleanupStack::PushL(tMMMessageRspV6);
       
  1720 	
       
  1721 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1722 		RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1723 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1724 	
       
  1725 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1726 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1727 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  1728 		
       
  1729 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1730 	User::WaitForRequest(reqStatus);
       
  1731 	TESTL(reqStatus.Int() == KErrNone);
       
  1732 	
       
  1733 	CleanupStack::PopAndDestroy(4);
       
  1734 		
       
  1735 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8516 - Successful"));
       
  1736 	return KErrNone;
       
  1737 	
       
  1738 	}
       
  1739 	
       
  1740 
       
  1741 /*
       
  1742  * 	SYMTestCaseID TEL-SIMTSY-NA-8517
       
  1743  *
       
  1744  *	SYMREQ REQ7331
       
  1745  *
       
  1746  *	SYMTestCaseDesc UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to ME
       
  1747  *
       
  1748  *	SYMTestPriority High
       
  1749  *
       
  1750  *	SYMTestActions 
       
  1751  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  1752  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.
       
  1753  *		(ii)	UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to the ME requesting 
       
  1754  *			for “Immediate Response” and “clearing the display after some delay”.
       
  1755  *		(iii)	Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
       
  1756  *
       
  1757  *	SYMTestExpectedResults 
       
  1758  *		Client is notified of the request. 
       
  1759  *		Upon completion of the proactive command details are returned in a packaged version of 
       
  1760  *		TDisplayMultimediaMessageV6 with priority as EHighPriority, ImmediateRsp as EImmediateRsp and 
       
  1761  *		TClearScreenTrigger as EClearAfterDelay.
       
  1762  *		Client responds with KSuccess in the Terminal response
       
  1763  *
       
  1764  * 	SYMTestType CIT
       
  1765  */
       
  1766 
       
  1767 
       
  1768 TInt CSimSatDispMMPCmdTest::testSAT8517L()
       
  1769 	{
       
  1770 
       
  1771 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8517"));
       
  1772 
       
  1773 	TRequestStatus reqStatus;
       
  1774 
       
  1775 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  1776 	CleanupStack::PushL(tMMMessageV6);
       
  1777 
       
  1778 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1779 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1780 	CleanupStack::PushL(tMMMessagePckg);
       
  1781 
       
  1782 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1783 	User::WaitForRequest(reqStatus);
       
  1784 	TESTL(reqStatus.Int()==KErrNone);
       
  1785 	
       
  1786 	TESTL(tMMMessageV6->iDestination == RSat::KME);
       
  1787 	TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
       
  1788 	TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EClearAfterDelay);
       
  1789 	TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
       
  1790 	TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
       
  1791 	TESTL(tMMMessageV6->iImmediateRsp == RSat::EImmediateRsp);
       
  1792 
       
  1793 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  1794 	CleanupStack::PushL(tMMMessageRspV6);
       
  1795 	
       
  1796 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  1797 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1798 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1799 	
       
  1800 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  1801 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1802 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  1803 		
       
  1804 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1805 	User::WaitForRequest(reqStatus);
       
  1806 	TESTL(reqStatus.Int() == KErrNone);
       
  1807 	
       
  1808 	CleanupStack::PopAndDestroy(4);
       
  1809 		
       
  1810 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8517 - Successful"));
       
  1811 	return KErrNone;
       
  1812 	
       
  1813 	}
       
  1814 
       
  1815 /*
       
  1816  * 	SYMTestCaseID TEL-SIMTSY-NA-8518
       
  1817  *
       
  1818  *	SYMREQ REQ7331
       
  1819  *
       
  1820  *	SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to
       
  1821  *	end the proactive UICC application session.
       
  1822  *
       
  1823  *	SYMTestPriority High
       
  1824  *
       
  1825  *	SYMTestActions 
       
  1826  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  1827  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  1828  *		(ii)	UICC issues Display MultiMedia Message command to the ME requesting for 
       
  1829  *			“Immediate Response” from the client.
       
  1830  *		(iii)	Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
       
  1831  *
       
  1832  *	SYMTestExpectedResults 
       
  1833  *		Client is notified of the request. 
       
  1834  *		ME responds with the Terminal Response with TPcmdresult as KPSessionTerminatedByUser
       
  1835  *
       
  1836  * 	SYMTestType CIT
       
  1837  */
       
  1838 
       
  1839 TInt CSimSatDispMMPCmdTest::testSAT8518L()
       
  1840 	{
       
  1841 
       
  1842 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8518"));
       
  1843 
       
  1844 	TRequestStatus reqStatus;
       
  1845 
       
  1846 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  1847 	CleanupStack::PushL(tMMMessageV6);
       
  1848 
       
  1849 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  1850 		RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1851 	CleanupStack::PushL(tMMMessagePckg);
       
  1852 
       
  1853 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1854 	User::WaitForRequest(reqStatus);
       
  1855 	TESTL(reqStatus.Int()==KErrNone);
       
  1856 
       
  1857 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  1858 	CleanupStack::PushL(tMMMessageRspV6);
       
  1859 	
       
  1860 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  1861 		RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1862 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1863 	
       
  1864 	tMMMessageRspV6->iGeneralResult = RSat::KPSessionTerminatedByUser;
       
  1865 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1866 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  1867 		
       
  1868 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1869 	User::WaitForRequest(reqStatus);
       
  1870 	TESTL(reqStatus.Int() == KErrNone);
       
  1871 	
       
  1872 	CleanupStack::PopAndDestroy(4);
       
  1873 		
       
  1874 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8518 - Successful"));
       
  1875 	return KErrNone;
       
  1876 	
       
  1877 	}
       
  1878 
       
  1879 /*
       
  1880  * 	SYMTestCaseID TEL-SIMTSY-NA-8519
       
  1881  *
       
  1882  *	SYMREQ REQ7331
       
  1883  *
       
  1884  *	SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to go 
       
  1885  *			backward in the proactive UICC application session.
       
  1886  *
       
  1887  *	SYMTestPriority High
       
  1888  *
       
  1889  *	SYMTestActions 
       
  1890  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  1891  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  1892  *		(ii)	Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
       
  1893  *
       
  1894  *	SYMTestExpectedResults 
       
  1895  *		Client is notified of the request. 
       
  1896  *		ME responds with the Terminal Response with TPcmdresult as KBackwardModeRequestedByUser.
       
  1897  *
       
  1898  * 	SYMTestType CIT
       
  1899  */
       
  1900 TInt CSimSatDispMMPCmdTest::testSAT8519L()
       
  1901 	{
       
  1902 
       
  1903 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8519"));
       
  1904 
       
  1905 	TRequestStatus reqStatus;
       
  1906 
       
  1907 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  1908 	CleanupStack::PushL(tMMMessageV6);
       
  1909 
       
  1910 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  1911 		RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1912 	CleanupStack::PushL(tMMMessagePckg);
       
  1913 
       
  1914 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1915 	User::WaitForRequest(reqStatus);
       
  1916 	TESTL(reqStatus.Int()==KErrNone);
       
  1917 
       
  1918 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  1919 	CleanupStack::PushL(tMMMessageRspV6);
       
  1920 	
       
  1921 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  1922 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1923 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1924 	
       
  1925 	tMMMessageRspV6->iGeneralResult = RSat::KBackwardModeRequestedByUser;
       
  1926 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1927 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  1928 		
       
  1929 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1930 	User::WaitForRequest(reqStatus);
       
  1931 	TESTL(reqStatus.Int() == KErrNone);
       
  1932 	
       
  1933 	CleanupStack::PopAndDestroy(4);
       
  1934 		
       
  1935 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8519 - Successful"));
       
  1936 	return KErrNone;
       
  1937 	
       
  1938 	}
       
  1939 
       
  1940 
       
  1941 /*
       
  1942  * 	SYMTestCaseID TEL-SIMTSY-NA-8520
       
  1943  *
       
  1944  *	SYMREQ  REQ7331
       
  1945  *
       
  1946  *	SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME with the indication of 
       
  1947  *			clearing the screen with user action and there is no response from the user.
       
  1948  *
       
  1949  *	SYMTestPriority High
       
  1950  *
       
  1951  *	SYMTestActions 
       
  1952  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  1953  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  1954  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  1955  *
       
  1956  *	SYMTestExpectedResults 
       
  1957  *		Client is notified of the request. 
       
  1958  *		ME responds with the Terminal Response with TPcmdresult as KNoResponseFromUser
       
  1959  *
       
  1960  * 	SYMTestType CIT
       
  1961  */
       
  1962 
       
  1963 TInt CSimSatDispMMPCmdTest::testSAT8520L()
       
  1964 	{
       
  1965 
       
  1966 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8520"));
       
  1967 
       
  1968 	TRequestStatus reqStatus;
       
  1969 
       
  1970 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  1971 	CleanupStack::PushL(tMMMessageV6);
       
  1972 
       
  1973 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  1974 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  1975 	CleanupStack::PushL(tMMMessagePckg);
       
  1976 
       
  1977 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  1978 	User::WaitForRequest(reqStatus);
       
  1979 	TESTL(reqStatus.Int()==KErrNone);
       
  1980 
       
  1981 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  1982 	CleanupStack::PushL(tMMMessageRspV6);
       
  1983 	
       
  1984 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  1985 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  1986 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  1987 	
       
  1988 	tMMMessageRspV6->iGeneralResult = RSat::KNoResponseFromUser;
       
  1989 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  1990 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  1991 		
       
  1992 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  1993 	User::WaitForRequest(reqStatus);
       
  1994 	TESTL(reqStatus.Int() == KErrNone);
       
  1995 	
       
  1996 	CleanupStack::PopAndDestroy(4);
       
  1997 		
       
  1998 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8520 - Successful"));
       
  1999 	return KErrNone;
       
  2000 	
       
  2001 	}
       
  2002 
       
  2003 
       
  2004 /*
       
  2005  * 	SYMTestCaseID TEL-SIMTSY-NA-8521
       
  2006  *
       
  2007  *	SYMREQ REQ7331
       
  2008  *
       
  2009  *	SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and ME is not able to process the command.
       
  2010  *
       
  2011  *	SYMTestPriority High
       
  2012  *
       
  2013  *	SYMTestActions 
       
  2014  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  2015  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  2016  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  2017  *
       
  2018  *	SYMTestExpectedResults 
       
  2019  *		Client is notified of the request. 
       
  2020  *		Client responds with KMMSError in the Terminal response with the additional information 
       
  2021  *		as KNoSpecificMeProblem.
       
  2022  *
       
  2023  * 	SYMTestType CIT
       
  2024  */
       
  2025 
       
  2026 TInt CSimSatDispMMPCmdTest::testSAT8521L()
       
  2027 	{
       
  2028 
       
  2029 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8521"));
       
  2030 
       
  2031 	TRequestStatus reqStatus;
       
  2032 
       
  2033 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2034 	CleanupStack::PushL(tMMMessageV6);
       
  2035 
       
  2036 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  2037 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2038 	CleanupStack::PushL(tMMMessagePckg);
       
  2039 
       
  2040 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2041 	User::WaitForRequest(reqStatus);
       
  2042 	TESTL(reqStatus.Int()==KErrNone);
       
  2043 
       
  2044 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  2045 	CleanupStack::PushL(tMMMessageRspV6);
       
  2046 	
       
  2047 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  2048 		RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  2049 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  2050 	
       
  2051 	_LIT(KText,"KNoSpecificMeProblem");
       
  2052 	TBuf<254> buf(KText);
       
  2053 	tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
       
  2054 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  2055 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  2056 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2057 		
       
  2058 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2059 	User::WaitForRequest(reqStatus);
       
  2060 	TESTL(reqStatus.Int() == KErrNone);
       
  2061 	
       
  2062 	CleanupStack::PopAndDestroy(4);
       
  2063 		
       
  2064 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8521 - Successful"));
       
  2065 	return KErrNone;
       
  2066 	
       
  2067 	}
       
  2068 
       
  2069 
       
  2070 /*
       
  2071  * 	SYMTestCaseID TEL-SIMTSY-NA-8522
       
  2072  *
       
  2073  *	SYMREQ REQ7331
       
  2074  *
       
  2075  *	SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority 
       
  2076  *			DISPLAY MULTIMEDIA MESSAGE is being displayed
       
  2077  *
       
  2078  *	SYMTestPriority High
       
  2079  *
       
  2080  *	SYMTestActions 
       
  2081  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  2082  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  2083  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  2084  *
       
  2085  *	SYMTestExpectedResults 
       
  2086  *		Client is notified of the request. 
       
  2087  *		Client responds with KMeUnableToProcessCmd in the Terminal response with the 
       
  2088  *		additional information as KScreenBusy.
       
  2089  *
       
  2090  * 	SYMTestType CIT
       
  2091  */
       
  2092 
       
  2093 TInt CSimSatDispMMPCmdTest::testSAT8522L()
       
  2094 	{
       
  2095 
       
  2096 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8522"));
       
  2097 
       
  2098 	TRequestStatus reqStatus;
       
  2099 
       
  2100 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2101 	CleanupStack::PushL(tMMMessageV6);
       
  2102 
       
  2103 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  2104 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2105 	CleanupStack::PushL(tMMMessagePckg);
       
  2106 
       
  2107 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2108 	User::WaitForRequest(reqStatus);
       
  2109 	TESTL(reqStatus.Int()==KErrNone);
       
  2110 
       
  2111 	TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
       
  2112 	
       
  2113 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  2114 	CleanupStack::PushL(tMMMessageRspV6);
       
  2115 	
       
  2116 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  2117 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  2118 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  2119 	
       
  2120 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  2121 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2122 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2123 		
       
  2124 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2125 	User::WaitForRequest(reqStatus);
       
  2126 	TESTL(reqStatus.Int() == KErrNone);
       
  2127 	
       
  2128 	// Attempt to send second command when the first message is being displayed
       
  2129 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2130 	User::WaitForRequest(reqStatus);
       
  2131 	TESTL(reqStatus.Int()==KErrNone);
       
  2132 	
       
  2133 	TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
       
  2134 	
       
  2135 	_LIT(KText,"KScreenBusy");
       
  2136 	TBuf<254> buf(KText);
       
  2137 	tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  2138 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  2139 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  2140 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2141 			
       
  2142 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2143 	User::WaitForRequest(reqStatus);
       
  2144 	TESTL(reqStatus.Int() == KErrNone);
       
  2145 	
       
  2146 	CleanupStack::PopAndDestroy(4);
       
  2147 		
       
  2148 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8522 - Successful"));
       
  2149 	return KErrNone;
       
  2150 	
       
  2151 	}
       
  2152 
       
  2153 
       
  2154 /*
       
  2155  * 	SYMTestCaseID TEL-SIMTSY-NA-8523
       
  2156  *
       
  2157  *	SYMREQ REQ7331
       
  2158  *
       
  2159  *	SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority 
       
  2160  *			DISPLAY MULTIMEDIA MESSAGE is being displayed
       
  2161  *
       
  2162  *	SYMTestPriority High
       
  2163  *
       
  2164  *	SYMTestActions 
       
  2165  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  2166  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  2167  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  2168  *
       
  2169  *	SYMTestExpectedResults 
       
  2170  *		Client is notified of the request. 
       
  2171  *		Client responds with KSuccess  in the Terminal response.
       
  2172  *
       
  2173  * 	SYMTestType CIT
       
  2174  */
       
  2175 
       
  2176 TInt CSimSatDispMMPCmdTest::testSAT8523L()
       
  2177 	{
       
  2178 
       
  2179 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8523"));
       
  2180 
       
  2181 	TRequestStatus reqStatus;
       
  2182 
       
  2183 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2184 	CleanupStack::PushL(tMMMessageV6);
       
  2185 
       
  2186 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  2187 		RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2188 	CleanupStack::PushL(tMMMessagePckg);
       
  2189 
       
  2190 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2191 	User::WaitForRequest(reqStatus);
       
  2192 	TESTL(reqStatus.Int()==KErrNone);
       
  2193 
       
  2194 	TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
       
  2195 
       
  2196 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  2197 	CleanupStack::PushL(tMMMessageRspV6);
       
  2198 	
       
  2199 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave) 
       
  2200 		RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  2201 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  2202 	
       
  2203 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  2204 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2205 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2206 		
       
  2207 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2208 	User::WaitForRequest(reqStatus);
       
  2209 	TESTL(reqStatus.Int() == KErrNone);
       
  2210 	
       
  2211 	// Attempt to send second command when the first message is being displayed
       
  2212 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2213 	User::WaitForRequest(reqStatus);
       
  2214 	TESTL(reqStatus.Int()==KErrNone);
       
  2215 	
       
  2216 	TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
       
  2217 	
       
  2218 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  2219 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2220 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2221 			
       
  2222 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2223 	User::WaitForRequest(reqStatus);
       
  2224 	TESTL(reqStatus.Int() == KErrNone);
       
  2225 	
       
  2226 	CleanupStack::PopAndDestroy(4);
       
  2227 		
       
  2228 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8523 - Successful"));
       
  2229 	return KErrNone;
       
  2230 	
       
  2231 	}
       
  2232 
       
  2233 /*
       
  2234  * 	SYMTestCaseID TEL-SIMTSY-NA-8524
       
  2235  *
       
  2236  *	SYMREQ REQ7331
       
  2237  *
       
  2238  *	SYMTestCaseDesc UICC issues Normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
       
  2239  *			DISPLAY MULTIMEDIA MESSAGE is being displayed
       
  2240  *
       
  2241  *	SYMTestPriority High
       
  2242  *
       
  2243  *	SYMTestActions 
       
  2244  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  2245  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  2246  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  2247  *
       
  2248  *	SYMTestExpectedResults 
       
  2249  *		Client is notified of the request. 
       
  2250  *		Client responds with KMeUnableToProcessCmd in the Terminal response with the 
       
  2251  *		additional information as KScreenBusy.
       
  2252  *
       
  2253  * 	SYMTestType CIT
       
  2254  */
       
  2255 
       
  2256 TInt CSimSatDispMMPCmdTest::testSAT8524L()
       
  2257 	{
       
  2258 
       
  2259 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8524"));
       
  2260 
       
  2261 	TRequestStatus reqStatus;
       
  2262 
       
  2263 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2264 	CleanupStack::PushL(tMMMessageV6);
       
  2265 
       
  2266 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  2267 		RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2268 	CleanupStack::PushL(tMMMessagePckg);
       
  2269 
       
  2270 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2271 	User::WaitForRequest(reqStatus);
       
  2272 	TESTL(reqStatus.Int()==KErrNone);
       
  2273 	
       
  2274 	TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
       
  2275 
       
  2276 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  2277 	CleanupStack::PushL(tMMMessageRspV6);
       
  2278 	
       
  2279 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  2280 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  2281 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  2282 	
       
  2283 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  2284 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2285 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2286 		
       
  2287 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2288 	User::WaitForRequest(reqStatus);
       
  2289 	TESTL(reqStatus.Int() == KErrNone);
       
  2290 	
       
  2291 	// Attempt to send second command when the first message is being displayed
       
  2292 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2293 	User::WaitForRequest(reqStatus);
       
  2294 	TESTL(reqStatus.Int()==KErrNone);
       
  2295 	
       
  2296 	TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
       
  2297 	
       
  2298 	_LIT(KText,"KScreenBusy");
       
  2299 	TBuf<254> buf(KText);
       
  2300 	tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  2301 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  2302 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  2303 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2304 			
       
  2305 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2306 	User::WaitForRequest(reqStatus);
       
  2307 	TESTL(reqStatus.Int() == KErrNone);
       
  2308 	
       
  2309 	CleanupStack::PopAndDestroy(4);
       
  2310 		
       
  2311 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8524 - Successful"));
       
  2312 	return KErrNone;
       
  2313 	
       
  2314 	}
       
  2315 
       
  2316 
       
  2317 /*
       
  2318  * 	SYMTestCaseID TEL-SIMTSY-NA-8525
       
  2319  *
       
  2320  *	SYMREQ REQ7331
       
  2321  *
       
  2322  *	SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
       
  2323  *			DISPLAY MULTIMEDIA MESSAGE is being displayed
       
  2324  *
       
  2325  *	SYMTestPriority High
       
  2326  *
       
  2327  *	SYMTestActions 
       
  2328  *		(i)	Client requests notification for DISPLAY MULTIMEDIA MESSAGE using 
       
  2329  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.  
       
  2330  *		(ii)	Client responds indicating that the proactive command using RSat::TerminalRsp()
       
  2331  *
       
  2332  *	SYMTestExpectedResults 
       
  2333  *		Client is notified of the request. 
       
  2334  *		Client responds with KMeUnableToProcessCmd in the Terminal response with the 
       
  2335  *		additional information as KScreenBusy.
       
  2336  *
       
  2337  * 	SYMTestType CIT
       
  2338  */
       
  2339 
       
  2340 TInt CSimSatDispMMPCmdTest::testSAT8525L()
       
  2341 	{
       
  2342 
       
  2343 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8525"));
       
  2344 
       
  2345 	TRequestStatus reqStatus;
       
  2346 
       
  2347 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2348 	CleanupStack::PushL(tMMMessageV6);
       
  2349 
       
  2350 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) 
       
  2351 		RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2352 	CleanupStack::PushL(tMMMessagePckg);
       
  2353 
       
  2354 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2355 	User::WaitForRequest(reqStatus);
       
  2356 	TESTL(reqStatus.Int()==KErrNone);
       
  2357 	
       
  2358 	TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
       
  2359 
       
  2360 	RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
       
  2361 	CleanupStack::PushL(tMMMessageRspV6);
       
  2362 	
       
  2363 	RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
       
  2364 	       	RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
       
  2365 	CleanupStack::PushL(tMMMessageRspPckgV6);
       
  2366 	
       
  2367 	tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
       
  2368 	tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2369 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2370 		
       
  2371 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2372 	User::WaitForRequest(reqStatus);
       
  2373 	TESTL(reqStatus.Int() == KErrNone);
       
  2374 	
       
  2375 	// Attempt to send second command when the first message is being displayed
       
  2376 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2377 	User::WaitForRequest(reqStatus);
       
  2378 	TESTL(reqStatus.Int()==KErrNone);
       
  2379 	
       
  2380 	TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
       
  2381 	
       
  2382 	_LIT(KText,"KScreenBusy");
       
  2383 	TBuf<254> buf(KText);
       
  2384 	tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  2385 	tMMMessageRspV6->iInfoType = RSat::KMeProblem;
       
  2386 	tMMMessageRspV6->iAdditionalInfo = buf;
       
  2387 	tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
       
  2388 			
       
  2389 	iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
       
  2390 	User::WaitForRequest(reqStatus);
       
  2391 	TESTL(reqStatus.Int() == KErrNone);
       
  2392 	
       
  2393 	CleanupStack::PopAndDestroy(4);
       
  2394 		
       
  2395 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8525 - Successful"));
       
  2396 	return KErrNone;
       
  2397 	
       
  2398 	}
       
  2399 
       
  2400 
       
  2401 /*
       
  2402  * 	SYMTestCaseID TEL-SIMTSY-NA-8526
       
  2403  *
       
  2404  *	SYMREQ REQ7331
       
  2405  *
       
  2406  *	SYMTestCaseDesc Cancel notification of DISPLAY MULTIMEDIA MESSAGE request
       
  2407  *
       
  2408  *	SYMTestPriority High
       
  2409  *
       
  2410  *	SYMTestActions 
       
  2411  *		(i)	Register to be notified of DISPLAY MULTIMEDIA MESSAGE command using 
       
  2412  *			RSat::NotifyDisplayMultimediaMsgPCmd () API.
       
  2413  *		(ii)	Cancel the request by calling CancelAsyncRequest (ESatNotifyDisplayMultimediaMessagePCmd)
       
  2414  *
       
  2415  *	SYMTestExpectedResults 
       
  2416  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  2417  * 	SYMTestType CIT
       
  2418  */
       
  2419 
       
  2420 TInt CSimSatDispMMPCmdTest::testSAT8526L()
       
  2421 	{
       
  2422 
       
  2423 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8526"));
       
  2424 
       
  2425 	TRequestStatus reqStatus;
       
  2426 
       
  2427 	RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
       
  2428 	CleanupStack::PushL(tMMMessageV6);
       
  2429 
       
  2430 	RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  2431 	       	RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
       
  2432 	CleanupStack::PushL(tMMMessagePckg);
       
  2433 
       
  2434 	iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  2435 	iSat.CancelAsyncRequest(ESatNotifyDisplayMultimediaMsgPCmd);
       
  2436 	User::WaitForRequest(reqStatus);
       
  2437 	
       
  2438 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  2439 
       
  2440 	CleanupStack::PopAndDestroy();
       
  2441 	CleanupStack::PopAndDestroy();
       
  2442 
       
  2443 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8526 - Successful"));
       
  2444 	return KErrNone;
       
  2445 	}
       
  2446 
       
  2447 CSimSatSetFrmsPCmdTest::CSimSatSetFrmsPCmdTest()
       
  2448 	{
       
  2449 	SetTestStepName(_L("SatTestSetFrmsPCmd"));
       
  2450 	}
       
  2451 
       
  2452 TVerdict CSimSatSetFrmsPCmdTest::doTestStepL()
       
  2453 	{
       
  2454 	INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - START"));
       
  2455 	CreateConfigFileL(_L("c:\\config4.txt"));
       
  2456  	SetTestNumberL(0);
       
  2457 
       
  2458 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  2459 	TESTL(ret == KErrNone); 
       
  2460 	INFO_PRINTF1(_L("Opened phone object"));
       
  2461 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  2462 	INFO_PRINTF1(_L("Opened Sat object"));
       
  2463 
       
  2464 	testSAT8527L();	// For testing the TEL-SIMTSY-SAT-8527
       
  2465 	testSAT8528L();	// For testing the TEL-SIMTSY-SAT-8528
       
  2466 	testSAT8529L();  // For testing the TEL-SIMTSY-SAT-8529
       
  2467 	testSAT8530L();  // For testing the TEL-SIMTSY-SAT-8530
       
  2468 	
       
  2469 	
       
  2470 	iSat.Close();
       
  2471 	iPhone.Close();
       
  2472 	ASSERT(RThread().RequestCount()==0);
       
  2473 	
       
  2474 	INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - END"));
       
  2475 
       
  2476 	return TestStepResult();
       
  2477 	}
       
  2478 
       
  2479 
       
  2480 /*
       
  2481  * 	SYMTestCaseID TEL-SIMTSY-NA-8527
       
  2482  *
       
  2483  *	SYMREQ REQ7332
       
  2484  *
       
  2485  *	SYMTestCaseDesc UICC issues the SET FRAMES proactive command successfully.
       
  2486  *
       
  2487  *	SYMTestPriority High
       
  2488  *
       
  2489  *	SYMTestActions 
       
  2490  *		(i)	Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
       
  2491  *		(ii)	UICC issues SET FRAMES Command to the ME.  
       
  2492  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  2493  *
       
  2494  *	SYMTestExpectedResults 
       
  2495  *		Client is notified of the request.
       
  2496  *		Upon completion of the  proactive command details are returned in a packaged version of 
       
  2497  *		TSetFramesRspV6 containing the correct Frames Layout parameters.
       
  2498  *		ME responds with KSuccess in the Terminal response.
       
  2499  *
       
  2500  * 	SYMTestType CIT
       
  2501  */
       
  2502 
       
  2503 TInt CSimSatSetFrmsPCmdTest::testSAT8527L()
       
  2504 	{
       
  2505 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8527"));
       
  2506 
       
  2507 	TRequestStatus reqStatus;
       
  2508 
       
  2509 	RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
       
  2510 	CleanupStack::PushL(tSetFramesV6);
       
  2511 
       
  2512 	RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
       
  2513 	CleanupStack::PushL(tSetFramesV6Pckg);
       
  2514 	
       
  2515 	iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
       
  2516 	User::WaitForRequest(reqStatus);
       
  2517 	TESTL(reqStatus.Int()==KErrNone);
       
  2518 	
       
  2519 	TESTL(tSetFramesV6->iDestination == RSat::KME);
       
  2520 	TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
       
  2521 	TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
       
  2522 	TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
       
  2523 	TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
       
  2524 	TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
       
  2525 	
       
  2526 	RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
       
  2527 	CleanupStack::PushL(tSetFramesRspV6);
       
  2528 	
       
  2529 	RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
       
  2530 	CleanupStack::PushL(tSetFramesRspV6Pckg);
       
  2531 		
       
  2532 	tSetFramesRspV6->iGeneralResult = RSat::KSuccess;
       
  2533 	tSetFramesRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2534 	tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
       
  2535 		
       
  2536 	iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
       
  2537 	User::WaitForRequest(reqStatus);
       
  2538 	TESTL(reqStatus.Int() == KErrNone);
       
  2539 	
       
  2540 	CleanupStack::PopAndDestroy(4);
       
  2541 	
       
  2542 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8527- Successful"));
       
  2543 
       
  2544 	return KErrNone;
       
  2545 	}
       
  2546 
       
  2547 
       
  2548 /*
       
  2549  * 	SYMTestCaseID TEL-SIMTSY-NA-8528
       
  2550  *
       
  2551  *	SYMREQ REQ7332
       
  2552  *
       
  2553  *	SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided 
       
  2554  *			(requested sizes of the frames are not allowed).
       
  2555  *
       
  2556  *	SYMTestPriority High
       
  2557  *
       
  2558  *	SYMTestActions 
       
  2559  *		(i)	Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
       
  2560  *		(ii)	The notification completes when UICC issues the SET FRAMES command to the ME.  
       
  2561  *		(iii)	ME is unable to process the proactive command because of the requested size of the
       
  2562  *			frames are not allowed and responds indicating that the proactive command was 
       
  2563  *			unsuccessful using RSat::TerminalRsp() 
       
  2564  *
       
  2565  *	SYMTestExpectedResults 
       
  2566  *		Client is notified of the request.
       
  2567  *		Upon completion of the  proactive command details are returned in a packaged version of 
       
  2568  *		TSetFramesRspV6 containing  invalid Frames Layout parameters.
       
  2569  *		ME responds with KFramesError in the Terminal response with the additional information of 
       
  2570  *		KRequestSizeNotIdentified.
       
  2571  *
       
  2572  * 	SYMTestType CIT
       
  2573  */
       
  2574 
       
  2575 TInt CSimSatSetFrmsPCmdTest::testSAT8528L()
       
  2576 	{
       
  2577 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8528"));
       
  2578 
       
  2579 	TRequestStatus reqStatus;
       
  2580 
       
  2581 	RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
       
  2582 	CleanupStack::PushL(tSetFramesV6);
       
  2583 
       
  2584 	RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
       
  2585 	CleanupStack::PushL(tSetFramesV6Pckg);
       
  2586 	
       
  2587 	iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
       
  2588 	User::WaitForRequest(reqStatus);
       
  2589 	TESTL(reqStatus.Int()==KErrNone);
       
  2590 	
       
  2591 	TESTL(tSetFramesV6->iDestination == RSat::KME);
       
  2592 	TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
       
  2593 	TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
       
  2594 	TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
       
  2595 	TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
       
  2596 	TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
       
  2597 	
       
  2598 	RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
       
  2599 	CleanupStack::PushL(tSetFramesRspV6);
       
  2600 	
       
  2601 	RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
       
  2602 	CleanupStack::PushL(tSetFramesRspV6Pckg);
       
  2603 		
       
  2604 	_LIT(KText,"KRequestSizeNotSupported"); 
       
  2605 	TBuf<254> buf(KText);
       
  2606 	tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
       
  2607 	tSetFramesRspV6->iInfoType = RSat::KMeProblem;
       
  2608 	tSetFramesRspV6->iAdditionalInfo = buf;
       
  2609 	tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
       
  2610 		
       
  2611 	iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
       
  2612 	User::WaitForRequest(reqStatus);
       
  2613 	TESTL(reqStatus.Int() == KErrNone);
       
  2614 	
       
  2615 	CleanupStack::PopAndDestroy(4);
       
  2616 	
       
  2617 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8528- Successful"));
       
  2618 
       
  2619 	return KErrNone;
       
  2620 	}
       
  2621 
       
  2622 /*
       
  2623  * 	SYMTestCaseID TEL-SIMTSY-NA-8529
       
  2624  *
       
  2625  *	SYMREQ REQ7332
       
  2626  *
       
  2627  *	SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided 
       
  2628  *			(number of frames beyond the terminal’s capabilities).
       
  2629  *
       
  2630  *	SYMTestPriority High
       
  2631  *
       
  2632  *	SYMTestActions 
       
  2633  *		(i)	Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
       
  2634  *		(ii)	The notification completes when UICC issues the SET FRAMES command to the ME.  
       
  2635  *		(iii)	ME  is unable to process the proactive command because the number of frames requested 
       
  2636  *			are beyond the terminal’s capabilities and responds indicating that the proactive command 
       
  2637  *			was unsuccessful using RSat::TerminalRsp() 
       
  2638  *
       
  2639  *	SYMTestExpectedResults 
       
  2640  *		Client is notified of the request.
       
  2641  *		Upon completion of the  proactive command details are returned in a packaged version of 
       
  2642  *		TSetFramesRspV6 containing  invalid Frames Layout parameters.
       
  2643  *		ME responds with KFramesError in the Terminal response with the additional information of 
       
  2644  *		‘KCmdBeyondMeCapabilities’.
       
  2645  *
       
  2646  * 	SYMTestType CIT
       
  2647  */
       
  2648 
       
  2649 TInt CSimSatSetFrmsPCmdTest::testSAT8529L()
       
  2650 	{
       
  2651 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8529"));
       
  2652 
       
  2653 	TRequestStatus reqStatus;
       
  2654 
       
  2655 	RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
       
  2656 	CleanupStack::PushL(tSetFramesV6);
       
  2657 
       
  2658 	RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
       
  2659 	CleanupStack::PushL(tSetFramesV6Pckg);
       
  2660 	
       
  2661 	iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
       
  2662 	User::WaitForRequest(reqStatus);
       
  2663 	TESTL(reqStatus.Int()==KErrNone);
       
  2664 	
       
  2665 	RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
       
  2666 	CleanupStack::PushL(tSetFramesRspV6);
       
  2667 	
       
  2668 	RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
       
  2669 	CleanupStack::PushL(tSetFramesRspV6Pckg);
       
  2670 		
       
  2671 	_LIT(KText,"KNumberOfFramesExceeded"); 
       
  2672 	TBuf<254> buf(KText);
       
  2673 	tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
       
  2674 	tSetFramesRspV6->iInfoType = RSat::KMeProblem;
       
  2675 	tSetFramesRspV6->iAdditionalInfo = buf;
       
  2676 	tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
       
  2677 		
       
  2678 	iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
       
  2679 	User::WaitForRequest(reqStatus);
       
  2680 	TESTL(reqStatus.Int() == KErrNone);
       
  2681 	
       
  2682 	CleanupStack::PopAndDestroy(4);
       
  2683 	
       
  2684 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8529- Successful"));
       
  2685 
       
  2686 	return KErrNone;
       
  2687 	}
       
  2688 
       
  2689 
       
  2690 /*
       
  2691  * 	SYMTestCaseID TEL-SIMTSY-NA-8530
       
  2692  *
       
  2693  *	SYMREQ REQ7332
       
  2694  *
       
  2695  *	SYMTestCaseDesc Cancel notification of SET FRAMES request
       
  2696  *
       
  2697  *	SYMTestPriority High
       
  2698  *
       
  2699  *	SYMTestActions 
       
  2700  *		(i)	Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
       
  2701  *		(ii)	Cancel the request by calling CancelAsyncRequest (ESatNotifySetFramesPCmd).
       
  2702  *
       
  2703  *	SYMTestExpectedResults 
       
  2704  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  2705  *
       
  2706  * 	SYMTestType CIT
       
  2707  */
       
  2708 
       
  2709 TInt CSimSatSetFrmsPCmdTest::testSAT8530L()
       
  2710 	{
       
  2711 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8530"));
       
  2712 
       
  2713 	TRequestStatus reqStatus;
       
  2714 
       
  2715 	RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
       
  2716 	CleanupStack::PushL(tSetFramesV6);
       
  2717 
       
  2718 	RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
       
  2719 	CleanupStack::PushL(tSetFramesV6Pckg);
       
  2720 	
       
  2721 	iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
       
  2722 	iSat.CancelAsyncRequest(ESatNotifySetFramesPCmd);
       
  2723 	User::WaitForRequest(reqStatus);
       
  2724 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  2725 
       
  2726 	CleanupStack::PopAndDestroy(2);
       
  2727 	
       
  2728 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8530- Successful"));
       
  2729 
       
  2730 	return KErrNone;
       
  2731 	}
       
  2732 
       
  2733 
       
  2734 CSimSatGetFrmsPCmdTest::CSimSatGetFrmsPCmdTest() 
       
  2735 	{ 
       
  2736 	SetTestStepName(_L("SatTestGetFrmsPCmd"));
       
  2737 	}
       
  2738 
       
  2739 TVerdict CSimSatGetFrmsPCmdTest::doTestStepL()
       
  2740 	{
       
  2741 	INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - START"));
       
  2742 
       
  2743  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  2744  	SetTestNumberL(0);
       
  2745 
       
  2746 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  2747 	TESTL(ret == KErrNone); 
       
  2748 	INFO_PRINTF1(_L("Opened phone object"));
       
  2749 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  2750 	INFO_PRINTF1(_L("Opened Sat object"));
       
  2751 
       
  2752 	testSAT8531L();	// For testing the TEL-SIMTSY-SAT-8531
       
  2753 	testSAT8532L();	// For testing the TEL-SIMTSY-SAT-8532
       
  2754 	testSAT8533L();	// For testing the TEL-SIMTSY-SAT-8533
       
  2755 
       
  2756 	iSat.Close();
       
  2757 	iPhone.Close();
       
  2758 	ASSERT(RThread().RequestCount()==0);
       
  2759 	
       
  2760 	INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - END"));
       
  2761 
       
  2762 	return TestStepResult();
       
  2763 	
       
  2764 	}
       
  2765 
       
  2766 /*
       
  2767  * 	SYMTestCaseID TEL-SIMTSY-NA-8531
       
  2768  *
       
  2769  *	SYMREQ REQ7333
       
  2770  *
       
  2771  *	SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client
       
  2772  *
       
  2773  *	SYMTestPriority High
       
  2774  *
       
  2775  *	SYMTestActions 
       
  2776  *		(i)	Request notification for GET FRAMES STATUS with  RSat::NotifyGetFramesStatusPCmd () 
       
  2777  *		(ii)	UICC sends the GET FRAMES STATUS to the ME.
       
  2778  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  2779  *
       
  2780  *	SYMTestExpectedResults 
       
  2781  *		Client is notified of the request.
       
  2782  *		Upon completion of the  proactive command details are returned in a packaged version 
       
  2783  *		of TGetFramesStatusRspV6().
       
  2784  *		ME responds with KSuccess in the Terminal response.
       
  2785  *
       
  2786  * 	SYMTestType CIT
       
  2787  */
       
  2788 
       
  2789 TInt CSimSatGetFrmsPCmdTest::testSAT8531L()
       
  2790 	{
       
  2791 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8531"));
       
  2792 
       
  2793 	TRequestStatus reqStatus;
       
  2794 
       
  2795 	RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
       
  2796 	CleanupStack::PushL(tGetFramesStsV6);
       
  2797 
       
  2798 	RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
       
  2799 	CleanupStack::PushL(tGetFramesStsV6Pckg);
       
  2800 	
       
  2801 	iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
       
  2802 	User::WaitForRequest(reqStatus);
       
  2803 	TESTL(reqStatus.Int()==KErrNone);
       
  2804 	
       
  2805 	TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
       
  2806 	
       
  2807 	RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
       
  2808 	CleanupStack::PushL(tGetFramesStsRspV6);
       
  2809 	
       
  2810 	RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave) 
       
  2811 		RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
       
  2812 	CleanupStack::PushL(tGetFramesStsRspV6Pckg);
       
  2813 		
       
  2814 	_LIT8(KFrameIdBuf,"AE0240BC");
       
  2815 	TBuf8<255> buf(KFrameIdBuf); 
       
  2816 	tGetFramesStsRspV6->iGeneralResult = RSat::KSuccess;
       
  2817 	tGetFramesStsRspV6->iInfoType = RSat::KNoAdditionalInfo;
       
  2818 	tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
       
  2819 	tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
       
  2820 	tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
       
  2821 	
       
  2822 	iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
       
  2823 	User::WaitForRequest(reqStatus);
       
  2824 	TESTL(reqStatus.Int() == KErrNone);
       
  2825 	
       
  2826 	CleanupStack::PopAndDestroy(4);
       
  2827 	
       
  2828 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8531- Successful"));
       
  2829 
       
  2830 	return KErrNone;
       
  2831 	}
       
  2832 
       
  2833 /*
       
  2834  * 	SYMTestCaseID TEL-SIMTSY-NA-8532
       
  2835  *
       
  2836  *	SYMREQ REQ7333
       
  2837  *
       
  2838  *	SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client when there is no frame available.
       
  2839  *
       
  2840  *	SYMTestPriority High
       
  2841  *
       
  2842  *	SYMTestActions 
       
  2843  *		(i)	Request notification for GET FRAMES STATUS with  RSat::NotifyGetFramesStatusPCmd () 
       
  2844  *		(ii)	UICC sends the GET FRAMES STATUS to the ME.
       
  2845  *		(iii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  2846  *
       
  2847  *	SYMTestExpectedResults 
       
  2848  *		Client is notified of the request.
       
  2849  *		Upon completion of the  proactive command details are returned in a packaged version of 
       
  2850  *		TGetFramesStatusRspV6 ().
       
  2851  *		ME responds with KFramesError in the Terminal response with the additional information 
       
  2852  *		'KNoFramesIdentified'.
       
  2853  *
       
  2854  * 	SYMTestType CIT
       
  2855  */
       
  2856 
       
  2857 TInt CSimSatGetFrmsPCmdTest::testSAT8532L()
       
  2858 	{
       
  2859 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8532"));
       
  2860 
       
  2861 	TRequestStatus reqStatus;
       
  2862 
       
  2863 	RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
       
  2864 	CleanupStack::PushL(tGetFramesStsV6);
       
  2865 
       
  2866 	RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
       
  2867 	CleanupStack::PushL(tGetFramesStsV6Pckg);
       
  2868 	
       
  2869 	iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
       
  2870 	User::WaitForRequest(reqStatus);
       
  2871 	TESTL(reqStatus.Int()==KErrNone);
       
  2872 	
       
  2873 	TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
       
  2874 	
       
  2875 	RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
       
  2876 	CleanupStack::PushL(tGetFramesStsRspV6);
       
  2877 	
       
  2878 	RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave) 
       
  2879 		RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
       
  2880 	CleanupStack::PushL(tGetFramesStsRspV6Pckg);
       
  2881 		
       
  2882 	_LIT8(KFrameIdBuf,"AE0240BC");
       
  2883 	TBuf8<255> buf(KFrameIdBuf);
       
  2884 	tGetFramesStsRspV6->iGeneralResult = RSat::KFramesError;
       
  2885 	tGetFramesStsRspV6->iInfoType = RSat::KNoFrameIdentified;
       
  2886 	tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
       
  2887 	tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
       
  2888 	tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
       
  2889 	
       
  2890 	iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
       
  2891 	User::WaitForRequest(reqStatus);
       
  2892 	TESTL(reqStatus.Int() == KErrNone);
       
  2893 	
       
  2894 	CleanupStack::PopAndDestroy(4);
       
  2895 	
       
  2896 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8532- Successful"));
       
  2897 
       
  2898 	return KErrNone;
       
  2899 	}
       
  2900 
       
  2901 /*
       
  2902  * 	SYMTestCaseID TEL-SIMTSY-NA-8533
       
  2903  *
       
  2904  *	SYMREQ REQ7333
       
  2905  *
       
  2906  *	SYMTestCaseDesc Cancel notification of GET FRAMES STATUS request.
       
  2907  *
       
  2908  *	SYMTestPriority High
       
  2909  *
       
  2910  *	SYMTestActions 
       
  2911  *		(i)	Register to be notified of GET FRAMES STATUS command using RSat::NotifyGetFramesStatusPCmd ().
       
  2912  *		(ii)	Cancel the request by calling CancelAsyncRequest (ESatNotifyGetFramesStatusPCmd).
       
  2913  *
       
  2914  *	SYMTestExpectedResults 
       
  2915  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  2916  *
       
  2917  * 	SYMTestType CIT
       
  2918  */
       
  2919 
       
  2920 TInt CSimSatGetFrmsPCmdTest::testSAT8533L()
       
  2921 	{
       
  2922 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8533"));
       
  2923 
       
  2924 	TRequestStatus reqStatus;
       
  2925 
       
  2926 	RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
       
  2927 	CleanupStack::PushL(tGetFramesStsV6);
       
  2928 
       
  2929 	RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
       
  2930 	CleanupStack::PushL(tGetFramesStsV6Pckg);
       
  2931 	
       
  2932 	iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
       
  2933 	iSat.CancelAsyncRequest(ESatNotifyGetFramesStatusPCmd);
       
  2934 	User::WaitForRequest(reqStatus);
       
  2935 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int() ==KErrCancel));
       
  2936 	
       
  2937 	CleanupStack::PopAndDestroy(2);
       
  2938 	
       
  2939 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8533- Successful"));
       
  2940 
       
  2941 	return KErrNone;
       
  2942 	}
       
  2943 
       
  2944 CSimSatMmsNotificationDownload::CSimSatMmsNotificationDownload() 
       
  2945 	{ 
       
  2946 	SetTestStepName(_L("SatTestGetFrmsPCmd"));
       
  2947 	}
       
  2948 
       
  2949 TVerdict CSimSatMmsNotificationDownload::doTestStepL()
       
  2950 	{
       
  2951 	INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - START"));
       
  2952 
       
  2953  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  2954  	SetTestNumberL(0);
       
  2955 
       
  2956 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  2957 	TESTL(ret == KErrNone); 
       
  2958 	INFO_PRINTF1(_L("Opened phone object"));
       
  2959 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  2960 	INFO_PRINTF1(_L("Opened Sat object"));
       
  2961 
       
  2962 	testSAT8534L();	// For testing the TEL-SIMTSY-SAT-8534
       
  2963 	testSAT8535L();	// For testing the TEL-SIMTSY-SAT-8535
       
  2964 	testSAT8536L();	// For testing the TEL-SIMTSY-SAT-8536
       
  2965 	testSAT8537L();	// For testing the TEL-SIMTSY-SAT-8537
       
  2966 	testSAT8538L();	// For testing the TEL-SIMTSY-SAT-8538
       
  2967 
       
  2968 	iSat.Close();
       
  2969 	iPhone.Close();
       
  2970 	ASSERT(RThread().RequestCount()==0);
       
  2971 	
       
  2972 	INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - END"));
       
  2973 
       
  2974 	return TestStepResult();
       
  2975 	
       
  2976 	}
       
  2977 
       
  2978 /*
       
  2979  * 	SYMTestCaseID TEL-SIMTSY-NA-8534
       
  2980  *
       
  2981  *	SYMREQ REQ7335
       
  2982  *
       
  2983  *	SYMTestCaseDesc ME issues a MMS NOTIFICATION DOWNLOAD envelope command to the UICC successfully.
       
  2984  *
       
  2985  *	SYMTestPriority High
       
  2986  *
       
  2987  *	SYMTestActions 
       
  2988  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  2989  *		(ii)	Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23 
       
  2990  *			set to KCapsMmsNotificationDownload.
       
  2991  *		(iii)	Issue a request to the UICC to trigger the download of a MMS notification command using 
       
  2992  *			RSat::MmsNotificationDownload (). 
       
  2993  *		(iv)	The ME shall wait for an acknowledgement from the UICC.
       
  2994  *		(v)	It completes when the UICC informs the TSY that the download is complete. 
       
  2995  *
       
  2996  *	SYMTestExpectedResults 
       
  2997  *		Client shall supply the command parameters in a packaged version of TMMSNotificationDownloadV6. 
       
  2998  *		Device Source and Destination identities shall be KNetwork and KUICC respectively.
       
  2999  *		UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is 
       
  3000  *		successfully transferred to the UICC.
       
  3001  *
       
  3002  * 	SYMTestType CIT
       
  3003  */
       
  3004 
       
  3005 TInt CSimSatMmsNotificationDownload::testSAT8534L()
       
  3006 	{
       
  3007 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8534"));
       
  3008 
       
  3009 	TRequestStatus reqStatus;
       
  3010 	
       
  3011 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3012 	CleanupStack::PushL(profileV6);
       
  3013 	
       
  3014 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3015 	CleanupStack::PushL(profileV6Pckg);
       
  3016 
       
  3017 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3018 	User::WaitForRequest(reqStatus);
       
  3019 	TESTL(reqStatus.Int()==KErrNone);
       
  3020 	
       
  3021 	TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsMmsNotificationDownload));
       
  3022 		
       
  3023 	TRequestStatus  trr = KErrNone;
       
  3024 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3025 	TESTL(trr == KErrNone);
       
  3026 		
       
  3027 	RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
       
  3028 	CleanupStack::PushL(mmsNotificationDownloadV6);
       
  3029 	
       
  3030 	RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) 
       
  3031 		RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
       
  3032 	CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
       
  3033 
       
  3034 	_LIT(KText,"ABCDE1");
       
  3035 	TBuf<255> mmsNotification(KText);
       
  3036 	
       
  3037 	mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
       
  3038 	mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
       
  3039 	mmsNotificationDownloadV6->iLastEnvelope = ETrue;
       
  3040 	
       
  3041 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3042 	User::WaitForRequest(reqStatus);
       
  3043 	
       
  3044 	TEST(reqStatus.Int() == KErrNone);
       
  3045 	
       
  3046 	CleanupStack::PopAndDestroy(4);
       
  3047 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8534- Successful"));
       
  3048 	
       
  3049 	return KErrNone;
       
  3050 	}
       
  3051 
       
  3052 /*
       
  3053  * 	SYMTestCaseID TEL-SIMTSY-NA-8535
       
  3054  *
       
  3055  *	SYMREQ REQ7335
       
  3056  *
       
  3057  *	SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully
       
  3058  *			at the first attempt and successful at the second attempt.
       
  3059  *
       
  3060  *	SYMTestPriority High
       
  3061  *
       
  3062  *	SYMTestActions 
       
  3063  *		(i)	Issue a request to the UICC to trigger the download of a MMS notification command 
       
  3064  *			using RSat::MmsNotificationDownload ().
       
  3065  *		(ii)	The ME shall wait for an acknowledgement from the UICC.
       
  3066  *		(iii)	It completes when the UICC informs the TSY that the download is complete. 
       
  3067  *
       
  3068  *	SYMTestExpectedResults 
       
  3069  *		Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6. 
       
  3070  *		Device Source and Destination identities shall be KNetwork and KUICC respectively.
       
  3071  *		UICC responds with ‘93 00’as MMS status and indicates MMS notification download has not been 
       
  3072  *		successfully transferred to the UICC.
       
  3073  *		ME retries the same command as a second attempt.
       
  3074  *		UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is 
       
  3075  *		successfully transferred to the UICC.
       
  3076  *
       
  3077  * 	SYMTestType CIT
       
  3078  */
       
  3079 
       
  3080 TInt CSimSatMmsNotificationDownload::testSAT8535L()
       
  3081 	{
       
  3082 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8535"));
       
  3083 
       
  3084 	TRequestStatus reqStatus;
       
  3085 	
       
  3086 	RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
       
  3087 	CleanupStack::PushL(mmsNotificationDownloadV6);
       
  3088 	
       
  3089 	RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) 
       
  3090 		RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
       
  3091 	CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
       
  3092 
       
  3093 	_LIT(KText,"ABCDE2");
       
  3094 	TBuf<255> mmsNotification(KText);
       
  3095 	
       
  3096 	mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
       
  3097 	mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
       
  3098 	mmsNotificationDownloadV6->iLastEnvelope = EFalse;
       
  3099 	
       
  3100 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3101 	User::WaitForRequest(reqStatus);
       
  3102 	TEST(reqStatus.Int() == KErrNotReady);
       
  3103 	
       
  3104 	/* Retrying the MMS NOTIFICATION DOWNLOAD COMMAND */
       
  3105 	mmsNotificationDownloadV6->iLastEnvelope = ETrue;
       
  3106 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3107 	User::WaitForRequest(reqStatus);
       
  3108 	TEST(reqStatus.Int() == KErrNone);
       
  3109 	
       
  3110 	CleanupStack::PopAndDestroy(2);
       
  3111 	
       
  3112 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8535- Successful"));
       
  3113 	
       
  3114 	return KErrNone;
       
  3115 	}
       
  3116 
       
  3117 /*
       
  3118  * 	SYMTestCaseID TEL-SIMTSY-NA-8536
       
  3119  *
       
  3120  *	SYMREQ REQ7335
       
  3121  *
       
  3122  *	SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command responded with ‘6F XX’ error
       
  3123  *			 at the first attempt and ME not reissuing the command.
       
  3124  *
       
  3125  *	SYMTestPriority High
       
  3126  *
       
  3127  *	SYMTestActions 
       
  3128  *		(i)	Issue a request to the UICC to trigger the download of a MMS notification command
       
  3129  *			using RSat::MmsNotificationDownload ().
       
  3130  *		(ii)	The ME shall wait for an acknowledgement from the UICC.
       
  3131  *		(iii)	It completes when the UICC informs the TSY that the download is complete.
       
  3132  *		 
       
  3133  *	SYMTestExpectedResults 
       
  3134  *		Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
       
  3135  *		Device Source and Destination identities shall be KNetwork and KUICC respectively.
       
  3136  *		UICC responds with ‘6F XX’as MMS status and indicates MMS notification download has 
       
  3137  *		not been successfully transferred to the UICC.
       
  3138  *		ME shall not retry the same command.
       
  3139  *
       
  3140  * 	SYMTestType CIT
       
  3141  */
       
  3142 
       
  3143 TInt CSimSatMmsNotificationDownload::testSAT8536L()
       
  3144 	{
       
  3145 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8536"));
       
  3146 
       
  3147 	TRequestStatus reqStatus;
       
  3148 	
       
  3149 	RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
       
  3150 	CleanupStack::PushL(mmsNotificationDownloadV6);
       
  3151 	
       
  3152 	RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
       
  3153 	       	RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
       
  3154 	CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
       
  3155 
       
  3156 	_LIT(KText,"ABCDE3");
       
  3157 	TBuf<255> mmsNotification(KText);
       
  3158 	
       
  3159 	mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
       
  3160 	mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
       
  3161 	mmsNotificationDownloadV6->iLastEnvelope = ETrue;
       
  3162 	
       
  3163 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3164 	User::WaitForRequest(reqStatus);
       
  3165 	TEST(reqStatus.Int() == KErrNotReady);
       
  3166 	
       
  3167 	CleanupStack::PopAndDestroy(2);
       
  3168 		
       
  3169 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8536- Successful"));
       
  3170 	
       
  3171 	return KErrNone;
       
  3172 	}
       
  3173 
       
  3174 
       
  3175 /*
       
  3176  * 	SYMTestCaseID TEL-SIMTSY-NA-8537
       
  3177  *
       
  3178  *	SYMREQ REQ7335
       
  3179  *
       
  3180  *	SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully 
       
  3181  *			as the USIM service table does not support the envelope command.
       
  3182  *
       
  3183  *	SYMTestPriority High
       
  3184  *
       
  3185  *	SYMTestActions 
       
  3186  *		(i)	Issue a request to the UICC to trigger the download of a MMS notification command 
       
  3187  *			using RSat::MmsNotificationDownload (). 
       
  3188  *		(ii)	ME receives a MMS Notification message and sends an error message to the network.
       
  3189  *
       
  3190  *	SYMTestExpectedResults 
       
  3191  *		Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.  
       
  3192  *		As MMS transfer mode not recognised by UICC , ME sends error message to the network.
       
  3193  *
       
  3194  * 	SYMTestType CIT
       
  3195  */
       
  3196 
       
  3197 TInt CSimSatMmsNotificationDownload::testSAT8537L()
       
  3198 	{
       
  3199 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8537"));
       
  3200 
       
  3201 	TRequestStatus reqStatus;
       
  3202 	
       
  3203 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3204 	CleanupStack::PushL(profileV6);
       
  3205 	
       
  3206 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3207 	CleanupStack::PushL(profileV6Pckg);
       
  3208 
       
  3209 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3210 	User::WaitForRequest(reqStatus);
       
  3211 	TESTL(reqStatus.Int()==KErrNone);
       
  3212 	
       
  3213 	TEST((profileV6->iSatProfileByte23 & RSat::KCapsMmsNotificationDownload) > 0);
       
  3214 		
       
  3215 	TRequestStatus  trr = KErrNone;
       
  3216 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3217 	TESTL(trr == KErrNone);
       
  3218 		
       
  3219 	RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
       
  3220 	CleanupStack::PushL(mmsNotificationDownloadV6);
       
  3221 	
       
  3222 	RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) 
       
  3223 		RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
       
  3224 	CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
       
  3225 
       
  3226 	_LIT(KText,"ABCDE4");
       
  3227 	TBuf<255> mmsNotification(KText);
       
  3228 	
       
  3229 	mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
       
  3230 	mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
       
  3231 	mmsNotificationDownloadV6->iLastEnvelope = ETrue;
       
  3232 	
       
  3233 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3234 	User::WaitForRequest(reqStatus);
       
  3235 	TEST(reqStatus.Int() == KErrNotSupported);
       
  3236 	
       
  3237 	CleanupStack::PopAndDestroy(4);
       
  3238 		
       
  3239 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8537- Successful"));
       
  3240 	
       
  3241 	return KErrNone;
       
  3242 	}
       
  3243 
       
  3244 
       
  3245 /*
       
  3246  * 	SYMTestCaseID TEL-SIMTSY-NA-8538
       
  3247  *
       
  3248  *	SYMREQ REQ7335
       
  3249  *
       
  3250  *	SYMTestCaseDesc Cancellation of MMS NOTIFICATION DOWNLOAD request
       
  3251  *
       
  3252  *	SYMTestPriority High
       
  3253  *
       
  3254  *	SYMTestActions 
       
  3255  *		(i)	Register to be notified of MMS Notification download command using
       
  3256  *			RSat::MmsNotificationDownload ().
       
  3257  *		(ii)	Cancel the request by invoking the API CancelAsyncRequest(ESatMmsNotificationDownload).
       
  3258  *
       
  3259  *	SYMTestExpectedResults 
       
  3260 *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  3261  * 	SYMTestType CIT
       
  3262  */
       
  3263 
       
  3264 TInt CSimSatMmsNotificationDownload::testSAT8538L()
       
  3265 	{
       
  3266 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8538"));
       
  3267 
       
  3268 	TRequestStatus reqStatus;
       
  3269 	
       
  3270 	RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
       
  3271 	CleanupStack::PushL(mmsNotificationDownloadV6);
       
  3272 	
       
  3273 	RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
       
  3274 	CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
       
  3275 
       
  3276 	_LIT(KText,"ABCDE5");
       
  3277 	TBuf<255> mmsNotification(KText);
       
  3278 	
       
  3279 	mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
       
  3280 	mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
       
  3281 	mmsNotificationDownloadV6->iLastEnvelope = ETrue;
       
  3282 	
       
  3283 	iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
       
  3284 	iSat.CancelAsyncRequest(ESatMmsNotificationDownload);
       
  3285 	User::WaitForRequest(reqStatus);
       
  3286 	
       
  3287 	TEST((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  3288 	
       
  3289 	CleanupStack::PopAndDestroy(2);
       
  3290 	
       
  3291 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8538- Successful"));
       
  3292 
       
  3293 	return KErrNone;
       
  3294 	}
       
  3295 
       
  3296 
       
  3297 CSimSatUssdDataDownload::CSimSatUssdDataDownload() 
       
  3298 	{ 
       
  3299 	SetTestStepName(_L("SatTestUssdDataDownload"));
       
  3300 	}
       
  3301 
       
  3302 TVerdict CSimSatUssdDataDownload::doTestStepL()
       
  3303 	{
       
  3304 	INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - START"));
       
  3305 
       
  3306  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  3307  	SetTestNumberL(0);
       
  3308 
       
  3309 	TInt ret = iPhone.Open(iTelServer, KPhoneName); 
       
  3310 	TESTL(ret == KErrNone); 
       
  3311 	INFO_PRINTF1(_L("Opened phone object"));
       
  3312 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  3313 	INFO_PRINTF1(_L("Opened Sat object"));
       
  3314 
       
  3315 	testSAT8539L();	// For testing the TEL-SIMTSY-SAT-8539
       
  3316 	testSAT8540L();	// For testing the TEL-SIMTSY-SAT-8540
       
  3317 	
       
  3318 	iSat.Close();
       
  3319 	iPhone.Close();
       
  3320 	ASSERT(RThread().RequestCount()==0);
       
  3321 	
       
  3322 	INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - END"));
       
  3323 
       
  3324 	return TestStepResult();
       
  3325 	
       
  3326 	
       
  3327 	}
       
  3328 
       
  3329 
       
  3330 /*
       
  3331  * 	SYMTestCaseID TEL-SIMTSY-NA-8539
       
  3332  *
       
  3333  *	SYMREQ REQ7336
       
  3334  *
       
  3335  *	SYMTestCaseDesc ME issues a USSD Data Download command to the UICC.
       
  3336  *
       
  3337  *	SYMTestPriority High
       
  3338  *
       
  3339  *	SYMTestActions 
       
  3340  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  3341  *		(ii)	Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23
       
  3342  *			set to KCapsUssdDataDownload.
       
  3343  *		(iii)	Issue a request to the UICC to trigger the download of a USSD data using
       
  3344  *			RSat::NotifySendUssdPCmd (). 
       
  3345  *		(iv)	The ME shall wait for an acknowledgement from the UICC.
       
  3346  *		(v)	It completes when the UICC informs the TSY that the download is complete
       
  3347  *
       
  3348  *	SYMTestExpectedResults 
       
  3349  *		Client must supply the command parameters in a packaged version of TUssdDataDownloadV6. 
       
  3350  *		Device identities shall be KNetwork and KUICC.
       
  3351  *		UICC responds with ‘90 00’ as MMS status and indicates USSD Data Download is successfully 
       
  3352  *		transferred to the UICC.
       
  3353  *
       
  3354  * 	SYMTestType CIT
       
  3355  */
       
  3356 
       
  3357 TInt CSimSatUssdDataDownload::testSAT8539L()
       
  3358 	{
       
  3359 	
       
  3360 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8539"));
       
  3361 	
       
  3362 	TRequestStatus reqStatus;
       
  3363 	
       
  3364 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3365 	CleanupStack::PushL(profileV6);
       
  3366 	
       
  3367 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3368 	CleanupStack::PushL(profileV6Pckg);
       
  3369 
       
  3370 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3371 	User::WaitForRequest(reqStatus);
       
  3372 	TESTL(reqStatus.Int()==KErrNone);
       
  3373 	
       
  3374 	TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsUssdDataDownload));
       
  3375 		
       
  3376 	TRequestStatus  trr = KErrNone;
       
  3377 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3378 	TESTL(trr == KErrNone);
       
  3379 		
       
  3380 	RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
       
  3381 	CleanupStack::PushL(ussdDataV6);
       
  3382 	
       
  3383 	RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
       
  3384 	CleanupStack::PushL(ussdDataV6Pckg);
       
  3385 	
       
  3386 	ussdDataV6->iDeviceId = RSat::KNetwork;
       
  3387 	ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
       
  3388 	ussdDataV6->iUssdString.iUssdString = SIMTSY_USSD_STR;
       
  3389 	
       
  3390 	// Test posting of the UssdDataDownload request 
       
  3391 	iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
       
  3392 	User::WaitForRequest(reqStatus);
       
  3393 	TEST(reqStatus.Int() == KErrNone);
       
  3394 	
       
  3395 	// Testing the cancellation of the UssdDataDownload Request 
       
  3396 	iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
       
  3397 	iSat.CancelAsyncRequest(ESatUssdDataDownload);
       
  3398 	User::WaitForRequest(reqStatus);
       
  3399 	TEST((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel ));
       
  3400 	
       
  3401 	
       
  3402 	CleanupStack::PopAndDestroy(4, profileV6);
       
  3403 	
       
  3404 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8539- Successful"));
       
  3405 
       
  3406 	return KErrNone;
       
  3407 	}
       
  3408 
       
  3409 
       
  3410 
       
  3411 /*
       
  3412  * 	SYMTestCaseID TEL-SIMTSY-NA-8540
       
  3413  *
       
  3414  *	SYMREQ REQ7336
       
  3415  *
       
  3416  *	SYMTestCaseDesc USSD Data Download envelope command not transferred to the UICC successfully 
       
  3417  *			as the USIM service table does not support the envelope command.
       
  3418  *
       
  3419  *	SYMTestPriority High
       
  3420  *
       
  3421  *	SYMTestActions 
       
  3422  *		(i)	Issue a request to the UICC to trigger the USSD Data Download command 
       
  3423  *			using RSat:: NotifySendUssdPCmd (). 
       
  3424  *		(ii)	ME receives a USSD DATA DOWNLOAD and sends a FACILITY message to the network .
       
  3425  *
       
  3426  *	SYMTestExpectedResults 
       
  3427  *		Client must supply the command parameters in a packaged version of TUssdDataDownloadV6.  
       
  3428  *		As USSD Data Download not recognised by UICC, ME sends FACILITY message to the network.
       
  3429  *
       
  3430  * 	SYMTestType CIT
       
  3431  */
       
  3432 
       
  3433 TInt CSimSatUssdDataDownload::testSAT8540L()
       
  3434 	{
       
  3435 	
       
  3436 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8542"));
       
  3437 
       
  3438 	TRequestStatus reqStatus;
       
  3439 	
       
  3440 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3441 	CleanupStack::PushL(profileV6);
       
  3442 	
       
  3443 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3444 	CleanupStack::PushL(profileV6Pckg);
       
  3445 
       
  3446 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3447 	User::WaitForRequest(reqStatus);
       
  3448 	TESTL(reqStatus.Int()==KErrNone);
       
  3449 	
       
  3450 	TEST((profileV6->iSatProfileByte23 & RSat::KCapsUssdDataDownload) > 0);
       
  3451 		
       
  3452 	TRequestStatus  trr = KErrNone;
       
  3453 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3454 	TESTL(trr == KErrNone);
       
  3455 		
       
  3456 	RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
       
  3457 	CleanupStack::PushL(ussdDataV6);
       
  3458 	
       
  3459 	RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
       
  3460 	CleanupStack::PushL(ussdDataV6Pckg);
       
  3461 
       
  3462 	ussdDataV6->iDeviceId = RSat::KNetwork;
       
  3463 	ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
       
  3464 	ussdDataV6->iUssdString.iUssdString = SIMTSY_NOTFN_DNLD;
       
  3465 	
       
  3466 	iSat.UssdDataDownload(reqStatus,*(ussdDataV6Pckg));
       
  3467 	User::WaitForRequest(reqStatus);
       
  3468 	TEST(reqStatus.Int() == KErrNotSupported);
       
  3469 	
       
  3470 	CleanupStack::PopAndDestroy(4);
       
  3471 	
       
  3472 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8542- Successful"));
       
  3473 
       
  3474 	return KErrNone;
       
  3475 
       
  3476 	}
       
  3477 
       
  3478 
       
  3479 
       
  3480 CSimSatProvideLocalInfo::CSimSatProvideLocalInfo() 
       
  3481 	{ 
       
  3482 	SetTestStepName(_L("SatTestProvideLocalInfo"));
       
  3483 	}
       
  3484 
       
  3485 TVerdict CSimSatProvideLocalInfo::doTestStepL()
       
  3486 	{
       
  3487 	INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - START"));
       
  3488 
       
  3489  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  3490  	SetTestNumberL(0);
       
  3491 
       
  3492 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  3493 	TESTL(ret == KErrNone); 
       
  3494 	INFO_PRINTF1(_L("Opened phone object"));
       
  3495 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  3496 	INFO_PRINTF1(_L("Opened Sat object"));
       
  3497 
       
  3498 	testSAT8544L();	// For testing the TEL-SIMTSY-SAT-8544
       
  3499 	testSAT8545L();	// For testing the TEL-SIMTSY-SAT-8545
       
  3500 	testSAT8546L();	// For testing the TEL-SIMTSY-SAT-8546
       
  3501 	testSAT8547L();	// For testing the TEL-SIMTSY-SAT-8547
       
  3502 	testSAT8548L();	// For testing the TEL-SIMTSY-SAT-8548
       
  3503 	testSAT8549L();	// For testing the TEL-SIMTSY-SAT-8549
       
  3504 	
       
  3505 	iSat.Close();
       
  3506 	iPhone.Close();
       
  3507 	ASSERT(RThread().RequestCount()==0);
       
  3508 	
       
  3509 	INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - END"));
       
  3510 
       
  3511 	return TestStepResult();
       
  3512 	
       
  3513 	}
       
  3514 
       
  3515 
       
  3516 /*
       
  3517  * 	SYMTestCaseID TEL-SIMTSY-NA-8544
       
  3518  *
       
  3519  *	SYMREQ REQ7337
       
  3520  *
       
  3521  *	SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters
       
  3522  *
       
  3523  *	SYMTestPriority High
       
  3524  *
       
  3525  *	SYMTestActions 
       
  3526  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  3527  *		(ii)	Call the API RSat::ClientSatProfileIndication with RSat::TSatProfileV6Pckg with 
       
  3528  *			(a)	KCapsProvideLocalInfoMEID set for the TSatProfileByte23.
       
  3529  *			(b)	KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState 
       
  3530  *				set for the TSatProfileByte22.
       
  3531  *			(c)	KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange 
       
  3532  *				set for the TSatProfileByte18.
       
  3533  *		(iii)	The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
       
  3534  *		(iv)	UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
       
  3535  *		(v)	The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response 
       
  3536  *			parameter.
       
  3537  *
       
  3538  *	SYMTestExpectedResults 
       
  3539  *		The TSatProfileV6Pckg from the step (i) shall have 
       
  3540  *			(i)	KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange
       
  3541  *				 in the TSatProfileByte18 attribute.
       
  3542  *			(ii)	KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState in the 
       
  3543  *				TSatProfileByte22 attribute.
       
  3544  *			(iii)	KCapsProvideLocalInfoMEID in the TSatProfileByte23 attribute.
       
  3545  *		ClientSatProfileIndication shall return KErrNone.
       
  3546  *		ME shall respond with KSuccess  in the Terminal response
       
  3547  *
       
  3548  * 	SYMTestType CIT
       
  3549  */
       
  3550 
       
  3551 TInt CSimSatProvideLocalInfo::testSAT8544L()
       
  3552 	{
       
  3553 	
       
  3554 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8544"));
       
  3555 
       
  3556 	TRequestStatus reqStatus;
       
  3557 	
       
  3558 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3559 	CleanupStack::PushL(profileV6);
       
  3560 	
       
  3561 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3562 	CleanupStack::PushL(profileV6Pckg);
       
  3563 
       
  3564 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3565 	User::WaitForRequest(reqStatus);
       
  3566 	TESTL(reqStatus.Int()==KErrNone);
       
  3567 	
       
  3568 	TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
       
  3569 	TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState));
       
  3570 	TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
       
  3571 			(profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
       
  3572 		
       
  3573 	TRequestStatus  trr = KErrNone;
       
  3574 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3575 	TESTL(trr == KErrNone);
       
  3576 		
       
  3577 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3578 	CleanupStack::PushL(tlocalInfoV6);
       
  3579 	
       
  3580 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3581 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3582 	
       
  3583 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3584 	User::WaitForRequest(reqStatus);
       
  3585 	TESTL(reqStatus.Int()==KErrNone);
       
  3586 	
       
  3587 	TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
       
  3588 	TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
       
  3589 	TESTL(tlocalInfoV6->iUtranMeasurementQualifier 
       
  3590 			== RSat::EUtranMeasurementQualifierIntraFrequency);
       
  3591 	
       
  3592 	RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
       
  3593 	CleanupStack::PushL(tLocalInfoRsp);
       
  3594 	
       
  3595 	RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
       
  3596 	CleanupStack::PushL(tLocalInfoRspPckgV6);
       
  3597 	
       
  3598 	tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
       
  3599 	tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  3600 	tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
       
  3601 		
       
  3602 	iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
       
  3603 	User::WaitForRequest(reqStatus);
       
  3604 	TESTL(reqStatus.Int() == KErrNone);
       
  3605 	
       
  3606 	CleanupStack::PopAndDestroy(6);
       
  3607 
       
  3608 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8544- Successful"));
       
  3609 				
       
  3610 	return KErrNone;
       
  3611 	
       
  3612 	}
       
  3613 
       
  3614 /*
       
  3615  * 	SYMTestCaseID TEL-SIMTSY-NA-8545
       
  3616  *
       
  3617  *	SYMREQ REQ7337
       
  3618  *
       
  3619  *	SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters 
       
  3620  *			when the terminal has no service currently available.
       
  3621  *
       
  3622  *	SYMTestPriority High
       
  3623  *		
       
  3624  *	SYMTestActions 
       
  3625  *		(i)	The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
       
  3626  *		(ii)	UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
       
  3627  *		(iii)	The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response 
       
  3628  *			parameter.
       
  3629  *
       
  3630  *	SYMTestExpectedResults 
       
  3631  *		ME shall respond with KMeUnableToProcessCmd in the Terminal response with KNoService 
       
  3632  *		as the additional information.
       
  3633  * 	SYMTestType CIT
       
  3634  */
       
  3635 
       
  3636 TInt CSimSatProvideLocalInfo::testSAT8545L()
       
  3637 	{
       
  3638 	
       
  3639 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8545"));
       
  3640 
       
  3641 	TRequestStatus reqStatus;
       
  3642 	
       
  3643 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3644 	CleanupStack::PushL(profileV6);
       
  3645 	
       
  3646 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3647 	CleanupStack::PushL(profileV6Pckg);
       
  3648 
       
  3649 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3650 	User::WaitForRequest(reqStatus);
       
  3651 	TESTL(reqStatus.Int()==KErrNone);
       
  3652 	
       
  3653 	TESTL(!(profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
       
  3654 	TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
       
  3655 	TESTL(!((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
       
  3656 			(profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
       
  3657 		
       
  3658 	TRequestStatus  trr = KErrNone;
       
  3659 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3660 	TESTL(trr == KErrNone);
       
  3661 		
       
  3662 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3663 	CleanupStack::PushL(tlocalInfoV6);
       
  3664 	
       
  3665 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3666 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3667 	
       
  3668 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3669 	User::WaitForRequest(reqStatus);
       
  3670 	TESTL(reqStatus.Int()==KErrNotSupported);
       
  3671 	
       
  3672 	RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
       
  3673 	CleanupStack::PushL(tLocalInfoRsp);
       
  3674 	
       
  3675 	RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
       
  3676 	CleanupStack::PushL(tLocalInfoRspPckgV6);
       
  3677 	
       
  3678 	_LIT(KText,"KNoService");
       
  3679 	TBuf<254> buf(KText);
       
  3680 	tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  3681 	tLocalInfoRsp->iInfoType = RSat::KMeProblem;
       
  3682 	tLocalInfoRsp->iAdditionalInfo = buf;
       
  3683 	tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
       
  3684 
       
  3685 	iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
       
  3686 	User::WaitForRequest(reqStatus);
       
  3687 	TESTL(reqStatus.Int() == KErrNone);
       
  3688 	
       
  3689 	CleanupStack::PopAndDestroy(6);
       
  3690 	
       
  3691 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8545- Successful"));
       
  3692 	
       
  3693 	return KErrNone;
       
  3694 	
       
  3695 	}
       
  3696 
       
  3697 /*
       
  3698  * 	SYMTestCaseID TEL-SIMTSY-NA-8546
       
  3699  *
       
  3700  *	SYMREQ REQ7337
       
  3701  *
       
  3702  *	SYMTestCaseDesc Cancellation of the PROVIDE LOCAL INFORMATION proactive command with additional 3GPP 
       
  3703  *			R6 parameters
       
  3704  *
       
  3705  *	SYMTestPriority High
       
  3706  *
       
  3707  *	SYMTestActions 
       
  3708  *		(i)	The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd().
       
  3709  *		(ii)	Cancel the placed request using the API RSat::CancelAsyncRequest(ESatNotifyLocalInfoPCmd).
       
  3710  *
       
  3711  *	SYMTestExpectedResults 
       
  3712  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  3713  * 	SYMTestType CIT
       
  3714  */
       
  3715 
       
  3716 TInt CSimSatProvideLocalInfo::testSAT8546L()
       
  3717 	{
       
  3718 	
       
  3719 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8546"));
       
  3720 
       
  3721 	TRequestStatus reqStatus;
       
  3722 		
       
  3723 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3724 	CleanupStack::PushL(tlocalInfoV6);
       
  3725 	
       
  3726 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3727 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3728 	
       
  3729 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3730 	iSat.CancelAsyncRequest(ESatNotifyLocalInfoPCmd);
       
  3731 	User::WaitForRequest(reqStatus);
       
  3732 	
       
  3733 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  3734 	
       
  3735 	CleanupStack::PopAndDestroy(2);
       
  3736 	
       
  3737 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8546- Successful"));
       
  3738 	
       
  3739 	return KErrNone;
       
  3740 	
       
  3741 	}
       
  3742 
       
  3743 /*
       
  3744  * 	SYMTestCaseID TEL-SIMTSY-NA-8547
       
  3745  *
       
  3746  *	SYMREQ REQ7338
       
  3747  *
       
  3748  *	SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes network measurement
       
  3749  *			 results for UTRAN
       
  3750  *
       
  3751  *	SYMTestPriority High
       
  3752  *
       
  3753  *	SYMTestActions 
       
  3754  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
       
  3755  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
       
  3756  *		(iii)	The client notifies the ME for the PROVIDE LOCAL INFORMATION using the 
       
  3757  *			RSat::NotifyLocalInfoPCmd ().
       
  3758  *		(iv)	The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 
       
  3759  *			as the response parameter.
       
  3760  *
       
  3761  *	SYMTestExpectedResults 
       
  3762  *		The Terminal Response shall contain the class RSat::TLocalInfoRspV3 .
       
  3763  *		ME returns KSuccess in the terminal response.
       
  3764  *
       
  3765  * 	SYMTestType CIT
       
  3766  */
       
  3767 
       
  3768 TInt CSimSatProvideLocalInfo::testSAT8547L()
       
  3769 	{
       
  3770 		
       
  3771 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8547"));
       
  3772 
       
  3773 	TRequestStatus reqStatus;
       
  3774 	
       
  3775 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3776 	CleanupStack::PushL(profileV6);
       
  3777 	
       
  3778 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3779 	CleanupStack::PushL(profileV6Pckg);
       
  3780 
       
  3781 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3782 	User::WaitForRequest(reqStatus);
       
  3783 	TESTL(reqStatus.Int()==KErrNone);
       
  3784 	
       
  3785 	TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
       
  3786 	TESTL((profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)) || 
       
  3787 			(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
       
  3788 	TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
       
  3789 			(profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
       
  3790 		
       
  3791 	TRequestStatus  trr = KErrNone;
       
  3792 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3793 	TESTL(trr == KErrNone);
       
  3794 		
       
  3795 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3796 	CleanupStack::PushL(tlocalInfoV6);
       
  3797 	
       
  3798 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3799 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3800 	
       
  3801 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3802 	User::WaitForRequest(reqStatus);
       
  3803 	TESTL(reqStatus.Int()==KErrNone); 
       
  3804 	
       
  3805 	TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
       
  3806 	TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
       
  3807 	TESTL(tlocalInfoV6->iUtranMeasurementQualifier 
       
  3808 			== RSat::EUtranMeasurementQualifierInterFrequency);
       
  3809 	
       
  3810 	RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
       
  3811 	CleanupStack::PushL(tLocalInfoRsp);
       
  3812 	
       
  3813 	RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
       
  3814 	CleanupStack::PushL(tLocalInfoRspPckgV6);
       
  3815 	
       
  3816 	tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
       
  3817 	tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  3818 	tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
       
  3819 		
       
  3820 	iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
       
  3821 	User::WaitForRequest(reqStatus);
       
  3822 	TESTL(reqStatus.Int() == KErrNone);
       
  3823 	
       
  3824 	CleanupStack::PopAndDestroy(6);
       
  3825 
       
  3826 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8547- Successful"));
       
  3827 				
       
  3828 	return KErrNone;
       
  3829 	
       
  3830 	}
       
  3831 
       
  3832 /*
       
  3833  * 	SYMTestCaseID TEL-SIMTSY-NA-8548
       
  3834  *
       
  3835  *	SYMREQ REQ7338
       
  3836  *
       
  3837  *	SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the network is of limited service.
       
  3838  *
       
  3839  *	SYMTestPriority High
       
  3840  *
       
  3841  *	SYMTestActions 
       
  3842  *		(i)	The client notifies the ME for the PROVIDE LOCAL INFORMATION using the 
       
  3843  *			RSat::NotifyLocalInfoPCmd ().
       
  3844  *		(ii)	The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 
       
  3845  *			as the response parameter.
       
  3846  *
       
  3847  *	SYMTestExpectedResults 
       
  3848  *		The Terminal Response shall contain the class RSat::TLocalInfoRspV3. 
       
  3849  *		The ME shall respond with KSuccessLimitedService in the terminal response.
       
  3850  *
       
  3851  * 	SYMTestType CIT
       
  3852  */
       
  3853 
       
  3854 TInt CSimSatProvideLocalInfo::testSAT8548L()
       
  3855 	{
       
  3856 	
       
  3857 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8548"));
       
  3858 
       
  3859 	TRequestStatus reqStatus;
       
  3860 	
       
  3861 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  3862 	CleanupStack::PushL(profileV6);
       
  3863 	
       
  3864 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  3865 	CleanupStack::PushL(profileV6Pckg);
       
  3866 
       
  3867 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  3868 	User::WaitForRequest(reqStatus);
       
  3869 	TESTL(reqStatus.Int()==KErrNone);
       
  3870 	
       
  3871 	TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
       
  3872 	TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)));
       
  3873 	TESTL(((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
       
  3874 			(profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
       
  3875 		
       
  3876 	TRequestStatus  trr = KErrNone;
       
  3877 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  3878 	TESTL(trr == KErrNone);
       
  3879 		
       
  3880 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3881 	CleanupStack::PushL(tlocalInfoV6);
       
  3882 	
       
  3883 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3884 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3885 	
       
  3886 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3887 	User::WaitForRequest(reqStatus);
       
  3888 	TESTL(reqStatus.Int()==KErrNotSupported);
       
  3889 	
       
  3890 	RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
       
  3891 	CleanupStack::PushL(tLocalInfoRsp);
       
  3892 	
       
  3893 	RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
       
  3894 	CleanupStack::PushL(tLocalInfoRspPckgV6);
       
  3895 	
       
  3896 	tLocalInfoRsp->iGeneralResult = RSat::KSuccessLimitedService ;
       
  3897 	tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  3898 	tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
       
  3899 
       
  3900 	iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
       
  3901 	User::WaitForRequest(reqStatus);
       
  3902 	TESTL(reqStatus.Int() == KErrNone);
       
  3903 	
       
  3904 	CleanupStack::PopAndDestroy(6);
       
  3905 	
       
  3906 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8548- Successful"));
       
  3907 	
       
  3908 	return KErrNone;
       
  3909 	}
       
  3910 
       
  3911 /*
       
  3912  * 	SYMTestCaseID TEL-SIMTSY-NA-8549
       
  3913  *
       
  3914  *	SYMREQ REQ7338
       
  3915  *
       
  3916  *	SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the 
       
  3917  *			network is connected to different radio access technology (RAT).
       
  3918  *
       
  3919  *	SYMTestPriority High
       
  3920  *
       
  3921  *	SYMTestActions 
       
  3922  *		(i)	The client notifies the ME for the PROVIDE LOCAL INFORMATION 
       
  3923  *			using the RSat::NotifyLocalInfoPCmd ().
       
  3924  *		(ii)	The UICC responds back with the RSat::TerminalRsp with the
       
  3925  *			TLocalInfoRspV3 as the response parameter.
       
  3926  *
       
  3927  *	SYMTestExpectedResults 
       
  3928  *		The Terminal Response shall contain the class RSat::TLocalInfoRspV3. 
       
  3929  *		The ME shall respond with KMeUnableToProcessCmd in the terminal response.
       
  3930  *
       
  3931  * 	SYMTestType CIT
       
  3932  */
       
  3933 
       
  3934 TInt CSimSatProvideLocalInfo::testSAT8549L()
       
  3935 	{
       
  3936 	
       
  3937 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8549"));
       
  3938 
       
  3939 	TRequestStatus reqStatus;
       
  3940 	
       
  3941 	RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
       
  3942 	CleanupStack::PushL(tlocalInfoV6);
       
  3943 	
       
  3944 	RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
       
  3945 	CleanupStack::PushL(tLclInfoV6Pckg);
       
  3946 	
       
  3947 	iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
       
  3948 	User::WaitForRequest(reqStatus);
       
  3949 	TESTL(reqStatus.Int()==KErrNotSupported);
       
  3950 	
       
  3951 	RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
       
  3952 	CleanupStack::PushL(tLocalInfoRsp);
       
  3953 	
       
  3954 	RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
       
  3955 	CleanupStack::PushL(tLocalInfoRspPckgV6);
       
  3956 	
       
  3957 	tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  3958 	tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  3959 	tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
       
  3960 
       
  3961 	iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
       
  3962 	User::WaitForRequest(reqStatus);
       
  3963 	TESTL(reqStatus.Int() == KErrNone);
       
  3964 	
       
  3965 	CleanupStack::PopAndDestroy(4);
       
  3966 	
       
  3967 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8549 - Successful"));
       
  3968 	
       
  3969 	return KErrNone;
       
  3970 	
       
  3971 	}
       
  3972 
       
  3973 CSimSatLnchBrwsr::CSimSatLnchBrwsr() 
       
  3974 	{ 
       
  3975 	SetTestStepName(_L("SatTestLaunchBrowser"));
       
  3976 	}
       
  3977 
       
  3978 TVerdict CSimSatLnchBrwsr::doTestStepL()
       
  3979 	{
       
  3980 	INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - START"));
       
  3981 
       
  3982  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  3983  	SetTestNumberL(0);
       
  3984 
       
  3985 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  3986 	TESTL(ret == KErrNone); 
       
  3987 	INFO_PRINTF1(_L("Opened phone object"));
       
  3988 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  3989 	INFO_PRINTF1(_L("Opened Sat object"));
       
  3990 
       
  3991 	testSAT8550L();	// For testing the TEL-SIMTSY-SAT-8550
       
  3992 	testSAT8551L();	// For testing the TEL-SIMTSY-SAT-8551
       
  3993 	testSAT8552L();	// For testing the TEL-SIMTSY-SAT-8552
       
  3994 	testSAT8553L();	// For testing the TEL-SIMTSY-SAT-8553
       
  3995 	testSAT8554L();	// For testing the TEL-SIMTSY-SAT-8554
       
  3996 	testSAT8555L();	// For testing the TEL-SIMTSY-SAT-8555
       
  3997 	
       
  3998 	iSat.Close();
       
  3999 	iPhone.Close();
       
  4000 	ASSERT(RThread().RequestCount()==0);
       
  4001 	
       
  4002 	INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - END"));
       
  4003 
       
  4004 	return TestStepResult();
       
  4005 	
       
  4006 	}
       
  4007 
       
  4008 /*
       
  4009  * 	SYMTestCaseID TEL-SIMTSY-NA-8550
       
  4010  *
       
  4011  *	SYMREQ REQ7346
       
  4012  *
       
  4013  *	SYMTestCaseDesc R6 support for LAUNCH BROWSER proactive command
       
  4014  *
       
  4015  *	SYMTestPriority High
       
  4016  *
       
  4017  *	SYMTestActions 
       
  4018  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  4019  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
       
  4020  *		(iii)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4021  *		(iv)	The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the 
       
  4022  *			response parameter.
       
  4023  *
       
  4024  *	SYMTestExpectedResults 
       
  4025  *		TSatProfileByte21 for Release 6 packaged in TSatProfileV6 shall have one of the following 
       
  4026  *		types of browsing: XML, WXML, HTML and CHTML.
       
  4027  *		Terminal response contains value as KSuccess in the Response package.
       
  4028  *
       
  4029  * 	SYMTestType CIT
       
  4030  */
       
  4031 
       
  4032 TInt CSimSatLnchBrwsr::testSAT8550L()
       
  4033 	{
       
  4034 	
       
  4035 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8550"));
       
  4036 
       
  4037 	TRequestStatus reqStatus;
       
  4038 	
       
  4039 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  4040 	CleanupStack::PushL(profileV6);
       
  4041 	
       
  4042 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  4043 	CleanupStack::PushL(profileV6Pckg);
       
  4044 
       
  4045 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  4046 	User::WaitForRequest(reqStatus);
       
  4047 	TESTL(reqStatus.Int()==KErrNone);
       
  4048 	
       
  4049 	TESTL(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML));
       
  4050 		
       
  4051 	TRequestStatus  trr = KErrNone;
       
  4052 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  4053 	TESTL(trr == KErrNone);
       
  4054 		
       
  4055 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4056 	CleanupStack::PushL(tLnchBrwsr);
       
  4057 	
       
  4058 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4059 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4060 	
       
  4061 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4062 	User::WaitForRequest(reqStatus);
       
  4063 	TESTL(reqStatus.Int() == KErrNone);
       
  4064 	
       
  4065 	TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
       
  4066 	
       
  4067 	RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
       
  4068 	CleanupStack::PushL(tLnchBrRsp);
       
  4069 	
       
  4070 	RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
       
  4071 	CleanupStack::PushL(tLnchBrRspPckg);
       
  4072 	
       
  4073 	tLnchBrRsp->iGeneralResult = RSat::KSuccess;
       
  4074 	tLnchBrRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4075 	tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
       
  4076 
       
  4077 	iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
       
  4078 	User::WaitForRequest(reqStatus);
       
  4079 	TESTL(reqStatus.Int() == KErrNone);
       
  4080 	
       
  4081 	CleanupStack::PopAndDestroy(6);
       
  4082 	
       
  4083 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8550 - Successful"));
       
  4084 	
       
  4085 	return KErrNone;
       
  4086 	
       
  4087 	}
       
  4088 
       
  4089 /*
       
  4090  * 	SYMTestCaseID TEL-SIMTSY-NA-8551
       
  4091  *
       
  4092  *	SYMREQ REQ7346
       
  4093  *
       
  4094  *	SYMTestCaseDesc LAUNCH BROWSER proactive command without the R6 support.
       
  4095  *
       
  4096  *	SYMTestPriority High
       
  4097  *
       
  4098  *	SYMTestActions 
       
  4099  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  4100  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
       
  4101  *		(iii)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4102  *		(iv)	The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the 
       
  4103  *			response parameter.
       
  4104  *
       
  4105  *	SYMTestExpectedResults 
       
  4106  *		TBrowserIdentity in the TSatProfileByte21 for Release 6 packaged in TSatProfileV6, 
       
  4107  *		with one of the following types of browsing: XML, WXML, HTML and CHTML.
       
  4108  *		Terminal response contains value as KErrCorrupt in the Response package
       
  4109  *
       
  4110  * 	SYMTestType CIT
       
  4111  */
       
  4112 
       
  4113 TInt CSimSatLnchBrwsr::testSAT8551L()
       
  4114 	{
       
  4115 	
       
  4116 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8551"));
       
  4117 
       
  4118 	TRequestStatus reqStatus;
       
  4119 
       
  4120 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  4121 	CleanupStack::PushL(profileV6);
       
  4122 	
       
  4123 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  4124 	CleanupStack::PushL(profileV6Pckg);
       
  4125 
       
  4126 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  4127 	User::WaitForRequest(reqStatus);
       
  4128 	TESTL(reqStatus.Int()==KErrNone);
       
  4129 	
       
  4130 	TESTL(!(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML)));
       
  4131 		
       
  4132 	TRequestStatus  trr = KErrNone;
       
  4133 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  4134 	TESTL(trr == KErrNone);
       
  4135 		
       
  4136 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4137 	CleanupStack::PushL(tLnchBrwsr);
       
  4138 	
       
  4139 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4140 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4141 	
       
  4142 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4143 	User::WaitForRequest(reqStatus);
       
  4144 	TESTL(reqStatus.Int() == KErrNone);
       
  4145 	
       
  4146 	TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
       
  4147 	
       
  4148 	RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
       
  4149 	CleanupStack::PushL(tLnchBrRsp);
       
  4150 	
       
  4151 	RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
       
  4152 	CleanupStack::PushL(tLnchBrRspPckg);
       
  4153 	
       
  4154 	_LIT(KText,"KNoSpecificBrowserError");
       
  4155 	TBuf<254> buf(KText);
       
  4156 	tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
       
  4157 	tLnchBrRsp->iInfoType = RSat::KMeProblem;
       
  4158 	tLnchBrRsp->iAdditionalInfo = buf;
       
  4159 	tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
       
  4160 	
       
  4161 	iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
       
  4162 	User::WaitForRequest(reqStatus);
       
  4163 	TESTL(reqStatus.Int() == KErrNone);
       
  4164 	
       
  4165 	CleanupStack::PopAndDestroy(6);
       
  4166 	
       
  4167 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8551 - Successful"));
       
  4168 	
       
  4169 	return KErrNone;
       
  4170 	
       
  4171 	}
       
  4172 
       
  4173 
       
  4174 /*
       
  4175  * 	SYMTestCaseID TEL-SIMTSY-NA-8552
       
  4176  *
       
  4177  *	SYMREQ REQ7346
       
  4178  *
       
  4179  *	SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the browser is not available.
       
  4180  *
       
  4181  *	SYMTestPriority High
       
  4182  *
       
  4183  *	SYMTestActions 
       
  4184  *	(i)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4185  *	(ii)	The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
       
  4186  *
       
  4187  *	SYMTestExpectedResults 
       
  4188  *		Terminal response contains value as KMeUnableToProcessCmd in the Response package and
       
  4189  *		 the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBrowserUnavailable.
       
  4190  *
       
  4191  * 	SYMTestType CIT
       
  4192  */
       
  4193 
       
  4194 TInt CSimSatLnchBrwsr::testSAT8552L()
       
  4195 	{
       
  4196 	
       
  4197 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8552"));
       
  4198 
       
  4199 	TRequestStatus reqStatus;
       
  4200 
       
  4201 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4202 	CleanupStack::PushL(tLnchBrwsr);
       
  4203 	
       
  4204 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4205 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4206 	
       
  4207 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4208 	User::WaitForRequest(reqStatus);
       
  4209 	TESTL(reqStatus.Int() == KErrNone);
       
  4210 	
       
  4211 	TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
       
  4212 	
       
  4213 	RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
       
  4214 	CleanupStack::PushL(tLnchBrRsp);
       
  4215 	
       
  4216 	RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
       
  4217 	CleanupStack::PushL(tLnchBrRspPckg);
       
  4218 	
       
  4219 	_LIT(KText,"KBrowserUnavailable");
       
  4220 	TBuf<254> buf(KText);
       
  4221 	tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
       
  4222 	tLnchBrRsp->iInfoType = RSat::KMeProblem;
       
  4223 	tLnchBrRsp->iAdditionalInfo = buf;
       
  4224 	tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
       
  4225 	
       
  4226 	iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
       
  4227 	User::WaitForRequest(reqStatus);
       
  4228 	TESTL(reqStatus.Int() == KErrNone);
       
  4229 	
       
  4230 	CleanupStack::PopAndDestroy(4);
       
  4231 	
       
  4232 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8552 - Successful"));
       
  4233 	
       
  4234 	return KErrNone;
       
  4235 	
       
  4236 	}
       
  4237 	
       
  4238 
       
  4239 /*
       
  4240  * 	SYMTestCaseID TEL-SIMTSY-NA-8553
       
  4241  *
       
  4242  *	SYMREQ REQ7346
       
  4243  *
       
  4244  *	SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the bearer is not available.
       
  4245  *
       
  4246  *	SYMTestPriority High
       
  4247  *
       
  4248  *	SYMTestActions 
       
  4249  *	(i)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4250  *	(ii)	The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
       
  4251  *
       
  4252  *	SYMTestExpectedResults 
       
  4253  *		Terminal response contains value as KMeUnableToProcessCmd in the Response package and 
       
  4254  *		the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBearerUnvailable.
       
  4255  *
       
  4256  * 	SYMTestType CIT
       
  4257  */
       
  4258 
       
  4259 TInt CSimSatLnchBrwsr::testSAT8553L()
       
  4260 	{
       
  4261 	
       
  4262 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8553"));
       
  4263 
       
  4264 	TRequestStatus reqStatus;
       
  4265 	
       
  4266 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4267 	CleanupStack::PushL(tLnchBrwsr);
       
  4268 	
       
  4269 	
       
  4270 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4271 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4272 	
       
  4273 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4274 	User::WaitForRequest(reqStatus);
       
  4275 	TESTL(reqStatus.Int() == KErrNone);
       
  4276 	
       
  4277 	TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
       
  4278 	
       
  4279 	RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
       
  4280 	CleanupStack::PushL(tLnchBrRsp);
       
  4281 	
       
  4282 	RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
       
  4283 	CleanupStack::PushL(tLnchBrRspPckg);
       
  4284 	
       
  4285 	_LIT(KText,"KBearerUnvailable");
       
  4286 	TBuf<254> buf(KText);
       
  4287 	tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
       
  4288 	tLnchBrRsp->iInfoType = RSat::KMeProblem;
       
  4289 	tLnchBrRsp->iAdditionalInfo = buf;
       
  4290 	tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
       
  4291 	
       
  4292 	iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
       
  4293 	User::WaitForRequest(reqStatus);
       
  4294 	TESTL(reqStatus.Int() == KErrNone);
       
  4295 	
       
  4296 	CleanupStack::PopAndDestroy(4);
       
  4297 	
       
  4298 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8553 - Successful"));
       
  4299 	
       
  4300 	return KErrNone;
       
  4301 	
       
  4302 	}
       
  4303 
       
  4304 
       
  4305 /*
       
  4306  * 	SYMTestCaseID TEL-SIMTSY-NA-8554
       
  4307  *
       
  4308  *	SYMREQ REQ7346 & REQ7343
       
  4309  *
       
  4310  *	SYMTestCaseDesc LAUNCH BROWSER proactive command with the R6 support when error occurs
       
  4311  *			 when accessing the resource in the URL.
       
  4312  *
       
  4313  *	SYMTestPriority High
       
  4314  *
       
  4315  *	SYMTestActions 
       
  4316  *	(i)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4317  *	(ii)	The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
       
  4318  *	(iii)	Call the API EventDownload with the TEventList as RSat::KBrowserStatusChange and 
       
  4319  *		package class as TBrowserStatusV6.
       
  4320  *
       
  4321  *	SYMTestExpectedResults 
       
  4322  *		Terminal response contains value as KMeUnableToProcessCmd in the Response package and 
       
  4323  *		the iAdditionalInfo of TLaunchBrowserRspV2 shall have KMeUnableToReadProvisioningData.
       
  4324  *		The TBrowserStatusV6 shall contain the error cause from the network.
       
  4325  *
       
  4326  * 	SYMTestType CIT
       
  4327  */
       
  4328 
       
  4329 TInt CSimSatLnchBrwsr::testSAT8554L()
       
  4330 	{
       
  4331 	
       
  4332 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8554"));
       
  4333 
       
  4334 	TRequestStatus reqStatus;
       
  4335 	
       
  4336 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4337 	CleanupStack::PushL(tLnchBrwsr);
       
  4338 	
       
  4339 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4340 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4341 	
       
  4342 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4343 	User::WaitForRequest(reqStatus);
       
  4344 	TESTL(reqStatus.Int() == KErrNone);
       
  4345 	
       
  4346 	TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
       
  4347 	
       
  4348 	RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
       
  4349 	CleanupStack::PushL(tLnchBrRsp);
       
  4350 	
       
  4351 	RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
       
  4352 	CleanupStack::PushL(tLnchBrRspPckg);
       
  4353 	
       
  4354 	_LIT(KText,"KMeUnableToReadProvisioningData");
       
  4355 	TBuf<254> buf(KText);
       
  4356 	tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
       
  4357 	tLnchBrRsp->iInfoType = RSat::KMeProblem;
       
  4358 	tLnchBrRsp->iAdditionalInfo = buf;
       
  4359 	tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
       
  4360 	
       
  4361 	iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
       
  4362 	User::WaitForRequest(reqStatus);
       
  4363 	TESTL(reqStatus.Int() == KErrNone);
       
  4364 	
       
  4365 	RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
       
  4366 	CleanupStack::PushL(tBrwStsV6);
       
  4367 	
       
  4368 	RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
       
  4369 	CleanupStack::PushL(tBrwStsV6Pckg);
       
  4370 	
       
  4371 	tBrwStsV6->iBrowserStatus = 0x55;  // 0x55 assumed as Error status from the network.
       
  4372 	
       
  4373 	iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
       
  4374 	User::WaitForRequest(reqStatus);
       
  4375 	TESTL(reqStatus.Int() == KErrNone);
       
  4376 
       
  4377 	CleanupStack::PopAndDestroy(6);
       
  4378 	
       
  4379 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8554 - Successful"));
       
  4380 	
       
  4381 	return KErrNone;
       
  4382 	
       
  4383 	}
       
  4384 
       
  4385 
       
  4386 /*
       
  4387  * 	SYMTestCaseID TEL-SIMTSY-NA-8555
       
  4388  *
       
  4389  *	SYMREQ REQ7346
       
  4390  *
       
  4391  *	SYMTestCaseDesc Cancel for the LAUNCH BROWSER proactive command
       
  4392  *
       
  4393  *	SYMTestPriority High
       
  4394  *
       
  4395  *	SYMTestActions 
       
  4396  *		(i)	The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
       
  4397  *		(ii)	Issue cancellation of the Proactive command using the CancelAsyncRequest 
       
  4398  *			(ESatNotifyLaunchBrowserPCmd).
       
  4399  *
       
  4400  *	SYMTestExpectedResults 
       
  4401  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  4402  *
       
  4403  * 	SYMTestType CIT
       
  4404  */
       
  4405 
       
  4406 TInt CSimSatLnchBrwsr::testSAT8555L()
       
  4407 	{
       
  4408 	
       
  4409 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8555"));
       
  4410 
       
  4411 	TRequestStatus reqStatus;
       
  4412 	
       
  4413 	RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
       
  4414 	CleanupStack::PushL(tLnchBrwsr);
       
  4415 	
       
  4416 	RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
       
  4417 	CleanupStack::PushL(tLnchBrwsrPckg);
       
  4418 	
       
  4419 	iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
       
  4420 	iSat.CancelAsyncRequest(ESatNotifyLaunchBrowserPCmd);
       
  4421 	User::WaitForRequest(reqStatus);
       
  4422 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int()==KErrCancel));
       
  4423 	
       
  4424 	CleanupStack::PopAndDestroy(2);
       
  4425 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8555 - Successful"));
       
  4426 	
       
  4427 	return KErrNone;
       
  4428 	
       
  4429 	}
       
  4430 
       
  4431 CSimSatOpenChnl::CSimSatOpenChnl() 
       
  4432 	{ 
       
  4433 	SetTestStepName(_L("SatTestOpenChnl"));
       
  4434 	}
       
  4435 
       
  4436 TVerdict CSimSatOpenChnl::doTestStepL()
       
  4437 	{
       
  4438 	INFO_PRINTF1(_L("OPEN CHANNEL TESTING - START"));
       
  4439 
       
  4440  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  4441  	SetTestNumberL(0);
       
  4442 
       
  4443 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  4444 	TESTL(ret == KErrNone); 
       
  4445 	INFO_PRINTF1(_L("Opened phone object"));
       
  4446 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  4447 	INFO_PRINTF1(_L("Opened Sat object"));
       
  4448 
       
  4449 	testSAT8556L();	// For testing the TEL-SIMTSY-SAT-8556
       
  4450 	testSAT8557L();	// For testing the TEL-SIMTSY-SAT-8557
       
  4451 	testSAT8558L();	// For testing the TEL-SIMTSY-SAT-8558
       
  4452 	testSAT8559L();	// For testing the TEL-SIMTSY-SAT-8559
       
  4453 	
       
  4454 	iSat.Close();
       
  4455 	iPhone.Close();
       
  4456 	ASSERT(RThread().RequestCount()==0);
       
  4457 	
       
  4458 	INFO_PRINTF1(_L("OPEN CHANNEL TESTING - END"));
       
  4459 
       
  4460 	return TestStepResult();
       
  4461 	
       
  4462 	}
       
  4463 
       
  4464 
       
  4465 /*
       
  4466  * 	SYMTestCaseID TEL-SIMTSY-NA-8556
       
  4467  *
       
  4468  *	SYMREQ REQ7345
       
  4469  *
       
  4470  *	SYMTestCaseDesc R6 support for  “Open Channel using UTRAN packet service and HSDPA”
       
  4471  *
       
  4472  *	SYMTestPriority High
       
  4473  *
       
  4474  *	SYMTestActions 
       
  4475  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  4476  *		(ii)	Call the API RSat::ClientSatProfileIndication with the parameter as a reference of the
       
  4477  *			object RSat::TSatProfileV6 with the TSatProfileByte22 with KUtranAndHsdpaBearer set.
       
  4478  *		(iii)	The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
       
  4479  *		(iv)	The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the 
       
  4480  *			response parameter.
       
  4481  *
       
  4482  *	SYMTestExpectedResults 
       
  4483  *		Terminal response contains value as KSuccess in the response message.
       
  4484  *
       
  4485  * 	SYMTestType CIT
       
  4486  */
       
  4487 
       
  4488 TInt CSimSatOpenChnl::testSAT8556L()
       
  4489 	{
       
  4490 	
       
  4491 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8556"));
       
  4492 
       
  4493 	TRequestStatus reqStatus;
       
  4494 	
       
  4495 	RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
       
  4496 	CleanupStack::PushL(tOpenChnV6);
       
  4497 	
       
  4498 	RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
       
  4499 	CleanupStack::PushL(tOpenChnV6Pckg);
       
  4500 	
       
  4501 	iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
       
  4502 	User::WaitForRequest(reqStatus);
       
  4503 	TESTL(reqStatus.Int()==KErrNone);
       
  4504 	
       
  4505 	TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
       
  4506 	
       
  4507 	RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
       
  4508 	CleanupStack::PushL(tOpenChnRsp);
       
  4509 	
       
  4510 	RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
       
  4511 	CleanupStack::PushL(tOpenChnRspPckg);
       
  4512 	
       
  4513 	tOpenChnRsp->iGeneralResult = RSat::KSuccess;
       
  4514 	tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4515 	tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
       
  4516 
       
  4517 	iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
       
  4518 	User::WaitForRequest(reqStatus);
       
  4519 	TESTL(reqStatus.Int() == KErrNone);
       
  4520 	
       
  4521 	CleanupStack::PopAndDestroy(4);
       
  4522 
       
  4523 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8556 - Successful"));
       
  4524 	
       
  4525 	return KErrNone;
       
  4526 	}
       
  4527 
       
  4528 
       
  4529 /*
       
  4530  * 	SYMTestCaseID TEL-SIMTSY-NA-8557
       
  4531  *
       
  4532  *	SYMREQ REQ7345
       
  4533  *
       
  4534  *	SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with client
       
  4535  *			 responding busy on SS transaction or unable to activate a PDP context.
       
  4536  *
       
  4537  *	SYMTestPriority High
       
  4538  *
       
  4539  *	SYMTestActions 
       
  4540  *		(i)	The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
       
  4541  *		(ii)	The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the 
       
  4542  *			response parameter.
       
  4543  *			
       
  4544  *	SYMTestExpectedResults 
       
  4545  *		Terminal response contains value as KNetworkUnableToProcessCmd in the response message.
       
  4546  *
       
  4547  * 	SYMTestType CIT
       
  4548  */
       
  4549 
       
  4550 TInt CSimSatOpenChnl::testSAT8557L()
       
  4551 	{
       
  4552 	
       
  4553 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8557"));
       
  4554 
       
  4555 	TRequestStatus reqStatus;
       
  4556 	
       
  4557 	RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
       
  4558 	CleanupStack::PushL(tOpenChnV6);
       
  4559 	
       
  4560 	RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
       
  4561 	CleanupStack::PushL(tOpenChnV6Pckg);
       
  4562 	
       
  4563 	iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
       
  4564 	User::WaitForRequest(reqStatus);
       
  4565 	TESTL(reqStatus.Int()==KErrNone);
       
  4566 	
       
  4567 	TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
       
  4568 	
       
  4569 	RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
       
  4570 	CleanupStack::PushL(tOpenChnRsp);
       
  4571 	
       
  4572 	RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
       
  4573 	CleanupStack::PushL(tOpenChnRspPckg);
       
  4574 	
       
  4575 	_LIT(KText,"KNoSpecificMeProblem");
       
  4576 	TBuf<254> buf(KText);
       
  4577 	tOpenChnRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd ;
       
  4578 	tOpenChnRsp->iInfoType = RSat::KMeProblem;
       
  4579 	tOpenChnRsp->iAdditionalInfo = buf;
       
  4580 	tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
       
  4581 
       
  4582 	iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
       
  4583 	User::WaitForRequest(reqStatus);
       
  4584 	TESTL(reqStatus.Int() == KErrNone);
       
  4585 	
       
  4586 	CleanupStack::PopAndDestroy(4);
       
  4587 
       
  4588 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8557 - Successful"));
       
  4589 	
       
  4590 	return KErrNone;
       
  4591 	}
       
  4592 
       
  4593 
       
  4594 /*
       
  4595  * 	SYMTestCaseID TEL-SIMTSY-NA-8558 
       
  4596  *
       
  4597  *	SYMREQ REQ7345
       
  4598  *
       
  4599  *	SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with the terminal
       
  4600  *			 not able to activate a packet data service with the requested parameters.
       
  4601  *
       
  4602  *	SYMTestPriority High
       
  4603  *
       
  4604  *	SYMTestActions 
       
  4605  *		(i)	The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
       
  4606  *		(ii)	The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the 
       
  4607  *			response parameter
       
  4608  *
       
  4609  *	SYMTestExpectedResults 
       
  4610  *		Terminal response contains value as KPerformedWithModifications in the response message.
       
  4611  *
       
  4612  * 	SYMTestType CIT
       
  4613  */
       
  4614 
       
  4615 TInt CSimSatOpenChnl::testSAT8558L()
       
  4616 	{
       
  4617 	
       
  4618 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8558"));
       
  4619 
       
  4620 	TRequestStatus reqStatus;
       
  4621 	
       
  4622 	RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
       
  4623 	CleanupStack::PushL(tOpenChnV6);
       
  4624 	
       
  4625 	RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
       
  4626 	CleanupStack::PushL(tOpenChnV6Pckg);
       
  4627 	
       
  4628 	iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
       
  4629 	User::WaitForRequest(reqStatus);
       
  4630 	TESTL(reqStatus.Int()==KErrNone);
       
  4631 	
       
  4632 	TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
       
  4633 	
       
  4634 	RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
       
  4635 	CleanupStack::PushL(tOpenChnRsp);
       
  4636 	
       
  4637 	RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
       
  4638 	CleanupStack::PushL(tOpenChnRspPckg);
       
  4639 	
       
  4640 	tOpenChnRsp->iGeneralResult = RSat::KPerformedWithModifications;
       
  4641 	tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4642 	tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
       
  4643 
       
  4644 	iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
       
  4645 	User::WaitForRequest(reqStatus);
       
  4646 	TESTL(reqStatus.Int() == KErrNone);
       
  4647 	
       
  4648 	CleanupStack::PopAndDestroy(4);
       
  4649 
       
  4650 
       
  4651 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8558 - Successful"));
       
  4652 	
       
  4653 	return KErrNone;
       
  4654 	}
       
  4655 
       
  4656 
       
  4657 /*
       
  4658  * 	SYMTestCaseID TEL-SIMTSY-NA-8559
       
  4659  *
       
  4660  *	SYMREQ REQ7345
       
  4661  *
       
  4662  *	SYMTestCaseDesc Cancellation of the R6 support extended OPEN CHANNEL proactive command.
       
  4663  *
       
  4664  *	SYMTestPriority High
       
  4665  *
       
  4666  *	SYMTestActions 
       
  4667  *		(i)	The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
       
  4668  *		(ii)	Issue the cancel request using the API CancelAsyncRequest(ESatNotifyOpenChannelPCmd)
       
  4669  *
       
  4670  *	SYMTestExpectedResults 
       
  4671  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  4672  * 	SYMTestType CIT
       
  4673  */
       
  4674 
       
  4675 TInt CSimSatOpenChnl::testSAT8559L()
       
  4676 	{
       
  4677 	
       
  4678 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8559"));
       
  4679 
       
  4680 	TRequestStatus reqStatus;
       
  4681 	
       
  4682 	RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
       
  4683 	CleanupStack::PushL(tOpenChnV6);
       
  4684 	
       
  4685 	RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
       
  4686 	CleanupStack::PushL(tOpenChnV6Pckg);
       
  4687 	
       
  4688 	iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
       
  4689 	iSat.CancelAsyncRequest(ESatNotifyOpenChannelPCmd);
       
  4690 	User::WaitForRequest(reqStatus);
       
  4691 
       
  4692 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
       
  4693 	
       
  4694 	CleanupStack::PopAndDestroy(2);
       
  4695 	
       
  4696 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8559 - Successful"));
       
  4697 	
       
  4698 	return KErrNone;
       
  4699 	
       
  4700 	}
       
  4701 
       
  4702 
       
  4703 CSimSatPlayTone::CSimSatPlayTone() 
       
  4704 	{ 
       
  4705 	SetTestStepName(_L("SatTestPlayTone"));
       
  4706 	}
       
  4707 
       
  4708 TVerdict CSimSatPlayTone::doTestStepL()
       
  4709 	{
       
  4710 	INFO_PRINTF1(_L("PLAY TONE TESTING - START"));
       
  4711 
       
  4712  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  4713  	SetTestNumberL(0);
       
  4714 
       
  4715 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  4716 	TESTL(ret == KErrNone); 
       
  4717 	INFO_PRINTF1(_L("Opened phone object"));
       
  4718 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  4719 	INFO_PRINTF1(_L("Opened Sat object"));
       
  4720 
       
  4721 	testSAT8560L();	// For testing the TEL-SIMTSY-SAT-8560
       
  4722 	testSAT8561L();	// For testing the TEL-SIMTSY-SAT-8561
       
  4723 	testSAT8562L();	// For testing the TEL-SIMTSY-SAT-8562
       
  4724 	testSAT8563L();	// For testing the TEL-SIMTSY-SAT-8563
       
  4725 	
       
  4726 	iSat.Close();
       
  4727 	iPhone.Close();
       
  4728 	ASSERT(RThread().RequestCount()==0);
       
  4729 	
       
  4730 	INFO_PRINTF1(_L("PLAY TONE TESTING - END"));
       
  4731 
       
  4732 	return TestStepResult();
       
  4733 	
       
  4734 	}
       
  4735 
       
  4736 
       
  4737 /*
       
  4738  * 	SYMTestCaseID TEL-SIMTSY-NA-8560
       
  4739  *
       
  4740  *	SYMREQ REQ7342
       
  4741  *
       
  4742  *	SYMTestCaseDesc R6 support for “Play Tone” 
       
  4743  *
       
  4744  *	SYMTestPriority High
       
  4745  *
       
  4746  *	SYMTestActions 
       
  4747  *	(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
       
  4748  *	(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  4749  *	(iii)	The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd().
       
  4750  *	(iv)	The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the response parameter.
       
  4751  *
       
  4752  *	SYMTestExpectedResults 
       
  4753  *		Byte 22 of the Terminal profile will contain the extended play tone and shall contain value
       
  4754  *		KCapsPlayThemedAndMelodyTone.
       
  4755  *		The ME sends TERMINAL RESPONSE to the UICC.
       
  4756  *		Terminal response indicates the tone as been successfully played and will contain value as
       
  4757  *		KCommandPerformedSuccessfullyTone in the response package 
       
  4758  *		
       
  4759  * 	SYMTestType CIT
       
  4760  */
       
  4761 
       
  4762 TInt CSimSatPlayTone::testSAT8560L()
       
  4763 	{
       
  4764 	
       
  4765 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8560"));
       
  4766 
       
  4767 	TRequestStatus reqStatus;
       
  4768 	
       
  4769 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  4770 	
       
  4771 	CleanupStack::PushL(profileV6);
       
  4772 	
       
  4773 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  4774 	CleanupStack::PushL(profileV6Pckg);
       
  4775 
       
  4776 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  4777 	User::WaitForRequest(reqStatus);
       
  4778 	TESTL(reqStatus.Int()==KErrNone);
       
  4779 	
       
  4780 	TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsPlayThemedAndMelodyTone));
       
  4781 		
       
  4782 	TRequestStatus  trr = KErrNone;
       
  4783 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  4784 	TESTL(trr == KErrNone);
       
  4785 		
       
  4786 	RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
       
  4787 	CleanupStack::PushL(tPlayToneV6);
       
  4788 	
       
  4789 	RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
       
  4790 	CleanupStack::PushL(tPlayToneV6Pckg);
       
  4791 	
       
  4792 	iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
       
  4793 	User::WaitForRequest(reqStatus);
       
  4794 	TESTL(reqStatus.Int()==KErrNone);
       
  4795 	
       
  4796 	RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
       
  4797 	CleanupStack::PushL(tPlayToneRsp);
       
  4798 	
       
  4799 	RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
       
  4800 	CleanupStack::PushL(tPlayToneRspPckgV6);
       
  4801 	
       
  4802 	tPlayToneRsp->iGeneralResult = RSat::KPlayTonePerformedSuccessfully ;
       
  4803 	tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4804 	tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
       
  4805 
       
  4806 	iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
       
  4807 	User::WaitForRequest(reqStatus);
       
  4808 	TESTL(reqStatus.Int() == KErrNone);
       
  4809 	
       
  4810 	CleanupStack::PopAndDestroy(6);
       
  4811 	
       
  4812 	
       
  4813 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8560 - Successful"));
       
  4814 	
       
  4815 	return KErrNone;
       
  4816 	}
       
  4817 
       
  4818 
       
  4819 /*
       
  4820  * 	SYMTestCaseID TEL-SIMTSY-NA-8561
       
  4821  *
       
  4822  *	SYMREQ REQ7342
       
  4823  *
       
  4824  *	SYMTestCaseDesc R6 support for “Play Tone” when the user needs to terminate the session.
       
  4825  *
       
  4826  *	SYMTestPriority High
       
  4827  *
       
  4828  *	SYMTestActions 
       
  4829  *		(i)	The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
       
  4830  *		(ii)	The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the
       
  4831  *			response parameter
       
  4832  *
       
  4833  *	SYMTestExpectedResults 
       
  4834  *		The ME sends TERMINAL RESPONSE to the UICC.
       
  4835  *		Terminal response indicates that the session has been terminated by the user and will contain 
       
  4836  *		value as KSessionTerminatedByUser in the response package.
       
  4837  *
       
  4838  * 	SYMTestType CIT
       
  4839  */
       
  4840 
       
  4841 TInt CSimSatPlayTone::testSAT8561L()
       
  4842 	{
       
  4843 	
       
  4844 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8561"));
       
  4845 
       
  4846 	TRequestStatus reqStatus;
       
  4847 	
       
  4848 	RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
       
  4849 	CleanupStack::PushL(tPlayToneV6);
       
  4850 	
       
  4851 	RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
       
  4852 	CleanupStack::PushL(tPlayToneV6Pckg);
       
  4853 	
       
  4854 	iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
       
  4855 	User::WaitForRequest(reqStatus);
       
  4856 	TESTL(reqStatus.Int()==KErrNone);
       
  4857 	
       
  4858 	RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
       
  4859 	CleanupStack::PushL(tPlayToneRsp);
       
  4860 	
       
  4861 	RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
       
  4862 	CleanupStack::PushL(tPlayToneRspPckgV6);
       
  4863 	
       
  4864 	tPlayToneRsp->iGeneralResult = RSat::KPSessionTerminatedByUser;
       
  4865 	tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4866 	tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
       
  4867 
       
  4868 	iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
       
  4869 	User::WaitForRequest(reqStatus);
       
  4870 	TESTL(reqStatus.Int() == KErrNone);
       
  4871 	
       
  4872 	CleanupStack::PopAndDestroy(4);
       
  4873 	
       
  4874 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8561 - Successful"));
       
  4875 	
       
  4876 	return KErrNone;
       
  4877 	}
       
  4878 
       
  4879 
       
  4880 /*
       
  4881  * 	SYMTestCaseID TEL-SIMTSY-NA-8562
       
  4882  *
       
  4883  *	SYMREQ REQ7342
       
  4884  *
       
  4885  *	SYMTestCaseDesc R6 support for “Play Tone” when the terminal not supporting the requested tone to play.
       
  4886  *
       
  4887  *	SYMTestPriority High
       
  4888  *
       
  4889  *	SYMTestActions 
       
  4890  *		(i)	The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
       
  4891  *		(ii)	The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the 
       
  4892  *			response parameter.
       
  4893  *			
       
  4894  *	SYMTestExpectedResults 
       
  4895  *		The ME sends TERMINAL RESPONSE to the UICC.
       
  4896  *		Terminal response will contain KCmdBeyondMeCapabilities in the response package.
       
  4897  *
       
  4898  * 	SYMTestType CIT
       
  4899  */
       
  4900 
       
  4901 TInt CSimSatPlayTone::testSAT8562L()
       
  4902 	{
       
  4903 	
       
  4904 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8562"));
       
  4905 
       
  4906 	TRequestStatus reqStatus;
       
  4907 	
       
  4908 	RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
       
  4909 	CleanupStack::PushL(tPlayToneV6);
       
  4910 	
       
  4911 	RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
       
  4912 	CleanupStack::PushL(tPlayToneV6Pckg);
       
  4913 	
       
  4914 	iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
       
  4915 	User::WaitForRequest(reqStatus);
       
  4916 	TESTL(reqStatus.Int()==KErrNone);
       
  4917 	
       
  4918 	RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
       
  4919 	CleanupStack::PushL(tPlayToneRsp);
       
  4920 	
       
  4921 	RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
       
  4922 	CleanupStack::PushL(tPlayToneRspPckgV6);
       
  4923 	
       
  4924 	tPlayToneRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
       
  4925 	tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  4926 	tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
       
  4927 
       
  4928 	iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
       
  4929 	User::WaitForRequest(reqStatus);
       
  4930 	TESTL(reqStatus.Int() == KErrNone);
       
  4931 	
       
  4932 	CleanupStack::PopAndDestroy(4);
       
  4933 	
       
  4934 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8562 - Successful"));
       
  4935 	
       
  4936 	return KErrNone;
       
  4937 	}
       
  4938 
       
  4939 
       
  4940 /*
       
  4941  * 	SYMTestCaseID TEL-SIMTSY-NA-8563
       
  4942  *
       
  4943  *	SYMREQ REQ7342
       
  4944  *
       
  4945  *	SYMTestCaseDesc Cancellation R6 support for “Play Tone”
       
  4946  *
       
  4947  *	SYMTestPriority High
       
  4948  *
       
  4949  *	SYMTestActions 
       
  4950  *		(i)	The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
       
  4951  *		(ii)	Cancel the previously placed Notification request with the API 
       
  4952  *			RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
       
  4953  *
       
  4954  *	SYMTestExpectedResults 
       
  4955  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  4956  *
       
  4957  * 	SYMTestType CIT
       
  4958  */
       
  4959 
       
  4960 TInt CSimSatPlayTone::testSAT8563L()
       
  4961 	{
       
  4962 	
       
  4963 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8563"));
       
  4964 
       
  4965 	TRequestStatus reqStatus;
       
  4966 	
       
  4967 	RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
       
  4968 	CleanupStack::PushL(tPlayToneV6);
       
  4969 	
       
  4970 	RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
       
  4971 	CleanupStack::PushL(tPlayToneV6Pckg);
       
  4972 	
       
  4973 	iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
       
  4974 	iSat.CancelAsyncRequest(ESatNotifyPlayTonePCmd);
       
  4975 	User::WaitForRequest(reqStatus);
       
  4976 	
       
  4977 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  4978 	
       
  4979 	CleanupStack::PopAndDestroy(2);
       
  4980 	
       
  4981 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8563 - Successful"));
       
  4982 	
       
  4983 	return KErrNone;
       
  4984 	}
       
  4985 
       
  4986 CSimSatSetupCall::CSimSatSetupCall() 
       
  4987 	{ 
       
  4988 	SetTestStepName(_L("SatTestSetupCall"));
       
  4989 	}
       
  4990 
       
  4991 TVerdict CSimSatSetupCall::doTestStepL()
       
  4992 	{
       
  4993 	INFO_PRINTF1(_L("SETUP CALL TESTING - START"));
       
  4994 
       
  4995  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  4996  	SetTestNumberL(0);
       
  4997 
       
  4998 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  4999 	TESTL(ret == KErrNone); 
       
  5000 	INFO_PRINTF1(_L("Opened phone object"));
       
  5001 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  5002 	INFO_PRINTF1(_L("Opened Sat object"));
       
  5003 
       
  5004 	testSAT8564L();	// For testing the TEL-SIMTSY-SAT-8564
       
  5005 	testSAT8565L();	// For testing the TEL-SIMTSY-SAT-8565
       
  5006 	testSAT8566L();	// For testing the TEL-SIMTSY-SAT-8566
       
  5007 	testSAT8567L();	// For testing the TEL-SIMTSY-SAT-8567
       
  5008 	testSAT8568L();	// For testing the TEL-SIMTSY-SAT-8568
       
  5009 	
       
  5010 	iSat.Close();
       
  5011 	iPhone.Close();
       
  5012 	ASSERT(RThread().RequestCount()==0);
       
  5013 	
       
  5014 	INFO_PRINTF1(_L("SETUP CALL TESTING - END"));
       
  5015 
       
  5016 	return TestStepResult();
       
  5017 	
       
  5018 	}
       
  5019 
       
  5020 
       
  5021 /*
       
  5022  * 	SYMTestCaseID TEL-SIMTSY-NA-8564
       
  5023  *
       
  5024  *	SYMREQ REQ7499
       
  5025  *
       
  5026  *	SYMTestCaseDesc R6 support for “Set up Call”
       
  5027  *
       
  5028  *	SYMTestPriority High
       
  5029  *
       
  5030  *	SYMTestActions 
       
  5031  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5032  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5033  *		(iii)	The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
       
  5034  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5035  *
       
  5036  *	SYMTestExpectedResults 
       
  5037  *		Byte 22 of the Terminal profile shall contain support for multimedia call with value
       
  5038  *		 KCapsSetUpCallMultimediaCall.
       
  5039  *		Terminal response holds value KSuccess, in the Response package indicating the call has
       
  5040  *		been successfully established.
       
  5041  *
       
  5042  * 	SYMTestType CIT
       
  5043  */
       
  5044 
       
  5045 TInt CSimSatSetupCall::testSAT8564L()
       
  5046 	{
       
  5047 	
       
  5048 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8564"));
       
  5049 
       
  5050 	TRequestStatus reqStatus;
       
  5051 	
       
  5052 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  5053 	CleanupStack::PushL(profileV6);
       
  5054 	
       
  5055 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  5056 	CleanupStack::PushL(profileV6Pckg);
       
  5057 
       
  5058 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  5059 	User::WaitForRequest(reqStatus);
       
  5060 	TESTL(reqStatus.Int()==KErrNone);
       
  5061 	
       
  5062 	TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsSetUpCallMultimediaCall));
       
  5063 		
       
  5064 	TRequestStatus  trr = KErrNone;
       
  5065 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  5066 	TESTL(trr == KErrNone);
       
  5067 		
       
  5068 	RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
       
  5069 	CleanupStack::PushL(tSetupCallV6);
       
  5070 	
       
  5071 	RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
       
  5072 	CleanupStack::PushL(tSetupCallV6Pckg);
       
  5073 	
       
  5074 	iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
       
  5075 	User::WaitForRequest(reqStatus);
       
  5076 	TESTL(reqStatus.Int()==KErrNone);
       
  5077 	
       
  5078 	RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
       
  5079 	CleanupStack::PushL(tSetupCallRsp);
       
  5080 	
       
  5081 	RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
       
  5082 	CleanupStack::PushL(tSetupCallRspPckgV6);
       
  5083 	
       
  5084 	tSetupCallRsp->iGeneralResult = RSat::KSuccess;
       
  5085 	tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  5086 	tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
       
  5087 
       
  5088 	iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
       
  5089 	User::WaitForRequest(reqStatus);
       
  5090 	TESTL(reqStatus.Int() == KErrNone);
       
  5091 	
       
  5092 	CleanupStack::PopAndDestroy(6);
       
  5093 	
       
  5094 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8564 - Successful"));
       
  5095 	
       
  5096 	return KErrNone;
       
  5097 	
       
  5098 	}
       
  5099 
       
  5100 /*
       
  5101  * 	SYMTestCaseID TEL-SIMTSY-NA-8565
       
  5102  *
       
  5103  *	SYMREQ REQ7499
       
  5104  *
       
  5105  *	SYMTestCaseDesc R6 support for “Set up Call” with the ME not having the capabilities of
       
  5106  *			 setting up a multimedia call
       
  5107  *
       
  5108  *	SYMTestPriority High
       
  5109  *
       
  5110  *	SYMTestActions 
       
  5111  *		(i)	The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
       
  5112  *		(ii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5113  *
       
  5114  *	SYMTestExpectedResults 
       
  5115  *		Terminal response holds value KCmdBeyondMeCapabilities in the Response package indicating 
       
  5116  *		the terminal is not capable of executing the Proactive command.
       
  5117  *
       
  5118  * 	SYMTestType CIT
       
  5119  */
       
  5120  
       
  5121 TInt CSimSatSetupCall::testSAT8565L()
       
  5122 	{
       
  5123 	
       
  5124 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8565"));
       
  5125 
       
  5126 	TRequestStatus reqStatus;
       
  5127 	
       
  5128 	RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
       
  5129 	CleanupStack::PushL(tSetupCallV6);
       
  5130 	
       
  5131 	RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
       
  5132 	CleanupStack::PushL(tSetupCallV6Pckg);
       
  5133 	
       
  5134 	iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
       
  5135 	User::WaitForRequest(reqStatus);
       
  5136 	TESTL(reqStatus.Int()==KErrNone);
       
  5137 	
       
  5138 	RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
       
  5139 	CleanupStack::PushL(tSetupCallRsp);
       
  5140 	
       
  5141 	RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
       
  5142 	CleanupStack::PushL(tSetupCallRspPckgV6);
       
  5143 	
       
  5144 	tSetupCallRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
       
  5145 	tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  5146 	tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
       
  5147 
       
  5148 	iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
       
  5149 	User::WaitForRequest(reqStatus);
       
  5150 	TESTL(reqStatus.Int() == KErrNone);
       
  5151 	
       
  5152 	CleanupStack::PopAndDestroy(4);
       
  5153 	
       
  5154 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8565 - Successful"));
       
  5155 	
       
  5156 	return KErrNone;
       
  5157 	
       
  5158 	}
       
  5159 
       
  5160 /*
       
  5161  * 	SYMTestCaseID TEL-SIMTSY-NA-8566
       
  5162  *
       
  5163  *	SYMREQ REQ7499
       
  5164  *
       
  5165  *	SYMTestCaseDesc R6 support for “Set up Call” with the ME not able to process the command as
       
  5166  *			 it is busy on another call
       
  5167  *
       
  5168  *	SYMTestPriority High
       
  5169  *
       
  5170  *	SYMTestActions 
       
  5171  *		(i)	The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
       
  5172  *		(ii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5173  *		
       
  5174  *	SYMTestExpectedResults 
       
  5175  *		Terminal response holds value KMeUnableToProcessCmd in the Response package indicating the
       
  5176  *		 terminal is not capable of executing the Proactive command.
       
  5177  *
       
  5178  * 	SYMTestType CIT
       
  5179  */
       
  5180  
       
  5181 TInt CSimSatSetupCall::testSAT8566L()
       
  5182 	{
       
  5183 	
       
  5184 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8566"));
       
  5185 
       
  5186 	TRequestStatus reqStatus;
       
  5187 	
       
  5188 	RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
       
  5189 	CleanupStack::PushL(tSetupCallV6);
       
  5190 	
       
  5191 	RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
       
  5192 	CleanupStack::PushL(tSetupCallV6Pckg);
       
  5193 	
       
  5194 	iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
       
  5195 	User::WaitForRequest(reqStatus);
       
  5196 	TESTL(reqStatus.Int()==KErrNone);
       
  5197 	
       
  5198 	RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
       
  5199 	CleanupStack::PushL(tSetupCallRsp);
       
  5200 	
       
  5201 	RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
       
  5202 	CleanupStack::PushL(tSetupCallRspPckgV6);
       
  5203 	
       
  5204 	_LIT(KText,"KMeBusyOnCall");
       
  5205 	TBuf<254> buf(KText);
       
  5206 	tSetupCallRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  5207 	tSetupCallRsp->iInfoType = RSat::KMeProblem;
       
  5208 	tSetupCallRsp->iAdditionalInfo = buf;
       
  5209 	tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
       
  5210 
       
  5211 	iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
       
  5212 	User::WaitForRequest(reqStatus);
       
  5213 	TESTL(reqStatus.Int() == KErrNone);
       
  5214 	
       
  5215 	CleanupStack::PopAndDestroy(4);
       
  5216 	
       
  5217 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8566 - Successful"));
       
  5218 	
       
  5219 	return KErrNone;
       
  5220 	
       
  5221 	}
       
  5222 
       
  5223 /*
       
  5224  * 	SYMTestCaseID TEL-SIMTSY-NA-8567
       
  5225  *
       
  5226  *	SYMREQ REQ7499
       
  5227  *
       
  5228  *	SYMTestCaseDesc R6 support for “Set up Call” when the terminal is not able to establish a call.
       
  5229  *
       
  5230  *	SYMTestPriority High
       
  5231  *
       
  5232  *	SYMTestActions 
       
  5233  *		(i)	The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
       
  5234  *			 with the iDuration (time to redial) set to a valid duration for the redial.
       
  5235  *		(ii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5236  *
       
  5237  *	SYMTestExpectedResults 
       
  5238  *		Terminal response holds value KNetworkUnableToProcessCmd in the Response package indicating 
       
  5239  *		the terminal is not able to establish the call.
       
  5240  *
       
  5241  * 	SYMTestType CIT
       
  5242  */
       
  5243  
       
  5244 TInt CSimSatSetupCall::testSAT8567L()
       
  5245 	{
       
  5246 	
       
  5247 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8567"));
       
  5248 
       
  5249 	TRequestStatus reqStatus;
       
  5250 	
       
  5251 	RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
       
  5252 	CleanupStack::PushL(tSetupCallV6);
       
  5253 	
       
  5254 	RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
       
  5255 	CleanupStack::PushL(tSetupCallV6Pckg);
       
  5256 	
       
  5257 	iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
       
  5258 	User::WaitForRequest(reqStatus);
       
  5259 	TESTL(reqStatus.Int()==KErrNone);
       
  5260 	
       
  5261 	RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
       
  5262 	CleanupStack::PushL(tSetupCallRsp);
       
  5263 	
       
  5264 	RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
       
  5265 	CleanupStack::PushL(tSetupCallRspPckgV6);
       
  5266 	
       
  5267 	_LIT(KText,"KMeBusyOnCall");
       
  5268 	TBuf<254> buf(KText);
       
  5269 	tSetupCallRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd;
       
  5270 	tSetupCallRsp->iInfoType = RSat::KMeProblem;
       
  5271 	tSetupCallRsp->iAdditionalInfo = buf;
       
  5272 	tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
       
  5273 
       
  5274 	iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
       
  5275 	User::WaitForRequest(reqStatus);
       
  5276 	TESTL(reqStatus.Int() == KErrNone);
       
  5277 	
       
  5278 	CleanupStack::PopAndDestroy(4);
       
  5279 	
       
  5280 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8567 - Successful"));
       
  5281 	
       
  5282 	return KErrNone;
       
  5283 	
       
  5284 	}
       
  5285 
       
  5286 /*
       
  5287  * 	SYMTestCaseID TEL-SIMTSY-NA-8568
       
  5288  *
       
  5289  *	SYMREQ REQ7499
       
  5290  *
       
  5291  *	SYMTestCaseDesc Cancellation of the proactive command “Set up Call” with R6 support.
       
  5292  *
       
  5293  *	SYMTestPriority High
       
  5294  *
       
  5295  *	SYMTestActions 
       
  5296  *		(i)	The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
       
  5297  *		(ii)	Cancel the previously placed Notification request with the API
       
  5298  *			 RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
       
  5299  *
       
  5300  *	SYMTestExpectedResults 
       
  5301  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  5302  * 	SYMTestType CIT
       
  5303  */
       
  5304  
       
  5305 TInt CSimSatSetupCall::testSAT8568L()
       
  5306 	{
       
  5307 	
       
  5308 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8568"));
       
  5309 
       
  5310 	TRequestStatus reqStatus;
       
  5311 	
       
  5312 	RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
       
  5313 	CleanupStack::PushL(tSetupCallV6);
       
  5314 	
       
  5315 	RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
       
  5316 	CleanupStack::PushL(tSetupCallV6Pckg);
       
  5317 	
       
  5318 	iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
       
  5319 	iSat.CancelAsyncRequest(ESatNotifySetUpCallPCmd);
       
  5320 	User::WaitForRequest(reqStatus);
       
  5321 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  5322 	
       
  5323 	CleanupStack::PopAndDestroy(2);
       
  5324 	
       
  5325 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8568 - Successful"));
       
  5326 	
       
  5327 	return KErrNone;
       
  5328 	
       
  5329 	}
       
  5330 
       
  5331 CSimSatRefresh::CSimSatRefresh() 
       
  5332 	{ 
       
  5333 	SetTestStepName(_L("SatTestRefresh"));
       
  5334 	}
       
  5335 
       
  5336 TVerdict CSimSatRefresh::doTestStepL()
       
  5337 	{
       
  5338 	INFO_PRINTF1(_L("REFRESH COMMAND TESTING - START"));
       
  5339 
       
  5340  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  5341  	SetTestNumberL(0);
       
  5342 
       
  5343 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  5344 	TESTL(ret == KErrNone); 
       
  5345 	INFO_PRINTF1(_L("Opened phone object"));
       
  5346 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  5347 	INFO_PRINTF1(_L("Opened Sat object"));
       
  5348 
       
  5349 	testSAT8569L();	// For testing the TEL-SIMTSY-SAT-8569
       
  5350 	testSAT8570L();	// For testing the TEL-SIMTSY-SAT-8570
       
  5351 	testSAT8571L();	// For testing the TEL-SIMTSY-SAT-8571
       
  5352 
       
  5353 	iSat.Close();
       
  5354 	iPhone.Close();
       
  5355 	ASSERT(RThread().RequestCount()==0);
       
  5356 	
       
  5357 	INFO_PRINTF1(_L("REFRESH COMMAND TESTING - END"));
       
  5358 
       
  5359 	return TestStepResult();
       
  5360 	
       
  5361 	}
       
  5362 
       
  5363 /*
       
  5364  * 	SYMTestCaseID TEL-SIMTSY-NA-8569
       
  5365  *
       
  5366  *	SYMREQ REQ7339
       
  5367  *
       
  5368  *	SYMTestCaseDesc R6 support for “Refresh” command in the USIM Initialisation and File Change Notification Mode.
       
  5369  *
       
  5370  *	SYMTestPriority High
       
  5371  *
       
  5372  *	SYMTestActions 
       
  5373  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5374  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5375  *		(iii)	The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd () with the 
       
  5376  *			TRefreshType = ESimInitFileChangeNotification in the TRefreshV6 class parameter.
       
  5377  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5378  *
       
  5379  *	SYMTestExpectedResults 
       
  5380  *		Byte 22 of the Terminal profile shall contain support for multimedia call with value KCapsRefreshGBA
       
  5381  *		Terminal response contains value as KSuccess, in the Response package.
       
  5382  *
       
  5383  * 	SYMTestType CIT
       
  5384  */
       
  5385  
       
  5386 TInt CSimSatRefresh::testSAT8569L()
       
  5387 	{
       
  5388 	
       
  5389 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8569"));
       
  5390 
       
  5391 	TRequestStatus reqStatus;
       
  5392 	
       
  5393 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  5394 	CleanupStack::PushL(profileV6);
       
  5395 	
       
  5396 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  5397 	CleanupStack::PushL(profileV6Pckg);
       
  5398 
       
  5399 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  5400 	User::WaitForRequest(reqStatus);
       
  5401 	TESTL(reqStatus.Int()==KErrNone);
       
  5402 	
       
  5403 	TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsRefreshGBA));
       
  5404 		
       
  5405 	TRequestStatus  trr = KErrNone;
       
  5406 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  5407 	TESTL(trr == KErrNone);
       
  5408 		
       
  5409 	RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
       
  5410 	CleanupStack::PushL(tRefreshV6);
       
  5411 	tRefreshV6->iType = RSat::E3GSessionReset;
       
  5412 	
       
  5413 	RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
       
  5414 	CleanupStack::PushL(tRefreshV6Pckg);
       
  5415 		
       
  5416 	iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
       
  5417 	User::WaitForRequest(reqStatus);
       
  5418 	TESTL(reqStatus.Int()==KErrNone);
       
  5419 	
       
  5420 	TESTL((tRefreshV6->iType == RSat::ESimInitFileChangeNotification) || 
       
  5421 	    	(tRefreshV6->iType == RSat::EFileChangeNotification) ||
       
  5422 			(tRefreshV6->iType == RSat::E3GSessionReset));
       
  5423 	
       
  5424 	RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
       
  5425 	CleanupStack::PushL(tRefreshRsp);
       
  5426 	
       
  5427 	RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
       
  5428 	CleanupStack::PushL(tRefreshRspPckgV6);
       
  5429 	
       
  5430 	tRefreshRsp->iGeneralResult = RSat::KSuccess;
       
  5431 	tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  5432 	tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
       
  5433 
       
  5434 	iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
       
  5435 	User::WaitForRequest(reqStatus);
       
  5436 	TESTL(reqStatus.Int() == KErrNone);
       
  5437 	
       
  5438 	CleanupStack::PopAndDestroy(6);
       
  5439 	
       
  5440 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8569 - Successful"));
       
  5441 	
       
  5442 	return KErrNone;
       
  5443 	}
       
  5444 
       
  5445 /*
       
  5446  * 	SYMTestCaseID TEL-SIMTSY-NA-8570
       
  5447  *
       
  5448  *	SYMREQ REQ7339
       
  5449  *
       
  5450  *	SYMTestCaseDesc R6 support for “Refresh” command in the USIM Application Reset mode.
       
  5451  *
       
  5452  *	SYMTestPriority High
       
  5453  *
       
  5454  *	SYMTestActions 
       
  5455  *		(i)	The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd () 
       
  5456  *			with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
       
  5457  *		(ii)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  5458  *
       
  5459  *	SYMTestExpectedResults 
       
  5460  *		Terminal response contains value as KMeUnableToProcessCmd, in the Response package.
       
  5461  *
       
  5462  * 	SYMTestType CIT
       
  5463  */
       
  5464  
       
  5465 TInt CSimSatRefresh::testSAT8570L()
       
  5466 	{
       
  5467 	
       
  5468 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8570"));
       
  5469 
       
  5470 	TRequestStatus reqStatus;
       
  5471 	
       
  5472 	RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
       
  5473 	CleanupStack::PushL(tRefreshV6);
       
  5474 	tRefreshV6->iType = RSat::EFileChangeNotification;
       
  5475 	
       
  5476 	RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
       
  5477 	CleanupStack::PushL(tRefreshV6Pckg); 
       
  5478 	
       
  5479 	iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
       
  5480 	User::WaitForRequest(reqStatus);
       
  5481 	TESTL(reqStatus.Int()==KErrNone);
       
  5482 	
       
  5483 	TESTL(tRefreshV6->iType == RSat::EUsimApplicationReset);
       
  5484 	
       
  5485 	RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
       
  5486 	CleanupStack::PushL(tRefreshRsp);
       
  5487 	
       
  5488 	RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
       
  5489 	CleanupStack::PushL(tRefreshRspPckgV6);
       
  5490 	
       
  5491 	tRefreshRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  5492 	tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  5493 	tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
       
  5494 
       
  5495 	iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
       
  5496 	User::WaitForRequest(reqStatus);
       
  5497 	TESTL(reqStatus.Int() == KErrNone);
       
  5498 	
       
  5499 	CleanupStack::PopAndDestroy(4);
       
  5500 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8570 - Successful"));
       
  5501 	
       
  5502 	return KErrNone;
       
  5503 	}
       
  5504 
       
  5505 /*
       
  5506  * 	SYMTestCaseID TEL-SIMTSY-NA-8571
       
  5507  *
       
  5508  *	SYMREQ  REQ7339
       
  5509  *
       
  5510  *	SYMTestCaseDesc Cancellation of the Proactive command “Refresh” command with R6 support.
       
  5511  *
       
  5512  *	SYMTestPriority High
       
  5513  *
       
  5514  *	SYMTestActions 
       
  5515  *		(i)	The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd() 
       
  5516  *			with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
       
  5517  *		(ii)	Cancel the previously placed Notification request with the API 
       
  5518  *			RSat::CancelAsyncRequest(ESatNotifyRefreshPCmd).
       
  5519  *
       
  5520  *	SYMTestExpectedResults 
       
  5521  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  5522  * 	SYMTestType CIT
       
  5523  */
       
  5524  
       
  5525 TInt CSimSatRefresh::testSAT8571L()
       
  5526 	{
       
  5527 	
       
  5528 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8571"));
       
  5529 
       
  5530 	TRequestStatus reqStatus;
       
  5531 	
       
  5532 	RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
       
  5533 	CleanupStack::PushL(tRefreshV6);
       
  5534 	tRefreshV6->iType = RSat::E3GSessionReset;
       
  5535 	
       
  5536 	RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
       
  5537 	CleanupStack::PushL(tRefreshV6Pckg);
       
  5538 	
       
  5539 	iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
       
  5540 	iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
       
  5541 	User::WaitForRequest(reqStatus);
       
  5542 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  5543 	
       
  5544 	CleanupStack::PopAndDestroy(2);
       
  5545 	
       
  5546 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8571 - Successful"));
       
  5547 	
       
  5548 	return KErrNone;
       
  5549 	}
       
  5550 
       
  5551 
       
  5552 CSimSatEventDnld::CSimSatEventDnld() 
       
  5553 	{ 
       
  5554 	SetTestStepName(_L("SatTestRefresh"));
       
  5555 	}
       
  5556 
       
  5557 TVerdict CSimSatEventDnld::doTestStepL()
       
  5558 	{
       
  5559 	INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - START"));
       
  5560 
       
  5561  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  5562  	SetTestNumberL(0);
       
  5563 
       
  5564 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  5565 	TESTL(ret == KErrNone); 
       
  5566 	INFO_PRINTF1(_L("Opened phone object"));
       
  5567 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  5568 	INFO_PRINTF1(_L("Opened Sat object"));
       
  5569 
       
  5570 	testSAT8572L();	// For testing the TEL-SIMTSY-SAT-8572
       
  5571 	testSAT8573L();	// For testing the TEL-SIMTSY-SAT-8573
       
  5572 	testSAT8574L();	// For testing the TEL-SIMTSY-SAT-8574
       
  5573 	testSAT8575L();	// For testing the TEL-SIMTSY-SAT-8575
       
  5574 	testSAT8576L();	// For testing the TEL-SIMTSY-SAT-8576
       
  5575 	testSAT8577L();	// For testing the TEL-SIMTSY-SAT-8577
       
  5576 
       
  5577 	iSat.Close();
       
  5578 	iPhone.Close();
       
  5579 	ASSERT(RThread().RequestCount()==0);
       
  5580 	
       
  5581 	INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - END"));
       
  5582 
       
  5583 	return TestStepResult();
       
  5584 	
       
  5585 	}
       
  5586 
       
  5587 /*
       
  5588  * 	SYMTestCaseID TEL-SIMTSY-NA-8572
       
  5589  *
       
  5590  *	SYMREQ REQ7343
       
  5591  *
       
  5592  *	SYMTestCaseDesc EVENT DOWNLOAD Network Search Mode Change
       
  5593  *
       
  5594  *	SYMTestPriority High
       
  5595  *
       
  5596  *	SYMTestActions 
       
  5597  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5598  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5599  *		(iii)	The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
       
  5600  *			eventlist as KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
       
  5601  *	
       
  5602  *	SYMTestExpectedResults 
       
  5603  *		Byte 6 of the Terminal profile shall contain support for multimedia call with value 
       
  5604  *		KCapsNetworkSearchModeChangeEvent.
       
  5605  *		The EventDownload request completes successfully with KErrNone.
       
  5606  *
       
  5607  * 	SYMTestType CIT
       
  5608  */
       
  5609  
       
  5610 TInt CSimSatEventDnld::testSAT8572L()
       
  5611 	{
       
  5612 	
       
  5613 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8572"));
       
  5614 
       
  5615 	TRequestStatus reqStatus;
       
  5616 	
       
  5617 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  5618 	CleanupStack::PushL(profileV6);
       
  5619 	
       
  5620 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  5621 	CleanupStack::PushL(profileV6Pckg);
       
  5622 
       
  5623 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  5624 	User::WaitForRequest(reqStatus);
       
  5625 	TESTL(reqStatus.Int()==KErrNone);
       
  5626 	
       
  5627 	TESTL((profileV6->iSatProfileByte6) & (RSat::KCapsNetworkSearchModeChangeEvent));
       
  5628 		
       
  5629 	TRequestStatus  trr = KErrNone;
       
  5630 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  5631 	TESTL(trr == KErrNone);
       
  5632 		
       
  5633 	RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
       
  5634 	CleanupStack::PushL(tEventDnldV6);
       
  5635 	
       
  5636 	RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
       
  5637 		RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
       
  5638 	CleanupStack::PushL(tEventDnldV6Pckg);
       
  5639 	
       
  5640 	tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
       
  5641 	
       
  5642 	iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
       
  5643 	User::WaitForRequest(reqStatus);
       
  5644 	TESTL(reqStatus.Int() == KErrNone);
       
  5645  
       
  5646 	CleanupStack::PopAndDestroy(4);
       
  5647 	
       
  5648 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8572 - Successful"));
       
  5649 	
       
  5650 	return KErrNone;
       
  5651 	}
       
  5652 
       
  5653 /*
       
  5654  * 	SYMTestCaseID TEL-SIMTSY-NA-8573
       
  5655  *
       
  5656  *	SYMREQ REQ7343
       
  5657  *
       
  5658  *	SYMTestCaseDesc Cancellation of EVENT DOWNLOAD Network Search Mode Change
       
  5659  *
       
  5660  *	SYMTestPriority High
       
  5661  *
       
  5662  *	SYMTestActions 
       
  5663  *		(i)	The client notifies the ME for the EVENT DOWNLOAD using the RSat:: EventDownload () with the 
       
  5664  *			TEventList = KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
       
  5665  *		(ii)	Cancel the placed request using RSat::CancelAsyncRequest(ESatEventDownload).
       
  5666  *
       
  5667  *	SYMTestExpectedResults 
       
  5668  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  5669  * 	SYMTestType CIT
       
  5670  */
       
  5671  
       
  5672 TInt CSimSatEventDnld::testSAT8573L()
       
  5673 	{
       
  5674 	
       
  5675 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8573"));
       
  5676 
       
  5677 	TRequestStatus reqStatus;
       
  5678 	
       
  5679 	RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
       
  5680 	
       
  5681 	CleanupStack::PushL(tEventDnldV6);
       
  5682 	
       
  5683 	RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
       
  5684 		RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
       
  5685 	CleanupStack::PushL(tEventDnldV6Pckg);
       
  5686 	
       
  5687 	tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
       
  5688 	
       
  5689 	iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
       
  5690 	iSat.CancelAsyncRequest(ESatEventDownload);
       
  5691 	User::WaitForRequest(reqStatus);
       
  5692 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
       
  5693 
       
  5694 	CleanupStack::PopAndDestroy(2);
       
  5695 	
       
  5696 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8573 - Successful"));
       
  5697 	
       
  5698 	return KErrNone;
       
  5699 
       
  5700 	}
       
  5701 
       
  5702 /*
       
  5703  * 	SYMTestCaseID TEL-SIMTSY-NA-8574
       
  5704  *
       
  5705  *	SYMREQ REQ7343
       
  5706  *
       
  5707  *	SYMTestCaseDesc EVENT DOWNLOAD Browsing Status Change
       
  5708  *
       
  5709  *	SYMTestPriority High
       
  5710  *
       
  5711  *	SYMTestActions 
       
  5712  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5713  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5714  *		(iii)	The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the 
       
  5715  *			eventlist as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
       
  5716  *
       
  5717  *	SYMTestExpectedResults 
       
  5718  *		The EventDownload request completes successfully with KErrNone.
       
  5719  *
       
  5720  * 	SYMTestType CIT
       
  5721  */
       
  5722  
       
  5723 TInt CSimSatEventDnld::testSAT8574L()
       
  5724 	{
       
  5725 	
       
  5726 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8574"));
       
  5727 	
       
  5728 	TRequestStatus reqStatus = KErrNone;
       
  5729 
       
  5730 	RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
       
  5731 	CleanupStack::PushL(tBrwStsV6);
       
  5732 	
       
  5733 	RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
       
  5734 	CleanupStack::PushL(tBrwStsV6Pckg);
       
  5735 	
       
  5736 	tBrwStsV6->iBrowserStatus = 0x02;
       
  5737 	
       
  5738 	iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
       
  5739 	User::WaitForRequest(reqStatus);
       
  5740 	TESTL(reqStatus.Int() == KErrNone);
       
  5741 
       
  5742 	CleanupStack::PopAndDestroy(2);
       
  5743 		
       
  5744 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8574 - Successful"));
       
  5745 	
       
  5746 	return KErrNone;
       
  5747 
       
  5748 	}
       
  5749 
       
  5750 /*
       
  5751  * 	SYMTestCaseID TEL-SIMTSY-NA-8575
       
  5752  *
       
  5753  *	SYMREQ REQ7343
       
  5754  *
       
  5755  *	SYMTestCaseDesc Cancellation of the EVENT DOWNLOAD command of Browsing Status Change
       
  5756  *
       
  5757  *	SYMTestPriority High
       
  5758  *
       
  5759  *	SYMTestActions 
       
  5760  *		(i)	The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () 
       
  5761  *			with the TEventList as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
       
  5762  *		(ii)	Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload).
       
  5763  *
       
  5764  *	SYMTestExpectedResults 
       
  5765  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  5766  *
       
  5767  * 	SYMTestType CIT
       
  5768  */
       
  5769  
       
  5770 TInt CSimSatEventDnld::testSAT8575L()
       
  5771 	{
       
  5772 	
       
  5773 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8575"));
       
  5774 
       
  5775 	TRequestStatus reqStatus;
       
  5776 	
       
  5777 	RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
       
  5778 	CleanupStack::PushL(tBrwStsV6);
       
  5779 	
       
  5780 	RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
       
  5781 	CleanupStack::PushL(tBrwStsV6Pckg);
       
  5782 	
       
  5783 	tBrwStsV6->iBrowserStatus = 0x05;
       
  5784 	
       
  5785 	iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
       
  5786 	iSat.CancelAsyncRequest(ESatEventDownload);
       
  5787 	User::WaitForRequest(reqStatus);
       
  5788 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
       
  5789 
       
  5790 	CleanupStack::PopAndDestroy(2);
       
  5791 	
       
  5792 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8575 - Successful"));
       
  5793 	
       
  5794 	return KErrNone;
       
  5795 	}
       
  5796 
       
  5797 /*
       
  5798  * 	SYMTestCaseID TEL-SIMTSY-NA-8576
       
  5799  *
       
  5800  *	SYMREQ REQ7343
       
  5801  *
       
  5802  *	SYMTestCaseDesc EVENT DOWNLOAD Frames Information Change
       
  5803  *
       
  5804  *	SYMTestPriority High
       
  5805  *
       
  5806  *	SYMTestActions 
       
  5807  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5808  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5809  *		(iii)	The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
       
  5810  *			eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
       
  5811  *
       
  5812  *	SYMTestExpectedResults 
       
  5813  *		The EventDownload request completes successfully with KErrNone.
       
  5814  *
       
  5815  * 	SYMTestType CIT
       
  5816  */
       
  5817  
       
  5818 TInt CSimSatEventDnld::testSAT8576L()
       
  5819 	{
       
  5820 	
       
  5821 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8576"));
       
  5822 
       
  5823 	TRequestStatus reqStatus;
       
  5824 	
       
  5825 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  5826 	CleanupStack::PushL(profileV6);
       
  5827 	
       
  5828 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  5829 	CleanupStack::PushL(profileV6Pckg);
       
  5830 
       
  5831 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  5832 	User::WaitForRequest(reqStatus);
       
  5833 	TESTL(reqStatus.Int()==KErrNone);
       
  5834 	
       
  5835 	TESTL((profileV6->iSatProfileByte25) & (RSat::KCapsFrameParametersChangeEvent));
       
  5836 		
       
  5837 	TRequestStatus  trr = KErrNone;
       
  5838 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  5839 	TESTL(trr == KErrNone);
       
  5840 		
       
  5841 	RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
       
  5842 	CleanupStack::PushL(tFrmsChgV6);
       
  5843 	
       
  5844 	RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
       
  5845 		RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
       
  5846 	CleanupStack::PushL(tFrmsChgV6Pckg);
       
  5847 	
       
  5848 	_LIT8(KFrameIdBuf,"ABC");
       
  5849 	TBuf8<255> buf(KFrameIdBuf);
       
  5850 	tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
       
  5851 	tFrmsChgV6->iFramesInformation.iFrameList = buf;
       
  5852 	
       
  5853 	iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
       
  5854 	User::WaitForRequest(reqStatus);
       
  5855 	TESTL(reqStatus.Int() == KErrNone);
       
  5856 
       
  5857 	CleanupStack::PopAndDestroy(4);
       
  5858 	
       
  5859 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8576 - Successful"));
       
  5860 	
       
  5861 	return KErrNone;
       
  5862 
       
  5863 	}
       
  5864 
       
  5865 /*
       
  5866  * 	SYMTestCaseID TEL-SIMTSY-NA-8577
       
  5867  *
       
  5868  *	SYMREQ REQ7343
       
  5869  *
       
  5870  *	SYMTestCaseDesc Cancellation of EVENT DOWNLOAD with Frames Information Change.
       
  5871  *
       
  5872  *	SYMTestPriority High
       
  5873  *
       
  5874  *	SYMTestActions 
       
  5875  *		(i)	The client notifies the ME for the REFRESH using the RSat::EventDownload () with the 
       
  5876  *			eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
       
  5877  *		(ii)	Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload). 
       
  5878  *
       
  5879  *	SYMTestExpectedResults 
       
  5880  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  5881  * 	SYMTestType CIT
       
  5882  */
       
  5883  
       
  5884 TInt CSimSatEventDnld::testSAT8577L()
       
  5885 	{	
       
  5886 		
       
  5887 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8577"));
       
  5888 
       
  5889 	TRequestStatus reqStatus;
       
  5890 	
       
  5891 	RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
       
  5892 	CleanupStack::PushL(tFrmsChgV6);
       
  5893 	
       
  5894 	RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
       
  5895 		RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
       
  5896 	CleanupStack::PushL(tFrmsChgV6Pckg);
       
  5897 	
       
  5898 	_LIT8(KFrameIdBuf,"ABC");
       
  5899 	TBuf8<255> buf(KFrameIdBuf);
       
  5900 	tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
       
  5901 	tFrmsChgV6->iFramesInformation.iFrameList = buf;
       
  5902 	
       
  5903 	iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
       
  5904 	iSat.CancelAsyncRequest(ESatEventDownload);
       
  5905 	User::WaitForRequest(reqStatus);
       
  5906 	TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
       
  5907 
       
  5908 	CleanupStack::PopAndDestroy(2);
       
  5909 	
       
  5910 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8577 - Successful"));
       
  5911 	
       
  5912 	return KErrNone;
       
  5913 
       
  5914 	}
       
  5915 
       
  5916 
       
  5917 CSimSatSendUssd::CSimSatSendUssd() 
       
  5918 	{ 
       
  5919 	SetTestStepName(_L("SatTestSendUssd"));
       
  5920 	}	
       
  5921 
       
  5922 TVerdict CSimSatSendUssd::doTestStepL()
       
  5923 	{
       
  5924 	INFO_PRINTF1(_L("SEND USSD TESTING - START"));
       
  5925 
       
  5926  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  5927  	SetTestNumberL(0);
       
  5928 
       
  5929 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  5930 	TESTL(ret == KErrNone); 
       
  5931 	INFO_PRINTF1(_L("Opened phone object"));
       
  5932 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  5933 	INFO_PRINTF1(_L("Opened Sat object"));
       
  5934 
       
  5935 	testSAT8578L();	// For testing the TEL-SIMTSY-SAT-8578
       
  5936 	testSAT8579L();	// For testing the TEL-SIMTSY-SAT-8579
       
  5937 	testSAT8580L();	// For testing the TEL-SIMTSY-SAT-8580
       
  5938 	testSAT8581L();	// For testing the TEL-SIMTSY-SAT-8581
       
  5939 	testSAT8582L();	// For testing the TEL-SIMTSY-SAT-8582
       
  5940 
       
  5941 	iSat.Close();
       
  5942 	iPhone.Close();
       
  5943 	ASSERT(RThread().RequestCount()==0);
       
  5944 	
       
  5945 	INFO_PRINTF1(_L("SEND USSD TESTING - END"));
       
  5946 
       
  5947 	return TestStepResult();
       
  5948 	
       
  5949 	}
       
  5950 
       
  5951 /*
       
  5952  * 	SYMTestCaseID TEL-SIMTSY-NA-8578
       
  5953  *
       
  5954  *	SYMREQ REQ7340
       
  5955  *
       
  5956  *	SYMTestCaseDesc SEND USSD to support the application mode.
       
  5957  *
       
  5958  *	SYMTestPriority High
       
  5959  *
       
  5960  *	SYMTestActions 
       
  5961  *		(i)	Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
       
  5962  *		(ii)	Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
       
  5963  *
       
  5964  *	SYMTestExpectedResults 
       
  5965  *		The TSatProfileV6 shall have the TSatProfileByte4 set to KCapsSendUSSD .
       
  5966  *		The ClientSatProfileIndication shall return KErrNone.
       
  5967  *
       
  5968  * 	SYMTestType CIT
       
  5969  */
       
  5970  
       
  5971 TInt CSimSatSendUssd::testSAT8578L()
       
  5972 	{
       
  5973 	
       
  5974 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8578"));
       
  5975 	
       
  5976 	TRequestStatus reqStatus;
       
  5977 	
       
  5978 	RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
       
  5979 	CleanupStack::PushL(profileV6);
       
  5980 	
       
  5981 	RSat::TSatProfileV6Pckg	*profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
       
  5982 	CleanupStack::PushL(profileV6Pckg);
       
  5983 
       
  5984 	iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
       
  5985 	User::WaitForRequest(reqStatus);
       
  5986 	TESTL(reqStatus.Int()==KErrNone);
       
  5987 	
       
  5988 	TESTL(profileV6->iSatProfileByte4 & (RSat::KCapsSendUSSD));
       
  5989 		
       
  5990 	TRequestStatus  trr = KErrNone;
       
  5991 	trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
       
  5992 	TESTL(trr == KErrNone);
       
  5993 		
       
  5994 	CleanupStack::PopAndDestroy(2);
       
  5995 	
       
  5996 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8578- Successful"));
       
  5997 
       
  5998 	return KErrNone;
       
  5999 	}
       
  6000 
       
  6001 /*
       
  6002  * 	SYMTestCaseID TEL-SIMTSY-NA-8579
       
  6003  *
       
  6004  *	SYMREQ REQ7340
       
  6005  *
       
  6006  *	SYMTestCaseDesc SEND USSD to support the application mode.
       
  6007  *
       
  6008  *	SYMTestPriority High
       
  6009  *
       
  6010  *	SYMTestActions 
       
  6011  *		(i)	Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
       
  6012  *
       
  6013  *	SYMTestExpectedResults 
       
  6014  *		The NotiftySendUssdPCmd request completes successfully with KErrNone.
       
  6015  *
       
  6016  * 	SYMTestType CIT
       
  6017  */
       
  6018  
       
  6019 TInt CSimSatSendUssd::testSAT8579L()
       
  6020 	{
       
  6021 	
       
  6022 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8579"));
       
  6023 	
       
  6024 	TRequestStatus reqStatus;
       
  6025 	
       
  6026 	RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
       
  6027 	CleanupStack::PushL(tSendUssd);
       
  6028 	
       
  6029 	RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
       
  6030 	CleanupStack::PushL(tSendUssdPckg);
       
  6031 	
       
  6032 	iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
       
  6033 	User::WaitForRequest(reqStatus);
       
  6034 	TESTL(reqStatus.Int()==KErrNone);
       
  6035 	
       
  6036 	TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
       
  6037 	TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);	
       
  6038 	
       
  6039 	RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
       
  6040 	CleanupStack::PushL(tSendUssdRsp);
       
  6041 	
       
  6042 	RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
       
  6043 	CleanupStack::PushL(tSendUssdRspPckg);
       
  6044 	
       
  6045 	tSendUssdRsp->iGeneralResult = RSat::KSuccess;
       
  6046 	tSendUssdRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  6047 	tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
       
  6048 		
       
  6049 	iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
       
  6050 	User::WaitForRequest(reqStatus);
       
  6051 	TESTL(reqStatus.Int() == KErrNone);
       
  6052 		
       
  6053 	CleanupStack::PopAndDestroy(4);
       
  6054 	
       
  6055 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8579- Successful"));
       
  6056 
       
  6057 	return KErrNone;
       
  6058 	
       
  6059 	}
       
  6060 
       
  6061 /*
       
  6062  * 	SYMTestCaseID TEL-SIMTSY-NA-8580 
       
  6063  *
       
  6064  *	SYMREQ REQ7340
       
  6065  *
       
  6066  *	SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a USSD transaction
       
  6067  *
       
  6068  *	SYMTestPriority High
       
  6069  *
       
  6070  *	SYMTestActions 
       
  6071  *		(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
       
  6072  *		(ii)	UICC issues SEND USSD command to the ME.
       
  6073  *		(iii)	ME is unable to execute the command as its busy processing some other USSD transaction.
       
  6074  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  6075  *
       
  6076  *	SYMTestExpectedResults 
       
  6077  *		ME is notified of the request.
       
  6078  *		Upon completion of the proactive command, details are returned in a packaged version of 
       
  6079  *		 TSendUssdV6in the command parameter. 
       
  6080  *		ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information 
       
  6081  *		 KMeBusyOnUssd. 
       
  6082  *
       
  6083  * 	SYMTestType CIT
       
  6084  */
       
  6085  
       
  6086 TInt CSimSatSendUssd::testSAT8580L()
       
  6087 	{
       
  6088 	
       
  6089 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8580"));
       
  6090 		
       
  6091 	TRequestStatus reqStatus;
       
  6092 	
       
  6093 	RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
       
  6094 	CleanupStack::PushL(tSendUssd);
       
  6095 	
       
  6096 	RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
       
  6097 	CleanupStack::PushL(tSendUssdPckg);
       
  6098 	
       
  6099 	iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
       
  6100 	User::WaitForRequest(reqStatus);
       
  6101 	TESTL(reqStatus.Int()==KErrNone);
       
  6102 	
       
  6103 	TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
       
  6104 	TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);	
       
  6105 	
       
  6106 	RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
       
  6107 	CleanupStack::PushL(tSendUssdRsp);
       
  6108 	
       
  6109 	RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
       
  6110 	CleanupStack::PushL(tSendUssdRspPckg);
       
  6111 	
       
  6112 	_LIT(KText,"KMeBusyOnUssd");
       
  6113 	TBuf<254> buf(KText);
       
  6114 	tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  6115 	tSendUssdRsp->iInfoType = RSat::KMeProblem;
       
  6116 	tSendUssdRsp->iAdditionalInfo = buf;
       
  6117 	tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
       
  6118 		
       
  6119 	iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
       
  6120 	User::WaitForRequest(reqStatus);
       
  6121 	TESTL(reqStatus.Int() == KErrNone);
       
  6122 		
       
  6123 	CleanupStack::PopAndDestroy(4);
       
  6124 	
       
  6125 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8580- Successful"));
       
  6126 
       
  6127 	return KErrNone;
       
  6128 	}
       
  6129 
       
  6130 /*
       
  6131  * 	SYMTestCaseID TEL-SIMTSY-NA-8581
       
  6132  *
       
  6133  *	SYMREQ REQ7340
       
  6134  *
       
  6135  *	SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a SS transaction
       
  6136  *
       
  6137  *	SYMTestPriority High
       
  6138  *
       
  6139  *	SYMTestActions 
       
  6140  *		(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
       
  6141  *		(ii)	UICC issues SEND USSD command to the ME.
       
  6142  *		(iii)	ME is unable to execute the command as its busy processing some other SS transaction.
       
  6143  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  6144  *
       
  6145  *	SYMTestExpectedResults 
       
  6146  *		ME is notified of the request.
       
  6147  *		Upon completion of the proactive command, details are returned in a packaged version of 
       
  6148  *		 TSendUssdV6in the command parameter. 
       
  6149  *		ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information 
       
  6150  *		 KMeBusyOnSs. 
       
  6151  *
       
  6152  * 	SYMTestType CIT
       
  6153  */
       
  6154  
       
  6155 TInt CSimSatSendUssd::testSAT8581L()
       
  6156 	{
       
  6157 	
       
  6158 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8581"));
       
  6159 	
       
  6160 	TRequestStatus reqStatus;
       
  6161 	
       
  6162 	RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
       
  6163 	CleanupStack::PushL(tSendUssd);
       
  6164 	
       
  6165 	RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
       
  6166 	CleanupStack::PushL(tSendUssdPckg);
       
  6167 	
       
  6168 	iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
       
  6169 	User::WaitForRequest(reqStatus);
       
  6170 	TESTL(reqStatus.Int()==KErrNone);
       
  6171 	
       
  6172 	TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
       
  6173 	TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);	
       
  6174 	
       
  6175 	RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
       
  6176 	CleanupStack::PushL(tSendUssdRsp);
       
  6177 	
       
  6178 	RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
       
  6179 	CleanupStack::PushL(tSendUssdRspPckg);
       
  6180 	
       
  6181 	_LIT(KText,"KMeBusyOnSs");
       
  6182 	TBuf<254> buf(KText);
       
  6183 	tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
       
  6184 	tSendUssdRsp->iInfoType = RSat::KMeProblem;
       
  6185 	tSendUssdRsp->iAdditionalInfo = buf;
       
  6186 	tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
       
  6187 		
       
  6188 	iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
       
  6189 	User::WaitForRequest(reqStatus);
       
  6190 	TESTL(reqStatus.Int() == KErrNone);
       
  6191 		
       
  6192 	CleanupStack::PopAndDestroy(4);
       
  6193 	
       
  6194 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8581- Successful"));
       
  6195 
       
  6196 	return KErrNone;
       
  6197 	}
       
  6198 
       
  6199 /*
       
  6200  * 	SYMTestCaseID TEL-SIMTSY-NA-8582
       
  6201  *
       
  6202  *	SYMREQ REQ7340
       
  6203  *
       
  6204  *	SYMTestCaseDesc Cancellation of SEND USSD command
       
  6205  *
       
  6206  *	SYMTestPriority High
       
  6207  *
       
  6208  *	SYMTestActions 
       
  6209  *		(i)	Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
       
  6210  *		(ii)	Cancel the request using RSat::CancelAsyncRequest(ESatNotifySendUssdPCmd).
       
  6211  *
       
  6212  *	SYMTestExpectedResults 
       
  6213  *		Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
       
  6214  * 	SYMTestType CIT
       
  6215  */
       
  6216  
       
  6217 TInt CSimSatSendUssd::testSAT8582L()
       
  6218 	{
       
  6219 	
       
  6220 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8582"));
       
  6221 	
       
  6222 	TRequestStatus reqStatus;
       
  6223 
       
  6224 	RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
       
  6225 	CleanupStack::PushL(tSendUssd);
       
  6226 	
       
  6227 	RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
       
  6228 	CleanupStack::PushL(tSendUssdPckg);
       
  6229 	
       
  6230 	iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
       
  6231 	iSat.CancelAsyncRequest(ESatNotifySendUssdPCmd);
       
  6232 	User::WaitForRequest(reqStatus);
       
  6233 	TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
       
  6234 	
       
  6235 	CleanupStack::PopAndDestroy(2);
       
  6236 	
       
  6237 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8582 - Successful"));
       
  6238 
       
  6239 	return KErrNone;
       
  6240 	}
       
  6241 
       
  6242 CSimSatGenPCmd::CSimSatGenPCmd() 
       
  6243 	{ 
       
  6244 	SetTestStepName(_L("SatTestGenPCmd"));
       
  6245 	}
       
  6246 
       
  6247 TVerdict CSimSatGenPCmd::doTestStepL()
       
  6248 	{
       
  6249 	INFO_PRINTF1(_L("FrameIdentifier and Text attribute TESTING - START"));
       
  6250 
       
  6251  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  6252  	SetTestNumberL(0);
       
  6253 
       
  6254 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  6255 	TESTL(ret == KErrNone); 
       
  6256 	INFO_PRINTF1(_L("Opened phone object"));
       
  6257 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  6258 	INFO_PRINTF1(_L("Opened Sat object"));
       
  6259 
       
  6260 	testSAT8583L();	// For testing the TEL-SIMTSY-SAT-8583
       
  6261 	testSAT8584L();	// For testing the TEL-SIMTSY-SAT-8584
       
  6262 
       
  6263 	iSat.Close();
       
  6264 	iPhone.Close();
       
  6265 	ASSERT(RThread().RequestCount()==0);
       
  6266 	
       
  6267 	INFO_PRINTF1(_L("SEND USSD TESTING - END"));
       
  6268 
       
  6269 	return TestStepResult();
       
  6270 	
       
  6271 	}
       
  6272 
       
  6273 /*
       
  6274  * 	SYMTestCaseID TEL-SIMTSY-NA-8583
       
  6275  *
       
  6276  *	SYMREQ REQ7344
       
  6277  *
       
  6278  *	SYMTestCaseDesc Extended support for the proactive commands for which the frame identifier is being added.
       
  6279  *
       
  6280  *	SYMTestPriority High
       
  6281  *
       
  6282  *	SYMTestActions 
       
  6283  *		(i)	Call the API RSat::NotifyGetInkeyPCmd using the TGetInkeyV6 as the parameter that contains
       
  6284  *			the Frame identifier and the iExtensionID as RSat::KSatV6.
       
  6285  *
       
  6286  *	SYMTestExpectedResults 
       
  6287  *		The request shall be successfully completed with return status as KErrNone.
       
  6288  *
       
  6289  * 	SYMTestType CIT
       
  6290  */
       
  6291  
       
  6292 TInt CSimSatGenPCmd::testSAT8583L()
       
  6293 	{
       
  6294 	
       
  6295 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8583"));
       
  6296 	
       
  6297 	TRequestStatus reqStatus;
       
  6298 	
       
  6299 	RSat::TGetInkeyV6* tGetInkey = new(ELeave) RSat::TGetInkeyV6;
       
  6300 	CleanupStack::PushL(tGetInkey);
       
  6301 	
       
  6302 	RSat::TGetInkeyV6Pckg *tGetInkeyPckg = new(ELeave) RSat::TGetInkeyV6Pckg(*tGetInkey);
       
  6303 	CleanupStack::PushL(tGetInkeyPckg);
       
  6304 
       
  6305 	iSat.NotifyGetInkeyPCmd(reqStatus,*(tGetInkeyPckg));
       
  6306 	User::WaitForRequest(reqStatus);
       
  6307 	TESTL(reqStatus.Int()==KErrNone);
       
  6308 	
       
  6309 	TESTL(tGetInkey->iFrameId == 0x25);
       
  6310 
       
  6311 	RSat::TGetInkeyRspV2* tGetInkeyRsp = new (ELeave)RSat::TGetInkeyRspV2;
       
  6312 	CleanupStack::PushL(tGetInkeyRsp);
       
  6313 	
       
  6314 	RSat::TGetInkeyRspV2Pckg *tGetInkeyRspPckg = new(ELeave)RSat::TGetInkeyRspV2Pckg(*tGetInkeyRsp);
       
  6315 	CleanupStack::PushL(tGetInkeyRspPckg);
       
  6316 	
       
  6317 	tGetInkeyRsp->iGeneralResult = RSat::KSuccess;
       
  6318 	tGetInkeyRsp->iInfoType = RSat::KNoAdditionalInfo;
       
  6319 	tGetInkeyRsp->SetPCmdNumber(SIMTSY_GET_INKEY_PCMD_NUMBER);
       
  6320 		
       
  6321 	iSat.TerminalRsp(reqStatus,RSat::EGetInkey,*(tGetInkeyRspPckg));
       
  6322 	User::WaitForRequest(reqStatus);
       
  6323 	TESTL(reqStatus.Int() == KErrNone);
       
  6324 	
       
  6325 	CleanupStack::PopAndDestroy(4);
       
  6326 	
       
  6327 	
       
  6328 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8583- Successful"));
       
  6329 	
       
  6330 	return KErrNone;
       
  6331 
       
  6332 	}
       
  6333 	
       
  6334 /*
       
  6335  * 	SYMTestCaseID TEL-SIMTSY-NA-8584
       
  6336  *
       
  6337  *	SYMREQ REQ7500
       
  6338  *
       
  6339  *	SYMTestCaseDesc Extended support for the proactive commands for which the text attributes are being added.
       
  6340  *
       
  6341  *	SYMTestPriority High
       
  6342  *
       
  6343  *	SYMTestActions 
       
  6344  *		(i)	Call the API RSat:: NotifySendSsPCmd using the TSendSsV6 as the parameter that contains the 
       
  6345  *			text attributes and the iExtensionID as RSat::KSatV6.
       
  6346  *
       
  6347  *	SYMTestExpectedResults 
       
  6348  *		The request shall be successfully completed with return status as KErrNone.
       
  6349  *
       
  6350  * 	SYMTestType CIT
       
  6351  */
       
  6352  
       
  6353 TInt CSimSatGenPCmd::testSAT8584L()
       
  6354 	{
       
  6355 	
       
  6356 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8584"));
       
  6357 	
       
  6358 	TRequestStatus reqStatus;
       
  6359 	
       
  6360 	RSat::TSendSsV6* tSendSS = new (ELeave)RSat::TSendSsV6;
       
  6361 	CleanupStack::PushL(tSendSS);
       
  6362 	
       
  6363 	RSat::TSendSsV6Pckg* tSendSSpckg = new (ELeave)RSat::TSendSsV6Pckg(*tSendSS);
       
  6364 	CleanupStack::PushL(tSendSSpckg);
       
  6365 	
       
  6366 	iSat.NotifySendSsPCmd(reqStatus,*(tSendSSpckg));
       
  6367 	User::WaitForRequest(reqStatus);
       
  6368 	TESTL(reqStatus.Int()==KErrNone);
       
  6369 	
       
  6370 	TESTL(tSendSS->ExtensionId() == RSat::KSatV6);
       
  6371 	TESTL(tSendSS->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
       
  6372 	TESTL(tSendSS->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) == 0);
       
  6373 	
       
  6374 	CleanupStack::PopAndDestroy(2);
       
  6375 	
       
  6376 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8584- Successful"));
       
  6377 	
       
  6378 	return KErrNone;
       
  6379 
       
  6380 	}
       
  6381 
       
  6382 
       
  6383 CSimSatElemFile::CSimSatElemFile() 
       
  6384 	{ 
       
  6385 	SetTestStepName(_L("SatTestElemFiles"));
       
  6386 	}
       
  6387 
       
  6388 TVerdict CSimSatElemFile::doTestStepL()
       
  6389 	{
       
  6390 	INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - START"));
       
  6391 
       
  6392  	CreateConfigFileL(_L("c:\\config4.txt"));
       
  6393  	SetTestNumberL(0);
       
  6394 
       
  6395 	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
       
  6396 	TESTL(ret == KErrNone); 
       
  6397 	INFO_PRINTF1(_L("Opened phone object"));
       
  6398 	TESTL(iSat.Open(iPhone)==KErrNone);
       
  6399 	INFO_PRINTF1(_L("Opened Sat object"));
       
  6400 
       
  6401 	testSAT8585L();	// For testing the TEL-SIMTSY-SAT-8585
       
  6402 	testSAT8586L();	// For testing the TEL-SIMTSY-SAT-8586
       
  6403 
       
  6404 	iSat.Close();
       
  6405 	iPhone.Close();
       
  6406 	ASSERT(RThread().RequestCount()==0);
       
  6407 	
       
  6408 	INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - END"));
       
  6409 
       
  6410 	return TestStepResult();
       
  6411 	
       
  6412 	}
       
  6413 
       
  6414 /*
       
  6415  * 	SYMTestCaseID TEL-SIMTSY-NA-8585
       
  6416  *
       
  6417  *	SYMREQ REQ7771
       
  6418  *
       
  6419  *	SYMTestCaseDesc Elementary File change when a RETRIEVE MULTIMEDIA MESSAGE command is issued by UICC to ME.
       
  6420  *
       
  6421  *	SYMTestPriority High
       
  6422  *
       
  6423  *	SYMTestActions 
       
  6424  *		(i)	Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using 
       
  6425  *			RSat::NotifyRetrieveMultimediaMsgPCmd () API. 
       
  6426  *		(ii)	UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
       
  6427  *		(iii)	Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API
       
  6428  *				with the TRefreshV1Pckg class.
       
  6429  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  6430  *
       
  6431  *	SYMTestExpectedResults 
       
  6432  *		The TRefreshV1Pckg shall consists of the EFs EFMML  and  EFMMDF in the Filelist as the modified EFs.
       
  6433  *
       
  6434  * 	SYMTestType CIT
       
  6435  */
       
  6436  
       
  6437 TInt CSimSatElemFile::testSAT8585L()
       
  6438 	{
       
  6439 	
       
  6440 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8585"));
       
  6441 	
       
  6442 	TRequestStatus reqStatus;
       
  6443 	
       
  6444 	RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
       
  6445 	CleanupStack::PushL(tMMMessageV6);
       
  6446 
       
  6447 	RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  6448 	       	RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
       
  6449 	CleanupStack::PushL(tMMMessagePckg);
       
  6450 
       
  6451 	iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  6452 	User::WaitForRequest(reqStatus);
       
  6453 	TESTL(reqStatus.Int()==KErrNone);
       
  6454 	
       
  6455 	RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
       
  6456 	CleanupStack::PushL(tRefreshV6);
       
  6457 	
       
  6458 	RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
       
  6459 	CleanupStack::PushL(tRefreshV6Pckg);
       
  6460 	
       
  6461 	iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
       
  6462 	User::WaitForRequest(reqStatus);
       
  6463 	TESTL(reqStatus.Int()==KErrNone);
       
  6464 	
       
  6465 	TESTL(tRefreshV6->iFileList.Length()==2);
       
  6466  	TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1); 
       
  6467  	TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
       
  6468  	
       
  6469  	CleanupStack::PopAndDestroy(4);
       
  6470 	
       
  6471 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8585- Successful"));
       
  6472 	
       
  6473 	return KErrNone;
       
  6474 
       
  6475 	}
       
  6476 
       
  6477 /*
       
  6478  * 	SYMTestCaseID TEL-SIMTSY-NA-8586
       
  6479  *
       
  6480  *	SYMREQ REQ7771
       
  6481  *
       
  6482  *	SYMTestCaseDesc Elementary File change when a SUBMIT MULTIMEDIA MESSAGE command is issued by UICC to ME.
       
  6483  *
       
  6484  *	SYMTestPriority High
       
  6485  *
       
  6486  *	SYMTestActions 
       
  6487  *		(i)	Client requests notification for SUBMIT MULTIMEDIA MESSAGE using 
       
  6488  *			RSat::NotifyRetrieveMultimediaMsgPCmd () API. 
       
  6489  *		(ii)	UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
       
  6490  *		(iii)	Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API with the 
       
  6491  *			TRefreshV1Pckg class.
       
  6492  *		(iv)	ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
       
  6493  *
       
  6494  *	SYMTestExpectedResults 
       
  6495  *		The TRefreshV1Pckg shall consists of the EFs EFMML  and  EFMMDF in the Filelist as the modified EFs.
       
  6496  *
       
  6497  * 	SYMTestType CIT
       
  6498  */
       
  6499  
       
  6500 TInt CSimSatElemFile::testSAT8586L()
       
  6501 	{
       
  6502 	
       
  6503 	INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8586"));
       
  6504 	
       
  6505 	TRequestStatus reqStatus;
       
  6506 	
       
  6507 	RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
       
  6508 	CleanupStack::PushL(tMMMessageV6);
       
  6509 
       
  6510 	RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
       
  6511 	       	RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
       
  6512 	CleanupStack::PushL(tMMMessagePckg);
       
  6513 
       
  6514 	iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
       
  6515 	User::WaitForRequest(reqStatus);
       
  6516 	TESTL(reqStatus.Int()==KErrNone);
       
  6517 	
       
  6518 	RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
       
  6519 	CleanupStack::PushL(tRefreshV6);
       
  6520 	
       
  6521 	RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
       
  6522 	CleanupStack::PushL(tRefreshV6Pckg);
       
  6523 	
       
  6524 	iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
       
  6525 	User::WaitForRequest(reqStatus);
       
  6526 	TESTL(reqStatus.Int()==KErrNone);
       
  6527 	
       
  6528 	TESTL(tRefreshV6->iFileList.Length()==2);
       
  6529  	TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1); 
       
  6530  	TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
       
  6531 	
       
  6532 	CleanupStack::PopAndDestroy(4);
       
  6533 	
       
  6534 	INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8586- Successful"));
       
  6535 	
       
  6536 	return KErrNone;
       
  6537 	}
       
  6538