email/mail/inc/MMailMessageView.h
changeset 0 72b543305e3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/email/mail/inc/MMailMessageView.h	Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2002-2004 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:  Message view plug-in interface
+*
+*/
+
+
+
+#ifndef MMAILMESSAGEVIEW_H
+#define MMAILMESSAGEVIEW_H
+
+#include <e32def.h>
+#include <coedef.h>
+#include <w32std.h>
+
+
+// FORWARD DECLARATIONS
+class MMailAppUiInterface;
+class CEikMenuPane;
+class CMailMessage;
+class RFileReadStream;
+
+// CLASS DECLARATION
+
+/**
+*  MMailMessageView interface.
+*
+*  @since Series 60 3.0
+*/
+class MMailMessageView
+    {
+    public:  // destructor
+
+        /**
+        * Destructor.
+        */
+        virtual ~MMailMessageView(){};
+        
+    public: // New functions
+
+        /**
+        * DynInitOptionsMenuL.
+        * @since Series 60 3.0
+        * @param aResourceId menu resource
+        * @param aMenuPane menu pane
+        */
+        virtual void DynInitMenuPaneL(
+            TInt aResourceId,CEikMenuPane* aMenuPane) = 0;
+
+        /**
+        * HandleCommandL.
+        * @since Series 60 3.0
+        * @param aCommand command id
+        */
+        virtual TBool HandleCommandL(TInt aCommand) = 0;
+
+        /**
+        * HandleCommandL.
+        * @since Series 60 3.0
+        * @param aKeyEvent key event
+        * @param aType event type
+        */
+        virtual TKeyResponse HandleKeyEventL(
+            const TKeyEvent& aKeyEvent,
+            TEventCode aType) = 0;
+
+        /**
+        * MessageLoadL
+        * @since Series 60 3.0
+        * Called after each messag loading step so
+        * that plug-in can examine message step by step.
+        * Plug-in should not add any UI controls to app ui at this state.
+        * @param aState message loading state. See TLoadState <CMailMessage.h>
+        * @param aMessage Mail message.
+        * If this function leaves, plug-in will be delete and
+        * removed from the plug-in array.
+        */
+        virtual void MessageLoadL(TInt aState, CMailMessage& aMessage) = 0;
+
+        /**
+		* ViewMessageL.
+		* @since Series 60 3.0
+		* This function is called from the UI only the selected Plug-in that is
+        * used for viewin the message.
+		* @param aReadStream stream
+		* @param aUICallBack mail viewer UI call back.
+		*/
+		virtual void ViewMessageL(
+			RFileReadStream& aReadStream,
+			MMailAppUiInterface& aUICallBack) = 0;
+
+        /**
+        * ViewMessageL
+        * @since Series 60 3.0
+        * This function is called from the UI only the selected Plug-in that is
+        * used for viewin the message.
+        * @param aMessage Fully loaded mail message.
+        * @param aUICallBack mail viewer UI call back.
+		* @param aParams params from plug-in to mail UI.        
+        */
+        virtual void ViewMessageL(
+            CMailMessage& aMessage,
+            MMailAppUiInterface& aUICallBack,
+            TUint& aParams) = 0;
+
+		/**
+	    * ResourceFile.
+	    * @since Series 60 3.0
+	    * @param aResourceFile name of the resource file
+	    * Gives the caller a resource file to load
+	    */
+        virtual const TDesC& ResourceFile() = 0;
+    };
+
+#endif      // MMAILMESSAGEVIEW_H
+
+// End of File