--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrtasks/inc/mesmrtaskextension.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,208 @@
+/*
+* 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: Interface definition for ESMR task factory
+*
+*/
+
+
+#ifndef MESMRTASKEXTENSION_H
+#define MESMRTASKEXTENSION_H
+
+#include <e32base.h>
+//<cmail>
+#include "esmrdef.h"
+//</cmail>
+
+class MESMRCalEntry;
+
+/**
+ * MESMRTaskExtension is extension API for CMRUtils.
+ * MESMRTaskExtension defines methods for executing ES MR MR related
+ * functionality.
+ *
+ * Usage (assuming you have CMRUtils* iUtils):
+ * MESMRTaskExtension* ext = ExtensionApiL<MESMRTaskExtension>( iUtils );
+ *
+ * @lib esmrtasks.lib
+ */
+class MESMRTaskExtension
+ {
+public: // Inline implementation
+ /**
+ * Fetches task extension uid.
+ * @return task extension uid
+ */
+ inline static TUid ExtensionUid();
+
+public: // Destruction
+ /**
+ * Virtual C++ destructor.
+ */
+ virtual ~MESMRTaskExtension() { }
+
+public: // Interface
+ /**
+ * Sends and stores MR response. Command needs to be one of the
+ * following:
+ * - EESMRCmdAcceptMR
+ * - EESMRCmdTentativeMR
+ * - EESMRCmdDeclineMR
+ *
+ * Phone owner's attendee status needs to match MR response command.
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void SendAndStoreResponseL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Sends and stores MR . Command needs to be one of the
+ * following:
+ * - EESMRCmdSendMR
+ * - EESMRCmdSendMRUpdate
+ *
+ * Phone owner needs to be meeting organizer.
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void SendAndStoreMRL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Deletes MR from local calendar DB. Method also sends either cancellation
+ * or decline message.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdDeleteMR
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void DeleteAndSendMRL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Stores Cal Event to local calendar DB.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdSaveMR
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void StoreEntryToLocalDBL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Forwards MR as email. Email editor is launched with pre-filled
+ * email message.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdForwardAsMail
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void ForwardMRAsEmailL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Creates email reply for meeting request.
+ * Email editor is launched with pre-filled
+ * email message.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdReply or EESMRCmdReplyAll
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void ReplyAsEmailL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Deletes calendar event from local calendar DB.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdCalEntryUIDelete
+ * - EESMRCmdDeleteMR
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void DeleteEntryFromLocalDBL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Marks to-do event as done.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdTodoMarkAsDone
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void MarkTodoAsDoneL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0;
+
+ /**
+ * Marks to-do event as not done.
+ *
+ * Command needs to be one of the following:
+ * - EESMRCmdTodoMarkAsNotDone
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void MarkTodoAsNotDoneL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0 ;
+
+ /**
+ * Moves entry to current database
+ *
+ * Command needs to be one of following:
+ * - EESMRCmdSaveMR
+ * - EESMRCmdCalEntryUISave
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void MoveEntryToCurrentDBL(
+ TESMRCommand aCommand,
+ MESMRCalEntry& aEntry ) = 0 ;
+ };
+
+#include "mesmrtaskextension.inl"
+
+#endif // MESMRTASKEXTENSION_H