--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrtasks/inc/mesmrtaskextension.h Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,164 @@
+/*
+* 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 MESMRMeetingRequestEntry;
+
+/**
+ * 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,
+ MESMRMeetingRequestEntry& 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,
+ MESMRMeetingRequestEntry& aEntry ) = 0;
+
+ /**
+ * Delete MR from local calendar DB. Command needs to be one of the
+ * following:
+ * - EESMRCmdDeleteMR
+ *
+ * @param aCommand Command to be executed
+ * @param aEntry Reference to entry
+ * @see TESMRCommand
+ */
+ virtual void DeleteMRFromLocalDBL(
+ TESMRCommand aCommand,
+ MESMRMeetingRequestEntry& 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,
+ MESMRMeetingRequestEntry& aEntry ) = 0;
+
+ /**
+ * Stores MR 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 StoreMRToLocalDBL(
+ TESMRCommand aCommand,
+ MESMRMeetingRequestEntry& 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,
+ MESMRMeetingRequestEntry& 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,
+ MESMRMeetingRequestEntry& aEntry ) = 0;
+ };
+
+#include "mesmrtaskextension.inl"
+
+#endif // MESMRTASKEXTENSION_H