diff -r 238255e8b033 -r 84d9eb65b26f messagingappbase/smsmtm/servermtm/src/WapRecipientSend.cpp --- a/messagingappbase/smsmtm/servermtm/src/WapRecipientSend.cpp Fri Apr 16 14:56:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -// Copyright (c) 2000-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 -#include -#include "SMSSPAN.H" -#include "SMSRecipientSend.h" -#include - -#ifndef _MSG_NO_LOGGING - _LIT(KWapRecipientSendLogFile, "WapSend.txt"); -#endif - -CWapRecipientSend* CWapRecipientSend::NewL(TSmsProgress& aProgress, RFs& aFs, CMsvServerEntry& aServerEntry) - { - CWapRecipientSend* self = new (ELeave) CWapRecipientSend(aProgress, aFs, aServerEntry); - CleanupStack::PushL(self); - - self->ConstructL(); - - CleanupStack::Pop(); - return self; - } - -TBool CWapRecipientSend::AcceptMessage(const TMsvEntry& aEntry, const CSmsHeader& aHeader) const - { - TBool retVal = (aEntry.iBioType != 0); - - const TBioMsgIdType bearer = aHeader.BioMsgIdType(); - - if (retVal) - { - retVal = (bearer == EBioMsgIdWap || bearer == EBioMsgIdWapSecure); - retVal |= (bearer == EBioMsgIdNbs && aHeader.Submit().Alphabet() == TSmsDataCodingScheme::ESmsAlphabet7Bit); - } - - if (retVal) - { - TInt err = AcceptBioType(aEntry.iBioType, bearer); - retVal = (err == KErrNone); - } - - return retVal; - } - -TBool CWapRecipientSend::AcceptBioMsgId(const TBioMsgId& aBioMsgId) const - { - TBool retVal = (aBioMsgId.iType == EBioMsgIdWap || aBioMsgId.iType == EBioMsgIdWapSecure); - - if (!retVal) - { - retVal = (aBioMsgId.iType == EBioMsgIdNbs && !aBioMsgId.iText.Length()); - } - - retVal &= (aBioMsgId.iPort > 0); - - return retVal; - } - - -CWapRecipientSend::CWapRecipientSend(TSmsProgress& aProgress, RFs& aFs, CMsvServerEntry& aServerEntry) -: CSmsRecipientSend(aProgress, aFs, aServerEntry) - { - } - -void CWapRecipientSend::StartL() - { - if (iRecipient->LogId() == KLogNullId) - { - AddLogEvent(); - } - else - { - GetLogEvent(); - } - } - -void CWapRecipientSend::SendMessageL() - { - SMSSLOG(FLogFormat(_L8("CWapRecipientSend::SendMessageL() for msg %d"), iEntry.Id())); - - __ASSERT_DEBUG(iEntry.iBioType, Panic(KSmssPanicBioTypeNotSet)); - - const CSmsMessage& message = iHeader->Message(); - - SMSSLOG(FLogMessage(iEntry, message, iHeader->BioMsgIdType(), KWapRecipientSendLogFile)); - - //Convert the telephone number to a 8-bit descriptor - HBufC8* addr = HBufC8::NewLC(message.ToFromAddress().Length()); - TPtr8 addrPtr(addr->Des()); - addrPtr.Copy(message.ToFromAddress()); - - //Extract the message from the CSmsMessage - const TInt length = message.Buffer().Length(); - HBufC* msg = HBufC::NewLC(length); - TPtr msgPtr(msg->Des()); - message.Buffer().Extract(msgPtr, 0, length); - - //Convert the message to 8-bit - delete iMessage8; - iMessage8 = NULL; - iMessage8 = HBufC8::NewL(length); - TPtr8 msg8Ptr(iMessage8->Des()); - msg8Ptr.Copy(msgPtr); - - //Get the port number from the BIO Database - TBioMsgId bioMsgId; - GetDefaultSendBearerL(iEntry.iBioType, iHeader->BioMsgIdType(), bioMsgId); - iWapAddr.SetWapAddress(*addr); - iWapAddr.SetPort(bioMsgId.iPort); - - if (!iSession.Handle()) - { - User::LeaveIfError(iSession.Connect()); - } - - if (!iSocket.SubSessionHandle()) - { - User::LeaveIfError(iSocket.Open(iSession, KWAPSMSAddrFamily, KSockDatagram, KWAPSMSDatagramProtocol)); - } - - //Set the SMS Data Encoding Scheme - switch (iHeader->Submit().Alphabet()) - { - case TSmsDataCodingScheme::ESmsAlphabet8Bit: - { - TWapSmsDataCodingScheme codingScheme = EWapSms8BitDCS; - User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,codingScheme)); - break; - } - case TSmsDataCodingScheme::ESmsAlphabet7Bit: - break; - default: - User::Leave(KErrNotSupported); - } - - //Send the message - iSocket.SendTo(*iMessage8, iWapAddr, 0, iStatus); - CleanupStack::PopAndDestroy(2); //addr, msg - iState = ESmsRecipientSendSendingMessage; - SetActive(); - } - -void CWapRecipientSend::DoCancelSendingMessage() - { - SMSSLOG(FLogFormat(_L8("CWapRecipientSend::DoCancelSendingMessage() while sending msg %d"), iEntry.Id())); - iSocket.CancelSend(); - } - -CWapRecipientSend::~CWapRecipientSend() - { - Cancel(); - delete iMessage8; - }