diff -r 000000000000 -r 72b543305e3a mobilemessaging/smsmtm/servermtm/inc/SMSSendSession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smsmtm/servermtm/inc/SMSSendSession.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,87 @@ +// 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: +// + +#ifndef __SMSSENDSESSION_H__ +#define __SMSSENDSESSION_H__ + +#include +#include + +#include "smssactive.h" + +class TSmsProgress; +class CRichText; +class CSmsSend; +class CSmsRecipientSend; + +class CSmsSendSession : public CSmssActive +/** +@internalComponent +@released +*/ + { +public: + + static CSmsSendSession* NewL(TSmsProgress& aProgress, CMsvServerEntry& aServerEntry, RFs& aFs, CSmsHeader& aHeader, CRichText& aRichText, TMsvEntry& aEntry); + ~CSmsSendSession(); + + void SendSms(TRequestStatus& aStatus); + TMsvId IncSms(); + TMsvId Id() {return iId;} + void DivideMessagesL(CMsvEntrySelection& aSelection); + +private: + + CSmsSendSession(TSmsProgress& aProgress, RFs& aFs, CMsvServerEntry& aServerEntry, CSmsHeader& aHeader); + void ConstructL(CRichText& aRichText, TMsvEntry& aEntry); + void CreateRecipientsL(); + + void DoSmssCancel(); + void DoRunL(); + void DoComplete(TInt& aStatus); //from CSmssActive + + enum TSmsSendSessionState + { + ESessionSending, + ESessionNoMoreMessages, + ESessionNoSendTypes + } iState; + + class CSmsSendType : public CBase + { + public: + static CSmsSendType* NewL(CSmsRecipientSend* aRecipientSend); + ~CSmsSendType(); + + CSmsRecipientSend* iRecipientSend; + CMsvEntrySelection* iSelection; + TInt iCurrentMessage; + + private: + CSmsSendType(CSmsRecipientSend* aRecipient); + void ConstructL(); + }; + + TMsvId GetNextSms(TInt& aCurType, CSmsSendType* aSendType, TInt& aCurMsg); + + CArrayPtrFlat* iSendTypes; + CSmsSend* iSmsSend; + TSmsProgress& iProgress; + TInt iCurrentSendType; + TMsvId iId; + CSmsHeader& iSmsHeader; + }; + +#endif // __SMSSENDSESSION_H__