messagingappbase/smsmtm/servermtm/src/SMSRecipientSend.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingappbase/smsmtm/servermtm/src/SMSRecipientSend.cpp	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-// Copyright (c) 1999-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 <e32std.h>
-#include <e32base.h>
-#include <msventry.h>
-#include <smutset.h>
-#include <gsmubuf.h>
-#include <smsulog.h>
-#include <biodb.h>
-#include <smuthdr.h>
-
-#include "SMSRecipientSend.h"
-#include "SMSSSEND.H"
-#include "SMSSPAN.H"
-#include <smsulog.h>
-#include <logwraplimits.h>
-
-CSmsRecipientSend::~CSmsRecipientSend()
-	{
-	delete iLogger;
-
-	if (iSocket.SubSessionHandle())
-		{
-		iSocket.Close();
-		}
-
-	if (iSession.Handle())
-		{
-		iSession.Close();
-		}
-	}
-
-void CSmsRecipientSend::Start(TRequestStatus& aStatus, const TMsvEntry& aEntry, CSmsHeader& aHeader, CSmsNumber& aRecipient)
-	{
-	__ASSERT_DEBUG(iState==ESmsRecipientSendWaiting,Panic(KSmssPanicUnexpectedState));
-
-	Queue(aStatus);
-	iEntry		= aEntry;
-	iHeader		= &aHeader;
-	iRecipient	= &aRecipient;
-
-	TRAPD(err, StartL());
-
-	if (err)
-		Complete(err);
-	}
-
-CSmsRecipientSend::CSmsRecipientSend(TSmsProgress& aProgress, RFs& aFs, CMsvServerEntry& aServerEntry)
-:	CSmssActive(aFs, aServerEntry, KSmsSessionPriority),
-	iProgress(aProgress),
-	iState(ESmsRecipientSendWaiting)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-void CSmsRecipientSend::ConstructL()
-	{
-	iLogger = CSmsEventLogger::NewL(iFs);
-	}
-
-void CSmsRecipientSend::DoRunL()		
-	{
-	switch (iState)
-		{
-		case ESmsRecipientSendGetLogEvent:
-			{
-			if (iLogger->iStatus == KErrNone)
-				{
-				//no log error
-				ChangeLogEvent();
-				}
-			else 
-				{
-				//Log error has occurred
-				if (-(iLogger->iStatus.Int()) == KErrNotFound)
-					{
-					AddLogEvent();
-					}
-				else
-					{
-					SendMessageL();
-					}
-				}
-			break;
-			}
-		case ESmsRecipientSendAddLogEvent:
-			{
-			TLogId logId = KLogNullId;
-
-			if (iLogger->iStatus == KErrNone)
-				{
-				//No log error has occurred
-				logId = iLogger->Event().Id();
-				}
-
-			iHeader->Message().SetLogServerId(logId);
-			iRecipient->SetLogId(logId);
-			//do not break here...
-			}
-		case ESmsRecipientSendChangeLogEvent:
-			{
-			SendMessageL();
-			break;
-			}
-		case ESmsRecipientSendSendingMessage:
-			{
-			iState = ESmsRecipientSendWaiting;
-			break;
-			}
-		case ESmsRecipientSendWaiting:
-		default:
-			Panic(KSmssPanicUnexpectedState);
-		}
-	}
-
-void CSmsRecipientSend::DoComplete(TInt& aStatus)
-	{
-	//Set the state to waiting
-	iState		= ESmsRecipientSendWaiting;
-	iHeader		= NULL;
-	iRecipient	= NULL;
-	iEntry		= TMsvEntry();
-	iProgress.iError = aStatus;
-
-	aStatus = KErrNone;
-
-	SMSSLOG(FLogFormat(_L8("CSmsRecipientSend completed with %d"), iProgress.iError));
-	}
-
-void CSmsRecipientSend::GetDefaultSendBearerL(TInt aBioType, TBioMsgIdType aBearer, TBioMsgId& rBioMsgId) const
-	{
-	CBIODatabase* bdb = CBIODatabase::NewL(iFs);
-	CleanupStack::PushL(bdb);
-
-	TInt index = 0;
-	TUid uid;
-	uid.iUid = aBioType;
-	bdb->GetBioIndexWithMsgIDL(uid, index); //leaves with KErrNotFound if aBioType does not exist in bdb
-
-	const CArrayFix<TBioMsgId>* bioIDs = bdb->BIOEntryLC(index);
-	const TInt count = bioIDs->Count();
-	TBool found = EFalse;
-
-	for (TInt i = 0; !found && i < count; i++) //order important
-		{
-		rBioMsgId = bioIDs->At(i);
-		found = (rBioMsgId.iType == aBearer && AcceptBioMsgId(rBioMsgId));
-		}
-
-	CleanupStack::PopAndDestroy(2); //bdb, bioIDs
-
-	if (!found)
-		User::Leave(KErrNotFound);
-	}
-
-TInt CSmsRecipientSend::AcceptBioType(TInt aBioType, TBioMsgIdType aBearer) const
-	{
-	TBioMsgId bioMsgId;
-	TRAPD(err, GetDefaultSendBearerL(aBioType, aBearer, bioMsgId));
-	return err;
-	}
-
-void CSmsRecipientSend::GetLogEvent()
-	{
-	TLogId id = iRecipient->LogId();
-	iHeader->Message().SetLogServerId(id);
-	iLogger->GetEvent(iStatus, id);
-	SetActive();
-	iState = ESmsRecipientSendGetLogEvent;
-	}
-
-void CSmsRecipientSend::AddLogEvent()
-	{
-	TInt logStatus = R_LOG_DEL_NONE;
-	iHeader->Message().SetLogServerId(KLogNullId);
-	
-	TLogSmsPduData data;
-	// Initialise the data members
-	data.iType		= 0;
-	data.iTotal		= 0;
-	data.iSent		= 0;
-	data.iDelivered	= 0;
-	data.iFailed	= 0;
-	data.iReceived	= 0;
-	
-	iLogger->AddEvent(iStatus, iHeader->Message(), data, &logStatus);
-	SetActive();
-	iState = ESmsRecipientSendAddLogEvent;
-	}
-
-void CSmsRecipientSend::ChangeLogEvent()
-	{
-	TInt logStatus = R_LOG_DEL_NONE;
-	TLogSmsPduData data;
-	data.iType		= 0;
-	data.iTotal		= 0;
-	data.iSent		= 0;
-	data.iDelivered	= 0;
-	data.iFailed	= 0;
-	data.iReceived	= 0;
-	iLogger->ChangeEvent(iStatus, iHeader->Message(), data, &logStatus);
-	SetActive();
-	iState = ESmsRecipientSendChangeLogEvent;
-	}
-
-void CSmsRecipientSend::DoSmssCancel()
-	{
-	switch (iState)
-		{
-		case ESmsRecipientSendGetLogEvent:
-		case ESmsRecipientSendAddLogEvent:
-		case ESmsRecipientSendChangeLogEvent:
-			SMSSLOG(FLogFormat(_L8("CSmsRecipientSend::DoSmssCancel() cancelling logging for msg %d"), iEntry.Id()));
-			iLogger->Cancel();
-			break;
-		case ESmsRecipientSendSendingMessage:
-			DoCancelSendingMessage();
-			break;
-		default:
-			break;
-		}
-	}