--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserver/etelsimtoolkit/tetel/Te_EtelSat/TE_EtelSatenvelopecmds.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,544 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "Te_EtelSatTestStepBase.h"
+#include "TE_EtelSatenvelopecmds.h"
+
+CTestSatEnvelopeCmds::CTestSatEnvelopeCmds()
+/** Each test step initialises it's own name
+*/
+ {
+ // store the name of this test case
+ // this is the name that is used by the script file
+ SetTestStepName(_L("TestSatEnvelopeCmds"));
+ }
+
+enum TVerdict CTestSatEnvelopeCmds::doTestStepL()
+ {
+ INFO_PRINTF1(_L("**************************************"));
+ INFO_PRINTF1(_L("Test RSat Envelope Cmds Functionality"));
+ INFO_PRINTF1(_L("**************************************"));
+
+ RPhone phone;
+ TInt ret=phone.Open(iTelServer,DSATTSY_PHONE_NAME);
+ TEST(ret==KErrNone);
+
+ RSat sat;
+ ret=sat.Open(phone);
+ TEST(ret==KErrNone);
+
+ //
+ // Local variables used throughout the sat tests
+ //
+ TRequestStatus reqStatus;
+ iTestCount=1;
+
+ //
+ // Get ME side SAT profile for V2
+ //
+ RSat::TSatProfileV2 profile;
+ RSat::TSatProfileV2Pckg profilePckg(profile);
+
+ TEST(profile.ExtensionId() == RSat::KSatV2);
+
+ sat.GetMeSideSatProfile(reqStatus, profilePckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ TEST(profile.iSatProfileByte1==0x01);
+ TEST(profile.iSatProfileByte2==0x02);
+ TEST(profile.iSatProfileByte3==0x03);
+ TEST(profile.iSatProfileByte4==0x04);
+ TEST(profile.iSatProfileByte5==0x05);
+ TEST(profile.iSatProfileByte6==0x06);
+ TEST(profile.iSatProfileByte7==0x07);
+ TEST(profile.iSatProfileByte8==0x08);
+ TEST(profile.iSatProfileByte9==0x09);
+ TEST(profile.iSatProfileByte10==0x0A);
+ TEST(profile.iSatProfileByte11==0x0B);
+ TEST(profile.iSatProfileByte12==0x0C);
+ TEST(profile.iSatProfileByte13==0x0D);
+ TEST(profile.iSatProfileByte14==0x0E);
+ TEST(profile.iSatProfileByte15==0x0F);
+ TEST(profile.iSatProfileByte16==0x10);
+ TEST(profile.iSatProfileByte17==0x20);
+ TEST(profile.iSatProfileByte18==0x30);
+ TEST(profile.iNumOfChannels==DSATTSY_NUMBER_OF_CHANNELS);
+ TEST(profile.iScreenHeight==DSATTSY_SCREEN_HEIGHT);
+ TEST(profile.iScreenWidth==DSATTSY_SCREEN_WIDTH);
+ TEST(profile.iTiaEiaProtoVersion==DSATTSY_PROTO_VERSION);
+ TEST(profile.iWidthReduction==DSATTSY_WIDTH_REDUCTION);
+
+ INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfile with RSat::TSatProfileV2 passed"),iTestCount++);
+
+ sat.GetMeSideSatProfile(reqStatus, profilePckg);
+ sat.CancelAsyncRequest(ESatGetMeSideSatProfile);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+ INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfileCancel with RSat::TSatProfileV2 passed"),iTestCount++);
+
+ //
+ // Client SAT profile indication
+ //
+ TEST(sat.ClientSatProfileIndication(profilePckg)==KErrNone);
+ INFO_PRINTF2(_L("Test %d - RSat::ClientSatProfileIndication with RSat::TSatProfileV2 passed"),iTestCount++);
+
+ //
+ // Get ME side SAT profile for V5
+ //
+ RSat::TSatProfileV5 profileV5;
+ RSat::TSatProfileV5Pckg profileV5Pckg(profileV5);
+
+ TEST(profileV5.ExtensionId() == RSat::KSatV5);
+
+ sat.GetMeSideSatProfile(reqStatus, profileV5Pckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ // Pre-version 5 parameters in SAT profile
+ TEST(profileV5.iSatProfileByte1==0x01);
+ TEST(profileV5.iSatProfileByte2==0x02);
+ TEST(profileV5.iSatProfileByte3==0x03);
+ TEST(profileV5.iSatProfileByte4==0x04);
+ TEST(profileV5.iSatProfileByte5==0x05);
+ TEST(profileV5.iSatProfileByte6==0x06);
+ TEST(profileV5.iSatProfileByte7==0x07);
+ TEST(profileV5.iSatProfileByte8==0x08);
+ TEST(profileV5.iSatProfileByte9==0x09);
+ TEST(profileV5.iSatProfileByte10==0x0A);
+ TEST(profileV5.iSatProfileByte11==0x0B);
+ TEST(profileV5.iSatProfileByte12==0x0C);
+ TEST(profileV5.iSatProfileByte13==0x0D);
+ TEST(profileV5.iSatProfileByte14==0x0E);
+ TEST(profileV5.iSatProfileByte15==0x0F);
+ TEST(profileV5.iSatProfileByte16==0x10);
+ TEST(profileV5.iSatProfileByte17==0x20);
+ TEST(profileV5.iSatProfileByte18==0x30);
+ TEST(profileV5.iNumOfChannels==DSATTSY_NUMBER_OF_CHANNELS);
+ TEST(profileV5.iScreenHeight==DSATTSY_SCREEN_HEIGHT);
+ TEST(profileV5.iScreenWidth==DSATTSY_SCREEN_WIDTH);
+ TEST(profileV5.iTiaEiaProtoVersion==DSATTSY_PROTO_VERSION);
+ TEST(profileV5.iWidthReduction==DSATTSY_WIDTH_REDUCTION);
+ // Version 5 parameters in profile
+ // (test also that the TSatProfileByte28 and TSatProfileByte29
+ // have been defined correctly as each should set a different bit).
+ TEST(profileV5.iSatProfileByte28==
+ (RSat::KCapsTextAttributeAlignmentLeft | RSat::KCapsTextAttributeAlignmentCentre |
+ RSat::KCapsTextAttributeAlignmentRight | RSat::KCapsTextAttributeFontSizeNormal |
+ RSat::KCapsTextAttributeFontSizeLarge | RSat::KCapsTextAttributeFontSizeSmall)); // 0x3F
+ TEST(profileV5.iSatProfileByte29==(RSat::KCapsTextAttributeStyleNormal |
+ RSat::KCapsTextAttributeStyleBold |
+ RSat::KCapsTextAttributeStyleItalic |
+ RSat::KCapsTextAttributeStyleUnderline |
+ RSat::KCapsTextAttributeStyleStrikethrough |
+ RSat::KCapsTextAttributeStyleForeground |
+ RSat::KCapsTextAttributeStyleBackground)); // 0x7F
+
+ INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfile with RSat::TSatProfileV5 passed"),iTestCount++);
+
+ sat.GetMeSideSatProfile(reqStatus, profileV5Pckg);
+ sat.CancelAsyncRequest(ESatGetMeSideSatProfile);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+ INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfileCancel with RSat::TSatProfileV5 passed"),iTestCount++);
+
+ //
+ // Client SAT profile indication for V5
+ //
+ TEST(sat.ClientSatProfileIndication(profileV5Pckg)==KErrNone);
+ INFO_PRINTF2(_L("Test %d - RSat::ClientSatProfileIndication RSat::TSatProfileV5 passed"),iTestCount++);
+
+ // Menu Selection
+ RSat::TMenuSelectionV1 selection;
+ RSat::TMenuSelectionV1Pckg selectionPckg(selection);
+
+ selection.iHelp =DSATTSY_HELP_REQUESTED;
+ selection.iItemId =DSATTSY_ITEM_ID;
+
+ sat.MenuSelection(reqStatus, selectionPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+ INFO_PRINTF2(_L("Test %d - RSat::MenuSelection passed"),iTestCount++);
+
+ // Menu Selection Cancel
+ sat.MenuSelection(reqStatus,selectionPckg);
+ sat.CancelAsyncRequest(ESatMenuSelection);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+ INFO_PRINTF2(_L("Test %d - RSat::MenuSelectionCancel passed"),iTestCount++);
+
+ // Event Download
+
+ // Test each event
+
+ RSat::TEventList eventList;
+ RSat::TEventDownloadBaseV2 eventBaseV2;
+ RSat::TEventDownloadBaseV2Pckg eventBaseV2Pckg( eventBaseV2 );
+
+ // KUserActivity
+
+ eventList = RSat::KUserActivity;
+
+ sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KUserActivity) passed"),iTestCount++);
+
+ // Event Download Cancel
+
+ sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownloadCancel passed"),iTestCount++);
+
+ // KIdleScreenAvailable
+
+ eventList = RSat::KIdleScreenAvailable;
+
+ sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KIdleScreenAvailable) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KCardReaderStatus
+
+ RSat::TCardReaderStatusEventV2 eventCardStatus;
+ RSat::TCardReaderStatusEventV2Pckg eventCardStatusPckg(eventCardStatus);
+
+ eventList = RSat::KCardReaderStatus;
+ eventCardStatus.iCardReaderStatus = DSATTSY_EVENT_CARD_READER_STATUS;
+
+ sat.EventDownload( reqStatus, eventList, eventCardStatusPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KCardReaderStatus) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, eventCardStatusPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KLanguageSelection
+
+ RSat::TLanguageSelectionEventV2 languageSelect;
+ RSat::TLanguageSelectionEventV2Pckg languageSelectPckg(languageSelect);
+
+ eventList = RSat::KLanguageSelection;
+ languageSelect.iLanguage = DSATTSY_EVENT_LANGUAGE_SELECTION;
+
+ sat.EventDownload( reqStatus, eventList, languageSelectPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KLanguageSelection) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, languageSelectPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KBrowserTermination
+
+ RSat::TBrowserTerminationEventV2 browserTerm;
+ RSat::TBrowserTerminationEventV2Pckg browserTermPckg( browserTerm );
+
+ eventList = RSat::KBrowserTermination;
+ browserTerm.iCause = DSATTSY_EVENT_BROWSER_TERMINATION_CAUSE;
+
+ sat.EventDownload( reqStatus, eventList, browserTermPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KBrowserTermination) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, browserTermPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KDataAvailable
+
+ RSat::TDataAvailableEventV2 dataAvailable;
+ RSat::TDataAvailableEventV2Pckg dataAvailablePckg( dataAvailable );
+
+ eventList = RSat::KDataAvailable;
+
+ dataAvailable.iStatus.Append( DSATTSY_EVENT_DATA_AVAILABLE_STATUS );
+ dataAvailable.iLength = DSATTSY_EVENT_DATA_AVAILABLE_LENGTH;
+
+ sat.EventDownload( reqStatus, eventList, dataAvailablePckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KDataAvailable) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, dataAvailablePckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KChannelStatus
+
+ RSat::TChannelStatusEventV2 channelStatus;
+ RSat::TChannelStatusEventV2Pckg channelStatusPckg( channelStatus );
+
+ eventList = RSat::KChannelStatus;
+ channelStatus.iStatus = DSATTSY_EVENT_CHANNEL_STATUS;
+
+ sat.EventDownload( reqStatus, eventList, channelStatusPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KChannelStatus) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, channelStatusPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KDisplayParamsChanges
+
+ RSat::TDisplayParamsEventV2 displayParams;
+ RSat::TDisplayParamsEventV2Pckg displayParamsPckg( displayParams );
+
+ eventList = RSat::KDisplayParamsChanges;
+
+ displayParams.iSatProfileByte14 = DSATTSY_EVENT_DISPLAY_PROF14;
+ displayParams.iScreenHeight = DSATTSY_SCREEN_HEIGHT;
+ displayParams.iSatProfileByte15 = DSATTSY_EVENT_DISPLAY_PROF15;
+ displayParams.iScreenWidth = DSATTSY_SCREEN_WIDTH;
+ displayParams.iSatProfileByte16 = DSATTSY_EVENT_DISPLAY_PROF16;
+ displayParams.iWidthReduction = DSATTSY_WIDTH_REDUCTION;
+
+ sat.EventDownload( reqStatus, eventList, displayParamsPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KDisplayParams) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, displayParamsPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ // KLocalConnection
+
+ RSat::TLocalConnectionEventV2 localConnection;
+ RSat::TLocalConnectionEventV2Pckg localConnectionPckg( localConnection );
+
+ eventList = RSat::KLocalConnection;
+ localConnection.iRecord.iBearerId = DSATTSY_EVENT_LOCAL_BEARER_ID;
+ localConnection.iRecord.iServiceId = DSATTSY_EVENT_LOCAL_SERVICE_ID;
+ localConnection.iRecord.iRecord = DSATTSY_EVENT_LOCAL_SERVICE_RECORD;
+ localConnection.iAddress.iCoding = DSATTSY_EVENT_LOCAL_ADDR_CODING ;
+ localConnection.iAddress.iAddress = DSATTSY_EVENT_LOCAL_ADDRESS;
+
+ sat.EventDownload( reqStatus, eventList, localConnectionPckg );
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KLocalConnection) passed"),iTestCount++);
+
+ sat.EventDownload( reqStatus, eventList, displayParamsPckg );
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+
+ /** Testing the Release 6 features supported by the envelope commands*/
+ /**
+ Testing Event Download envelope command w.r.t NetworkSearchModeChangeEvent which has been updated
+ as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT324
+ */
+ RSat::TNetworkSearchModeChangeEventV6 networkSearchModeChangeEvent;
+ RSat::TNetworkSearchModeChangeEventV6Pckg networkSearchModeChangeEventPckg(networkSearchModeChangeEvent);
+
+ eventList=RSat::KNetworkSearchModeChange;
+ networkSearchModeChangeEvent.iNetworkSearchMode=DSATTSY_NETWORK_SEARCH_MODE1;
+
+ sat.EventDownload(reqStatus,eventList,networkSearchModeChangeEventPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - EventDownload - NetworkSearchModeChangeEvent- passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Event Download envelope command
+ @test TSAT325
+ */
+
+ //Cancel
+ sat.EventDownload(reqStatus,eventList,networkSearchModeChangeEventPckg);
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ //BrowsingStatusEvent
+
+ /**
+ Testing Event Download envelope command w.r.t TBrowsingStatusEventV6 which has been updated
+ as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT326
+ */
+ RSat::TBrowsingStatusEventV6 browsingStatusEvent;
+ RSat::TBrowsingStatusEventV6Pckg browsingStatusEventPckg(browsingStatusEvent);
+
+ eventList=RSat::KBrowsingStatusChange;
+ browsingStatusEvent.iBrowserStatus = DSATTSY_BROWSING_STATUS1;
+
+ sat.EventDownload(reqStatus,eventList,browsingStatusEventPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - EventDownload - BrowsingStatusEvent- passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Event Download envelope command
+ @test TSAT327
+ */
+
+ //Cancel
+ sat.EventDownload(reqStatus,eventList, browsingStatusEventPckg);
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ //FramesInformationChangedEvent
+
+ /**
+ Testing Event Download envelope command w.r.t FramesInformationChangedEvent which has been updated
+ as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT328
+ */
+ RSat::TFramesInformationChangedEventV6 framesInfoChangedEvent;
+ RSat::TFramesInformationChangedEventV6Pckg framesInfoChangedEventPckg(framesInfoChangedEvent);
+
+ eventList=RSat::KFramesInformationChange;
+ framesInfoChangedEvent.iFramesInformation.iFrameId = DSATTSY_FRAMES_INFORMATION_FRAMEID;
+ framesInfoChangedEvent.iFramesInformation.iFrameList= DSATTSY_FRAMES_INFORMATION_FRAME_LIST;
+
+ sat.EventDownload(reqStatus,eventList, framesInfoChangedEventPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - EventDownload - framesInformationChangedEvent- passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Event Download envelope command
+ @test TSAT329
+ */
+
+ //Cancel
+ sat.EventDownload(reqStatus,eventList, framesInfoChangedEventPckg);
+ sat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ /**
+ Testing Multimedia Messaging Service Transfer Status envelope command which has been newly
+ added as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT299
+ */
+ RSat::TMmsTransferStatusV6 mmsTransferStatus;
+ RSat::TMmsTransferStatusV6Pckg mmsTransferStatusPckg(mmsTransferStatus);
+
+ mmsTransferStatus.iDeviceId = DSATTSYV6_DEVICE_ID3;
+ mmsTransferStatus.iMultimediaMessageId =DSATTSYV6_MULTIMEDIA_MESSAGE_ID1;
+ mmsTransferStatus.iMultimediaMessageStatus =DSATTSYV6_MULTIMEDIA_MESSAGE_STATUS;
+
+ sat.MmsTransferStatus(reqStatus, mmsTransferStatusPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::MmsTransferStatus - Multimedia Messaging Service Transfer Status - passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Multimedia Messaging Service Transfer Status envelope command
+ @test TSAT300
+ */
+
+ //Cancel
+ sat.MmsTransferStatus(reqStatus, mmsTransferStatusPckg);
+ sat.CancelAsyncRequest(ESatMmsTransferStatus);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ /**
+ Testing Multimedia Messaging Service Notificaiton Download envelope command which has been newly
+ added as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT301
+ */
+ RSat::TMmsNotificationDownloadV6 mmsNotificationDownload;
+ RSat::TMmsNotificationDownloadV6Pckg mmsNotificationDownloadPckg(mmsNotificationDownload);
+
+ mmsNotificationDownload.iDeviceId = DSATTSYV6_DEVICE_ID1;
+ mmsNotificationDownload.iLastEnvelope = DSATTSYV6_LAST_ENVELOPE1;
+ mmsNotificationDownload.iMMSNotification = DSATTSYV6_MMS_NOTIFICATION1;
+
+ sat.MmsNotificationDownload(reqStatus, mmsNotificationDownloadPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+
+ INFO_PRINTF2(_L("Test %d - RSat::MmsNotificationDownload - Multimedia Messaging Service Notificaiton Download - passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Multimedia Messaging Notification Download envelope command
+ @test TSAT302
+ */
+
+ //Cancel
+ sat.MmsNotificationDownload(reqStatus, mmsNotificationDownloadPckg);
+ sat.CancelAsyncRequest(ESatMmsNotificationDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+
+ /**
+ Testing Ussd Data Download command which has been newly
+ added as part of the Release 6 Features of USIM Application ToolKit
+ @test TSAT303
+ @test TSAT313
+ */
+ RSat::TUssdDataDownloadV6 ussdDataDownload;
+ RSat::TUssdDataDownloadV6Pckg ussdDataDownloadPckg(ussdDataDownload);
+
+ ussdDataDownload.iDeviceId = DSATTSYV6_DEVICE_ID1;
+ ussdDataDownload.iUssdString.iUssdString = DSATTSY_USSD_STRING;
+
+ sat.UssdDataDownload(reqStatus, ussdDataDownloadPckg);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrNone);
+ INFO_PRINTF2(_L("Test %d - UssdDataDownload - Ussd Data Download command- passed"),iTestCount++);
+
+ /**
+ Testing Cancel API for the Ussd Data Download command
+ @test TSAT304
+ @test TSAT314
+ */
+
+ //Cancel
+ sat.UssdDataDownload(reqStatus, ussdDataDownloadPckg);
+ sat.CancelAsyncRequest(ESatUssdDataDownload);
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int()==KErrCancel);
+
+ sat.Close();
+ phone.Close();
+
+ return TestStepResult();
+
+ }