diff -r ebe688cedc25 -r 7fdbb852d323 email/mail/EditorSrc/MsgMailEditorDocument.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/mail/EditorSrc/MsgMailEditorDocument.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2002 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: Declares document class of Mail Editor. +* +*/ + + +#ifndef MSGMAILEDITORDOCUMENT_H +#define MSGMAILEDITORDOCUMENT_H + +// INCLUDES + +#include "MsgMailDocument.h" // CMsgMailDocument + +#include // KUidMsgTypeSMTP, KUidMsvServiceEntry +#include // for TImAttachmentInfo +#include +#include +#include + + +// FORWARD DECLARATIONS +class CEikAppUi; +class CMsgMailPreferences; +class MsgMailDRMHandler; + +// CLASS DECLARATION + +/** +* CMsgMailEditorDocument document class. +*/ +class CMsgMailEditorDocument +: public CMsgMailDocument + { + public: // Constructors and destructor + /** + * Two-phased constructor. + * @param aApp a reference to an application + * @return A pointer to created document object + */ + static CMsgMailEditorDocument* NewL(CEikApplication& aApp); + + /** + * Destructor. + */ + virtual ~CMsgMailEditorDocument(); + + public: // New functions + + /** + * Check that are we creating a new entry or editing an old one. + */ + TBool IsNewMessage() const; + + /** + * Check if this is reply message. + */ + TBool IsReplyMessage() const; + + /** + * Check if this is a forward message. + */ + TBool IsForwardMessage() const; + + /** + * Read sending options. + * If new message read default settings. + * If old message read settings from mail entry. + */ + void ReadSendOptionsL(); + + /** + * @return ETrue if Online + */ + TBool IsOnlineL(); + + /** + * Opens mail message entry + * @since S60 3.1 + * @param aEntry Entry to be opened. + */ + void OpenMailMessageEntryL( TMsvEntry aEntry ); + + /** + * Send mail message + * @since S60 3.1 + * @param aMsgId Entry to be send. + */ + void SendImmediatelyL( const TMsvId aMsgId ); + + /** + * Get array of healty mailboxes + * @since S60 3.1 + * @param aFlags see MIMAMailboxDoctor::GetHealthyMailboxList + * Ownership not transferred. + */ + MImumInHealthServices::RMailboxIdArray GetHealthyMailboxListL( + const TInt64& aFlags ); + + MMsvAttachmentManager& GetAttachmentManagerL(); + + private: // implementation + + CMsgMailEditorDocument(CEikApplication& aApp); + void ConstructL(); + + private: // New functions + /** + * This is called from NotifyChanges and possible leave is + * trapped there. + * @param aCommand executed command + * @param aAttachmentInfo affected attachment + */ + void NotifyChangesL(TMsgAttachmentCommand aCommand, + CMsgAttachmentInfo* aAttachmentInfo); + + private: // Functions from base classes + + /// From CEikDocument, create CMsgMailEditorAppUi "App UI" object. + CEikAppUi* CreateAppUiL(); + + public: + /// From MMsgAttachmentModelObserver + void NotifyChanges( + TMsgAttachmentCommand aCommand, + CMsgAttachmentInfo* aAttachmentInfo); + + // From MMsgAttachmentModelObserver + RFile GetAttachmentFileL( TMsvAttachmentId aId ); + + private: // data + + // Owned: Pointer to email API object + CImumInternalApi* iEmailApi; + + // Owned: Array of mailbox ids + MImumInHealthServices::RMailboxIdArray iMailboxArray; + + }; + +#endif + +// End of File +