meetingui/meetingrequestviewers/inc/MMRModelInterface.h
changeset 0 f979ecb2b13e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingui/meetingrequestviewers/inc/MMRModelInterface.h	Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2002-2005 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:   Interface for meeting request models
+*
+*/
+
+
+
+
+#ifndef MMRMODELINTERFACE_H
+#define MMRMODELINTERFACE_H
+
+//INCLUDES
+#include<e32std.h>
+#include <calentry.h>
+
+//FORWARD DECLARATIONS
+
+class MMRDataFillerInterface;
+class CRichBio;
+class MMRInfoPopup;
+
+/**
+*  Mixin interface for OMR models
+*
+*  @since Series S60 3.0
+*/
+class MMRModelInterface
+    {
+    public: // Data types
+    
+        enum TClosingStatus
+            {
+            ENone,
+            ENotResponded,
+            ENotSaved,
+            ENotSentNew,
+            ENotSentUpdate
+            };
+            
+        /**
+        * Editing mode, mainly needed to separate between edit instance
+        * or edit series. Editing mode is set only once, implicitely by
+        * MR Viewer logic or explicitely by the user, depending on entry data.
+        */
+        enum TEditingMode
+            {
+            EModeNotSet,
+            EEditInstance,
+            EEditMeeting,
+            EViewOnly
+            };            
+    
+    public: // Constructors and destructors
+
+		/**
+		* Public virtual destructor for allowing deletion through the interface.
+		*/
+        virtual ~MMRModelInterface() {};
+
+    public: // New functions
+
+        virtual CCalEntry* CombinedEntry() = 0;
+        
+    	/**
+    	* Refresh combined entry to reflect latest database changes.
+    	*/        
+        virtual void RefreshViewableEntryL() = 0;
+
+		virtual CCalEntry::TMethod MethodL() = 0;
+
+		virtual TClosingStatus ClosingStatusL() = 0;
+
+		virtual MMRDataFillerInterface* DataFillerL( CRichBio* aRichBio ) = 0;
+		
+		virtual MMRInfoPopup* CreateInfoPopupL() = 0;
+
+        virtual TBool IsCmdAvailable( TInt aCommandId ) = 0;        
+
+		virtual HBufC* MailboxOpeningNoteL() = 0;
+		
+    	/**
+    	* Get edit mode.
+    	* @return edit mode
+    	*/	    	
+    	virtual TEditingMode EditingMode() const = 0;
+    	
+    	/**
+    	* Setting of editing mode is allowed only once.
+    	* @param aEditMode
+    	*/
+    	virtual void SetEditingModeL( TEditingMode aEditMode ) = 0;
+		
+		virtual void SetEntryEdited() = 0;
+		
+		virtual TBool IsEntryEdited() = 0;
+		
+		virtual TBool MailHeadersAvailable() = 0;
+		
+		virtual HBufC* MailHeaderFromFieldLC() = 0;
+		
+		virtual	HBufC* MailHeaderSubjectFieldLC() = 0;
+    };
+
+#endif      // MMRMODELINTERFACE_H
+
+// End of File