--- a/buildverification/autosmoketest/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 <csmsaccount.h>
-
-/*@{*/
-_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;
- }