meetingrequest/mrtasks/inc/cesmrtaskfactory.h
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
--- a/meetingrequest/mrtasks/inc/cesmrtaskfactory.h	Mon Mar 15 12:39:10 2010 +0200
+++ b/meetingrequest/mrtasks/inc/cesmrtaskfactory.h	Wed Mar 31 21:08:33 2010 +0300
@@ -23,80 +23,47 @@
 #include "mesmrtaskfactory.h"
 
 class MESMRCalDbMgr;
-class CMRMailboxUtils;
 
 /**
- *  CESMRTaskFactory implements interface for creating ES MR tasks.
+ *  CESMRTaskFactory defines ECom plugin interface for creating ES MR tasks.
  *  @see MESMRTaskFactory
  *
  *  @lib esmrtasks.lib
  */
-NONSHARABLE_CLASS(CESMRTaskFactory) : public CBase,
-                                      public MESMRTaskFactory
+class CESMRTaskFactory : public CBase,
+                         public MESMRTaskFactory
     {
 public: // Construction and destruction
     /**
      * Creates and initialzes new ES MR task factory.
      * @param aCalDbMgr Reference to cal db manager.
-     * @param aMRMailboxUtils Reference to mailbox utilities.
      */
-    IMPORT_C static CESMRTaskFactory* NewL(
-            MESMRCalDbMgr& aCalDbMgr,
-            CMRMailboxUtils& aMRMailboxUtils );
+    inline static CESMRTaskFactory* NewL(
+            TESMRCalendarEventType aType,
+            MESMRCalDbMgr& aCalDbMgr );
 
     /**
      * C++ destructor.
      */
-    ~CESMRTaskFactory();
+    inline ~CESMRTaskFactory();
 
 public: // From MESMRTaskFactory
     MESMRTask* CreateTaskL(
             TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-
-private: // Implementation
-    CESMRTaskFactory(
-            MESMRCalDbMgr& aCalDbMgr,
-            CMRMailboxUtils& aMRMailboxUtils );
-    MESMRTask* CreateSendMRResponseViaMailTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateSendMRTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateDeleteMRTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateStoreMRToLocalDBTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateForwardAsMeetingTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateForwardAsMailTaskL(
-            MESMRMeetingRequestEntry& aEntry  );
-    MESMRTask* CreateOrganizerDeleteMRTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateAttendeeDeleteMRTaskL(
-            TESMRCommand aCommand,
-            MESMRMeetingRequestEntry& aEntry );
-    MESMRTask* CreateReplyAsMailTaskL(
-                MESMRMeetingRequestEntry& aEntry,
-                TBool aReplyAll);
+            MESMRCalEntry& aEntry ) = 0;
 
 private: // Data
-    /*
-    * Reference to cal db manager
-    * Not own.
-    */
-    MESMRCalDbMgr& iCalDbMgr;
-
+    
     /**
-    * Reference to mr mailbox utilities
-    * Not own.
-    */
-    CMRMailboxUtils& iMRMailboxUtils;
+     * iDtor_ID_Key Instance identifier key. When instance of an
+     * implementation is created by ECOM framework, the
+     * framework will assign UID for it. The UID is used in
+     * destructor to notify framework that this instance is
+     * being destroyed and resources can be released.
+     */
+    TUid iDtor_ID_Key;    
     };
 
+#include "cesmrtaskfactory.inl"
+
 #endif // C_ESMRTASKFACTORY_H