diff -r 3a35f7917fa6 -r 5b5908ec640f buildverification/smoketest/messaging/Src/TestMessCreateGsmSmsUtil.cpp --- a/buildverification/smoketest/messaging/Src/TestMessCreateGsmSmsUtil.cpp Thu May 27 12:52:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +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: -// This class creates the Gsm sms header and service settings. It fills up the -// fields using data read from the ini file -// -// - -#include "Configuration.cfg" - -#include "TestMessCreateGsmSmsUtil.h" - -/** - Constructor -*/ -CTestMessCreateGsmSmsUtil::CTestMessCreateGsmSmsUtil(CTestMessBase &aTestStep) -: CTestMessCreateSmsUtilBase(aTestStep) - { - aTestStep.INFO_PRINTF1(_L("The GSM SMS util is created")); - } - -/** - Prepares the SMS account details for CSendAs/RSendAs - @leave - KErrNoMemory - @leave - System wide error codes -*/ -void CTestMessCreateGsmSmsUtil::PrepareAccountL(CMsvSession& /*aSession*/) - { - } - -/** - Creates the header object for the GSM sms message - @param aBodyText - body text of the message - @return CSmsHeader* - pointer to CSmsHeader - @leave - KErrNoMemory - @leave - system wide error codes -*/ -CSmsHeader* CTestMessCreateGsmSmsUtil::NewHeaderL(CRichText &aBodyText) - { - return CSmsHeader::NewL(CSmsPDU::ESmsSubmit, aBodyText); - } - -/** - Fills up the header object with the data read from the ini file. - @param aSmsHeader - sms header object ofthe sms message - @leave - system wide error codes -*/ -void CTestMessCreateGsmSmsUtil::PrepareHeaderL(CSmsHeader &aSmsHeader) - { - // Get bearer data - TPtrC ptrBearer; - TBool returnValue=iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KBearer, ptrBearer); - if ( !returnValue ) - { - //If bearer is not provided, read from the default section of the ini file - returnValue=iTestStep.GetStringFromConfig(KDef, KDefBearer, ptrBearer); - } - - if ( returnValue ) - { - //default value for Bio message ID type - TBioMsgIdType bearer = EBioMsgIdNbs; - - iTestStep.INFO_PRINTF2(_L("Bearer = %S"), &ptrBearer); - if (ptrBearer.CompareF(KBearerWap) == 0) - { - //Set Wap message ID - bearer = EBioMsgIdWap; - } - else if (ptrBearer.CompareF(KBearerWapSecure) == 0) - { - //Set WapSecure message ID - bearer = EBioMsgIdWapSecure; - } - else - { - iTestStep.INFO_PRINTF1(_L("No supported bearer is provided. Default is used")); - } - - //Set the Bio message ID type. -#if (defined CDMA_API_ENABLED) - aSmsHeader.BioMessage().SetBioMsgIdType(bearer); -#else - aSmsHeader.SetBioMsgIdType(bearer); -#endif - } - - // Get encoding data - TInt encoding; - returnValue=iTestStep.GetIntFromConfig(iTestStep.ConfigSection(), KEncoding, encoding); - if ( !returnValue ) - { - //If encoding is not provied, read it from the default section of the ini file - returnValue=iTestStep.GetIntFromConfig(KDef, KDefEncoding, encoding); - } - if ( returnValue ) - { - iTestStep.INFO_PRINTF2(_L("Encoding = %d"), encoding); -#if (defined CDMA_API_ENABLED) - TSmsCharacterEncoding charEncoding; - - switch (encoding) - { - case 7: - //7 bit encoding format - charEncoding = KSmsEncoding7BitGsm; - break; - case 8: - //8 bit encoding format - charEncoding = KSmsEncodingBinary; - break; - case 16: - //Unicode encoding format - charEncoding = KSmsEncodingUnicode; - break; - default: - //default encoding format - charEncoding = KSmsEncoding7BitGsm; - break; - } - - //Set the character encoding - aSmsHeader.BioMessage().SetEncoding(charEncoding); -#else - TSmsDataCodingScheme::TSmsAlphabet alpha = TSmsDataCodingScheme::ESmsAlphabet7Bit; - - switch (encoding) - { - case 7: - alpha = TSmsDataCodingScheme::ESmsAlphabet7Bit; - break; - case 8: - alpha = TSmsDataCodingScheme::ESmsAlphabet8Bit; - break; - case 16: - alpha = TSmsDataCodingScheme::ESmsAlphabetUCS2; - break; - default: - alpha = TSmsDataCodingScheme::ESmsAlphabet7Bit; - break; - } - - CSmsPDU& pdu=aSmsHeader.Message().SmsPDU(); - if ( pdu.DataCodingSchemePresent() ) - { - pdu.SetAlphabet(alpha); - } -#endif - } - - // Get delivery report data - TPtrC ptrDeliveryReport; - returnValue=iTestStep.GetStringFromConfig(iTestStep.ConfigSection(), KDeliveryReport, ptrDeliveryReport); - if ( !returnValue ) - { - returnValue=iTestStep.GetStringFromConfig(KDef, KDefDeliveryReport, ptrDeliveryReport); - } - if ( returnValue ) - { - TBool changeDR = EFalse; - TBool deliveryReport = EFalse; - - iTestStep.INFO_PRINTF2(_L("Delivery Report = %S"), &ptrDeliveryReport); - if (ptrDeliveryReport.CompareF(_L("NO")) == 0) - { - changeDR = ETrue; - deliveryReport = EFalse; - } - else if (ptrDeliveryReport.CompareF(_L("YES")) == 0) - { - changeDR = ETrue; - deliveryReport = ETrue; - } - - if ( changeDR ) - { -#if (defined CDMA_API_ENABLED) - aSmsHeader.SetAcknowledgementRequest(ESmsAckTypeDelivery, deliveryReport); -#else - switch ( aSmsHeader.Type() ) - { - case CSmsPDU::ESmsSubmit: - aSmsHeader.Submit().SetStatusReportRequest(deliveryReport); - break; - case CSmsPDU::ESmsCommand: - aSmsHeader.Command().SetStatusReportRequest(deliveryReport); - break; - default: - User::Leave(KErrNotSupported); - } -#endif - } - } - } -/** - Sets the fields for the sms account settings using data read from the ini file - If no data is given in ini file, the default settings in the account is used. - @param aSmsSettings - CSmsSettings reference -*/ -void CTestMessCreateGsmSmsUtil::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 Reject duplicate settings. - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KRejectDuplicate, boolTemp) ) - { -#if (defined CDMA_API_ENABLED) - aSmsSettings.MessageSettings().Gsm().SetRejectDuplicate(boolTemp); -#else - aSmsSettings.SetRejectDuplicate(boolTemp); -#endif - } - - // Set the option for delivery report. - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KDeliveryReport, boolTemp) ) - { - aSmsSettings.SetDeliveryReport(boolTemp); - } - - // Set the concatenate feature - if ( iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KConCatenate, boolTemp) ) - { -#if (defined CDMA_API_ENABLED) - aSmsSettings.MessageSettings().Gsm().SetCanConcatenate(boolTemp); -#else - aSmsSettings.SetCanConcatenate(boolTemp); -#endif - } - - // Set whether to use the same path while replying. - if(iTestStep.GetBoolFromConfig(iTestStep.ConfigSection(), KReplyPath, boolTemp)) - { -#if (defined CDMA_API_ENABLED) - aSmsSettings.MessageSettings().Gsm().SetReplyPath(boolTemp); -#else - aSmsSettings.SetReplyPath(boolTemp); -#endif - } - - //can implement these features later... - aSmsSettings.SetValidityPeriod(ESmsVPWeek); // week - aSmsSettings.SetValidityPeriodFormat(TSmsFirstOctet::ESmsVPFInteger); //relative - aSmsSettings.SetDelivery(ESmsDeliveryImmediately); - aSmsSettings.SetMessageConversion(ESmsConvPIDNone); - }