diff -r 5d7fec11a5ce -r 03d9ade4748d buildverification/smoketest/messaging/Src/TestMessCreateCdmaSmsUtil.cpp --- a/buildverification/smoketest/messaging/Src/TestMessCreateCdmaSmsUtil.cpp Fri Jun 11 16:24:17 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,433 +0,0 @@ -// Copyright (c) 2004-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: -// TestMessCreateCdmsSmsUtil.cpp -// This class creates the Cdma sms header and the service settings -// -// - -#include "TestMessCreateCdmaSmsUtil.h" -#include "TestMessCreateSmsAccount.h" - -// EPOC includes -#include - -/*@{*/ -_LIT(KPtDeliveryAck, "DeliveryAck"); -_LIT(KPtUserAck, "UserAck"); -_LIT(KPtReadAck, "ReadAck"); -_LIT(KPtMessageConversion, "MessageConversion"); -_LIT(KPtPriorityIndicator, "PriorityIndicator"); -_LIT(KPtPrivacyIndicator, "PrivacyIndicator"); -_LIT(KPtReplyOption, "ReplyOption"); -_LIT(KPtAlertonDelivery, "AlertonDelivery"); -_LIT(KPtLanguageIndicator, "LanguageIndicator"); - -//Constants used -_LIT(KPtTeleService, "TeleService"); -_LIT(KPtSubmit, "Submit"); -_LIT(KPtCancel, "Cancel"); - -// Supported Teleservices -_LIT(KPtTeleWmt, "WMT"); -_LIT(KPtTeleWemt, "WEMT"); -_LIT(KPtTeleWpt, "WPT"); -_LIT(KPtTeleVmn, "VMN"); -_LIT(KPtTeleScpt, "SCPT"); -_LIT(KPtTeleCatpt, "CATPT"); -_LIT(KPtTeleCmt91, "CMT91"); -_LIT(KPtTeleWap, "WAP"); - -// Supported message conversion formats -_LIT(KPtPidFax, "Fax"); -_LIT(KPtPidX400, "X400"); -_LIT(KPtPidPaging, "Paging"); -_LIT(KPtPidMail, "Mail"); -_LIT(KPtPidErmes, "Ermes"); -_LIT(KPtPidSpeech, "Speech"); -/*@}*/ - -/** - Constructor -*/ -CTestMessCreateCdmaSmsUtil ::CTestMessCreateCdmaSmsUtil(CTestMessBase& aTestStep) -: CTestMessCreateSmsUtilBase(aTestStep) - { - aTestStep.INFO_PRINTF1(_L("The CDMA SMS util is created")); - } - -/** - Prepares the SMS account details for CSendAs/RSendAs - @leave - KErrNoMemory - @leave - System wide error codes -*/ -void CTestMessCreateCdmaSmsUtil::PrepareAccountL(CMsvSession& /*aSession*/) - { - // Reads the teleservice - tia637::TTeleserviceId teleServiceId=tia637::KTeleserviceWMT; - TPtrC ptrTeleService; - if( !(iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KPtTeleService, ptrTeleService))) - { - iTestStep.INFO_PRINTF1(_L("Teleservice is not provided. Default teleservice (WMT) is used")); - } - else - { - iTestStep.INFO_PRINTF2(_L("Teleservice to be set is : %S"), &ptrTeleService); - - //Get the teleservice Id - teleServiceId = GetTeleServiceId(ptrTeleService); - } - - if ( teleServiceId!=tia637::KTeleserviceWEMT ) - { - teleServiceId=tia637::KTeleserviceWMT; - } - - CSmsSettings* smsSettings = CSmsSettings::NewL(); - CleanupStack::PushL(smsSettings); - - CSmsAccount* smsAccount=CSmsAccount::NewLC(); - smsAccount->LoadSettingsL(*smsSettings); - smsSettings->SetDefaultTeleservice(teleServiceId); - smsAccount->SaveSettingsL(*smsSettings); - CleanupStack::PopAndDestroy(smsAccount); - CleanupStack::PopAndDestroy(smsSettings); - } - -/** - Creates a new CDMA sms header object - @param aBodyText - body text of the message - @return CSmsHeader - pointer of the CSmsHeader object - @leave - KErrNoMemory - @leave - System wide error codes -*/ -CSmsHeader* CTestMessCreateCdmaSmsUtil::NewHeaderL(CRichText& aBodyText) - { - return CSmsHeader::NewL(KSmsTypeSubmit, aBodyText); - } - -/** - Fill up the header object with data read from the ini file - @param aSmsHeader - reference for the sms header object - @leave - System wide error codes -*/ -void CTestMessCreateCdmaSmsUtil::PrepareHeaderL(CSmsHeader& aSmsHeader) - { - // Get bearer data - TPtrC ptrBearer; - TBool returnValue=iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KBearer, ptrBearer); - if ( !returnValue ) - { - //If no bearer provided, the bearer is read from the default section ofthe - // ini file - returnValue=iTestStep.GetStringFromConfig(KDef, KDefBearer, ptrBearer); - } - - if ( returnValue ) - { - //default value for the bearer - TBioMsgIdType bearer = EBioMsgIdNbs; - - iTestStep.INFO_PRINTF2(_L("Bearer = %S"), &ptrBearer); - if (ptrBearer.CompareF(KBearerWap) == 0) - { - //Wap message ID - bearer = EBioMsgIdWap; - } - else if (ptrBearer.CompareF(KBearerWapSecure) == 0) - { - //WapSecure message ID - bearer = EBioMsgIdWapSecure; - } - else - { - iTestStep.ERR_PRINTF1(_L("No bearer provided. Default is used")); - } - - //Set the BIO Message ID type - aSmsHeader.BioMessage().SetBioMsgIdType(bearer); - } - - // Get encoding data - TInt encoding; - returnValue=iTestStep.GetIntFromConfig(iTestStep.ConfigSection(), KEncoding, encoding); - if ( !returnValue ) - { - //If no encoding is provided, the encoding is read from the default section - //of the ini file - returnValue=iTestStep.GetIntFromConfig(KDef, KDefEncoding, encoding); - } - if ( returnValue ) - { - //Default encoding value. - TSmsCharacterEncoding charEncoding = KSmsEncodingUnicode; - - iTestStep.INFO_PRINTF2(_L("Encoding = %d"), encoding); - switch (encoding) - { - case 7: - //7 bit encoding format - charEncoding = KSmsEncoding7BitASCII; - break; - case 8: - //8 bit encoding format - charEncoding = KSmsEncodingBinary; - break; - case 16: - //unicode encoding format - charEncoding = KSmsEncodingUnicode; - break; - default: - //default encoding format - charEncoding = KSmsEncodingUnicode; - break; - } - //Set the character encoding format - aSmsHeader.BioMessage().SetEncoding(charEncoding); - } - - - TBool deliveryAck = EFalse; - TBool userAck = EFalse; - TBool readAck = EFalse; - - // Get acknowledgements report request - TPtrC ptrDeliveryReport; - returnValue=iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KDeliveryReport, ptrDeliveryReport); - if ( !returnValue ) - { - returnValue=iTestStep.GetStringFromConfig(KDef, KDefDeliveryReport, ptrDeliveryReport); - } - if ( returnValue ) - { - iTestStep.INFO_PRINTF2(_L("The acknowledgement request flag : %S"), &ptrDeliveryReport); - if(ptrDeliveryReport.Compare(_L("NO")) == 0) - { - deliveryAck = EFalse; - userAck = EFalse; - readAck = EFalse; - } - if(ptrDeliveryReport.Compare(_L("YES")) == 0) - { - // Read different type of acknowledgements - iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtDeliveryAck, deliveryAck); - iTestStep.INFO_PRINTF2(_L("The Delivery acknowledgement request flag : %d"), deliveryAck); - iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtUserAck, userAck); - iTestStep.INFO_PRINTF2(_L("The User acknowledgement request flag : %d"), userAck); - iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtReadAck, readAck); - iTestStep.INFO_PRINTF2(_L("The Read acknowledgement request flag : %d"), readAck); - } - } - - aSmsHeader.SetAcknowledgementRequest(ESmsAckTypeDelivery, deliveryAck); - aSmsHeader.SetAcknowledgementRequest(ESmsAckTypeUser, userAck); - aSmsHeader.SetAcknowledgementRequest(ESmsAckTypeRead, readAck); - - //Get the message conversion type - TPtrC ptrMessageConversion; - TSmsPIDConversion smsPidConversion = ESmsConvPIDNone; - returnValue=iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KPtMessageConversion, ptrMessageConversion); - if ( !returnValue ) - { - iTestStep.INFO_PRINTF1(_L("The message conversion is not provided. Default (PIDNone) is taken")); - } - if ( returnValue ) - { - iTestStep.INFO_PRINTF2(_L("The message conversion to be set is : %S"), &ptrMessageConversion); - //Get the Message conversion id - smsPidConversion = GetMessageConversionId(ptrMessageConversion); - } - //Set the message conversion. - CSmsSettings *smsSettings = CSmsSettings::NewL(); - CleanupStack::PushL(smsSettings); - aSmsHeader.GetDefaultMessageSettingsL(*smsSettings); - smsSettings->SetMessageConversion(smsPidConversion); - CleanupStack::Pop(smsSettings); - - // Set the other message settings - aSmsHeader.CdmaMessage().SetPrivacyIndicatorL(tia637::KBdRestricted); - aSmsHeader.CdmaMessage().SetPriorityIndicatorL(tia637::KBdUrgent); - aSmsHeader.CdmaMessage().SetAlertOnDeliveryL(tia637::KBdUseMediumPriorityAlert); - aSmsHeader.CdmaMessage().SetLanguageIndicatorL(tia637::KLanguageEnglish); - } - -/** - Sets the cdma sms service settings fields using data read from the - ini file. If no data is provided/read from ini file, the default - account settings is used. - @param aSmsSettings - reference of the CSmsSettings -*/ -void CTestMessCreateCdmaSmsUtil::SetSmsAccountSettings(CSmsSettings& aSmsSettings) - { - iTestStep.INFO_PRINTF1(_L("Set SMS account Settings....")); - TBool boolTemp; - - // Set the Reply quoted setting. - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KReplyQuoted, boolTemp) ) - { - aSmsSettings.SetReplyQuoted(boolTemp); - } - - // Set the priority indicator - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtPriorityIndicator, boolTemp) ) - { - aSmsSettings.MessageSettings().Cdma().ActivateMessageSetting(tia637::KTPriorityIndicator, boolTemp); - } - - //Set the Privacy Indicator - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtPrivacyIndicator, boolTemp) ) - { - aSmsSettings.MessageSettings().Cdma().ActivateMessageSetting(tia637::KTPrivacyIndicator, boolTemp); - } - - //Set the Reply option - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtReplyOption, boolTemp) ) - { - aSmsSettings.MessageSettings().Cdma().ActivateMessageSetting(tia637::KTReplyOption, boolTemp); - } - - //Set the alert on Message deliver - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtAlertonDelivery, boolTemp) ) - { - aSmsSettings.MessageSettings().Cdma().ActivateMessageSetting(tia637::KTAlertOnMessageDelivery, boolTemp); - } - - //Set the Language Indicator - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KPtLanguageIndicator, boolTemp) ) - { - aSmsSettings.MessageSettings().Cdma().ActivateMessageSetting(tia637::KTLanguageIndicator, boolTemp); - } - - aSmsSettings.SetValidityPeriod(ESmsVPWeek); // week - aSmsSettings.SetValidityPeriodFormat(TSmsFirstOctet::ESmsVPFInteger); //relative - aSmsSettings.SetDelivery(ESmsDeliveryImmediately); - } - -/** - Get the message type id - @param aMessageType - TPtrC object holding the message type - @return TSmsMessageType - message type id -*/ -TSmsMessageType CTestMessCreateCdmaSmsUtil::GetMessageTypeId(const TDesC& aMessageType) - { - //Default message type is assigned - TSmsMessageType smsMessageType = KSmsTypeSubmit; - - if( aMessageType.Compare(KPtSubmit) ==0) - { - smsMessageType = KSmsTypeSubmit; - } - else if( aMessageType.Compare(KPtCancel) ==0) - { - smsMessageType = KSmsTypeCdmaCancellation; - } - else - { - iTestStep.WARN_PRINTF1(_L("Invalid message type provided. Default is used")); - } - return smsMessageType; - } - -/** - Gets the Teleservice Id - @param aTeleService - TPtrC holding the tele service name - @return tia637::TTeleserviceId - teleservice id -*/ -tia637::TTeleserviceId CTestMessCreateCdmaSmsUtil::GetTeleServiceId(const TDesC& aTeleService) - { - //default teleservice ID assigned - tia637::TTeleserviceId teleServiceId = tia637::KTeleserviceWMT; - - iTestStep.INFO_PRINTF2(_L("Teleservice set is : %S"), &aTeleService); - if( aTeleService.Compare(KPtTeleScpt) ==0) - { - teleServiceId = tia637::KTeleserviceSCPT; - } - else if( aTeleService.Compare(KPtTeleCatpt) ==0) - { - teleServiceId = tia637::KTeleserviceCATPT; - } - else if( aTeleService.Compare(KPtTeleCmt91) ==0) - { - teleServiceId = tia637::KTeleserviceCMT91; - } - else if( aTeleService.Compare(KPtTeleVmn) ==0) - { - teleServiceId = tia637::KTeleserviceVMN; - } - else if( aTeleService.Compare(KPtTeleWap) ==0) - { - teleServiceId = tia637::KTeleserviceWAP; - } - else if( aTeleService.Compare(KPtTeleWemt) ==0) - { - teleServiceId = tia637::KTeleserviceWEMT; - } - else if( aTeleService.Compare(KPtTeleWmt) ==0) - { - teleServiceId = tia637::KTeleserviceWMT; - } - else if( aTeleService.Compare(KPtTeleWpt) ==0) - { - teleServiceId = tia637::KTeleserviceWPT; - } - else - { - iTestStep.WARN_PRINTF1(_L("Invalid Teleservice provided. Default WMT used")); - } - - return teleServiceId; - } - -/** - Gets the Message Conversion Id - @param aTeleService - TPtrC holding the tele service name - @return tia637::TTeleserviceId - teleservice id -*/ -TSmsPIDConversion CTestMessCreateCdmaSmsUtil::GetMessageConversionId(const TDesC& aMessageConversion) - { - TSmsPIDConversion smsPidConv = ESmsConvPIDNone; - - iTestStep.INFO_PRINTF2(_L("The message conversion set is : %S"), &aMessageConversion); - if( aMessageConversion.Compare(KPtPidFax) ==0) - { - smsPidConv = ESmsConvFax; - } - else if( aMessageConversion.Compare(KPtPidX400) ==0) - { - smsPidConv = ESmsConvX400; - } - else if( aMessageConversion.Compare(KPtPidPaging) ==0) - { - smsPidConv = ESmsConvPaging; - } - else if( aMessageConversion.Compare(KPtPidMail) ==0) - { - smsPidConv = ESmsConvMail; - } - else if( aMessageConversion.Compare(KPtPidErmes) ==0) - { - smsPidConv = ESmsConvErmes; - } - else if( aMessageConversion.Compare(KPtPidSpeech) ==0) - { - smsPidConv = ESmsConvSpeech; - } - else - { - iTestStep.INFO_PRINTF1(_L("The message conversion provided is invalid")); - iTestStep.INFO_PRINTF1(_L("The default NONE message conversion is set")); - } - - return smsPidConv; - }