--- 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);
- }