diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrtasks/inc/cesmrfsemailmanager.h --- a/meetingrequest/mrtasks/inc/cesmrfsemailmanager.h Mon Mar 15 12:39:10 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ -/* -* Copyright (c) 2007-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: Class encapsulating FS email sending -* -*/ - - -#ifndef C_ESMRFSEMAILMANAGER_H -#define C_ESMRFSEMAILMANAGER_H - -#include -// -#include "cfsmailcommon.h" -#include "mmrinfoprocessor.h" -#include "esmrdef.h" -// - -class CFSMailBox; -class CFSMailMessage; -class CFSMailMessagePart; -class CFSMailClient; -class CMRMailboxUtils; -class TESMRInputParams; - -/** - * Class definition for FS Email manager class. This class encapsulates - * all mail sending acitivities with FS EMail framework. - * - * @lib esmrtasks.lib - */ -NONSHARABLE_CLASS( CESMRFSEMailManager ) : public CBase - { -public: - /** Enumeration for text/calendar part */ - enum TESMRMethod - { - EESMRMethodRequest, // Request - EESMRMethodResponse, // response - EESMRMethodCancel // cancellation - }; - -public: // Construction and destruction - /** - * Creates and initializes new CESMRSendMRRespFSEmailTask object. - * Ownership is transferred to caller. - * @param aMRMailboxUtils Reference to mailbox utilities - */ - static CESMRFSEMailManager* NewL( - CMRMailboxUtils& aMRMailboxUtils ); - - /** - * C++ destructor. - */ - ~CESMRFSEMailManager(); - - /** - * Prepares email manager to be used for sending meeting - * request. - * - * @param aMailboxOwnerAddr mailbox owner's email address - */ - void PrepareForSendingL( - const TDesC& aMailboxOwnerAddr ); - - /** - * Prepares email manager to be used for sending reply - * message. - * - * @param aMailboxOwnerAddr mailbox owner's email address - * @param aMsgId original message's id - * @param aReplyAll is this reply for all participants - */ - void PrepareForSendingReplyL( - const TDesC& aMailboxOwnerAddr, - const TFSMailMsgId& aMsgId, - TBool aReplyAll ); - - /** - * Sets sender to email message - * @param aAddress Sender's email address - * @param aCommonName Sender's common name - */ - void SetSenderL( - const TDesC& aAddress, - const TDesC& aCommonName ); - - /** - * Sets reply to address to email message - * @param aAddress Email address - * @param aCommonName Common name - */ - void SetReplyToAddressL( - const TDesC& aAddress, - const TDesC& aCommonName ); - - /** - * Sets recipient to field - * @param aAddress Recipient's email address - * @param aCommonName Recipient's common name - */ - void AppendToRecipientL( - const TDesC& aAddress, - const TDesC& aCommonName ); - - /** - * Sets recipient to field - * @param aAddress Recipient's email address - * @param aCommonName Recipient's common name - */ - void AppendCCRecipientL( - const TDesC& aAddress, - const TDesC& aCommonName ); - - /** - * Sets subject to email message - * @param aSubject Email message's subject. - */ - void SetSubjectL( - const TDesC& aSubject); - - /** - * Sets plain text part to email message. - * @param aPlainText Plain text context - */ - void CreateTextPlainPartL( - const TDesC& aPlainText); - - /** - * Sets calendar part to email message. - * @param aCalendarMethod Calendar entry method. - */ - void CreateTextCalendarPartL( - TESMRMethod aCalendarMethod ); - - /** - * Sets calendar part to email message. - * @param aCalendarMethod Calendar entry method. - * @param aFilename File containing calendar part - */ - void CreateTextCalendarPartL( - TESMRMethod aCalendarMethod, - const TDesC& aFilename ); - - /** - * Adds attachment to email message. - * @param aAttachmentFile attachment filename. - */ - void SetAttachmentL( - const TDesC& aAttachmentFile ); - - /** - * Stores message to drafts folder. - */ - TInt StoreMessageToDraftsFolderL(); - - /** - * Sends message. - */ - TInt SendMessageL(); - - /** - * Fetches mailbox id. - * @return Mailbox id - */ - TFSMailMsgId MailboxId() const; - - /** - * Send MRINFO object via mail framework - * @param aParam Reference to ESMR input parameters - * @param aInfoObject Reference to MRINFO object - * @param aResponseMode Response mode definition. - * @param aFreeResponseText Free response text - */ - void SendMailViaSyncL( - TESMRInputParams& aParams, - MMRInfoObject& aInfoObject, - MMRInfoProcessor::TMRInfoResponseMode aResponseMode, - const TDesC& aFreeResponseText ); - - /** - * Fetches message id. - * @return Message id - */ - TFSMailMsgId MessageId() const; - - /** - * Fetches message folder id. - * @return Message folder id - */ - TFSMailMsgId MessageFolderId() const; - -private: - CESMRFSEMailManager( - CMRMailboxUtils& aMRMailboxUtils ); - - void ConstructL(); - - CFSMailBox* SelectMailBoxL( - const TDesC& aMailboxOwnerAddr ); - - CFSMailMessage* CreateMessageL(); - - CFSMailMessagePart* CreateParentPartL(); - - void AddPlainTextPartL( - const TDesC& aContent ); - - void AddMessagePartFromFileL( - const TDesC& aContentType, - const TDesC& aContentClass, - const TDesC& aContentDescription, - const TDesC& aContentDisposition, - const TDesC& aFileAndPath ); - -private: // Data - /** - * Reference to mailbox utilites - * Not own. - */ - CMRMailboxUtils& iMRMailboxUtils; - - /** - * FS EMail client - * Own. - */ - CFSMailClient* iMailClient; - - /** - * FS EMailBox - * Own. - */ - CFSMailBox* iMailBox; - - /** - * FS Mail message - * Own. - */ - CFSMailMessage* iMessage; - - /** - * Parent message part - * Not own. - */ - CFSMailMessagePart* iParentPart; - }; - -#endif // C_ESMRFSEMAILMANAGER_H