--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrprocessor/inc/mmrentryprocessor.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2008 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: MBUtils ECOM definition
+*
+*/
+#ifndef M_MRENTRYPROCESSOR_H
+#define M_MRENTRYPROCESSOR_H
+
+#include <e32base.h>
+#include <MAgnEntryUi.h>
+#include "esmrdef.h"
+#include "tesmrscenariodata.h"
+
+class MESMRCalEntry;
+class CCalEntry;
+class CCalInstance;
+
+/**
+ * MESMREntryProcessor defines interface for entry processing
+ */
+class MESMREntryProcessor
+ {
+public:
+ virtual ~MESMREntryProcessor() {}
+
+public: // Interface
+ /**
+ * Fetches scenario data.
+ *
+ * @return scenario data.
+ */
+ virtual const TESMRScenarioData& ScenarioData() const = 0;
+
+ /**
+ * Tests, whether processor contains entry, which it has processed
+ * or not.
+ *
+ * @return ETrue, if contains processed entry.
+ */
+ virtual TBool ContainsProcessedEntry() const = 0;
+
+ /**
+ * Process entries and constructs scenario data.
+ *
+ * @param aParam AGN Entry UI input parameters.
+ * @param aEntries Calendar entries to be processed.
+ * Ownership is not transferred.
+ */
+ virtual void ProcessL(
+ const MAgnEntryUi::TAgnEntryUiInParams* aParams,
+ RPointerArray<CCalEntry>* aEntries ) = 0;
+
+ /**
+ * Process entry and constructs scenario data.
+ *
+ * @param aParam AGN Entry UI input parameters.
+ * @param aEntry Calendar entry to be processed.
+ * @param aSetDefaultValuesToEntry, ETrue is default values
+ * should be set to entry, EFalse otherwise
+ * @param aTypeChanging entry type is changing
+ */
+ virtual void ProcessL(
+ const MAgnEntryUi::TAgnEntryUiInParams* aParams,
+ CCalEntry& aEntry,
+ TBool aSetDefaultValuesToEntry,
+ const TBool aTypeChanging = EFalse ) = 0;
+
+ /**
+ * Process entries. Scenario data is not constructed.
+ *
+ * @param aEntries Calendar entries to be processed.
+ * Ownership is not transferred.
+ */
+ virtual void ProcessL(
+ RPointerArray<CCalEntry>* aEntries ) = 0;
+
+ /**
+ * Processes calendar instance. All operations affects only the
+ * processed instance.
+ *
+ * @param aInstance Reference to calendar instance.
+ */
+ virtual void ProcessL(
+ CCalInstance& aInstance ) = 0;
+
+ /**
+ * Switches processor for specified mode mode.
+ * @error KErrNotReady no entries has been processed yet.
+ * @error KErrArgument Unknown mode
+ */
+ virtual void SwitchProcessorToModeL(
+ TMRProcessorMode aMode ) = 0;
+
+ /**
+ * Fetches ES MR Entry. Methods panics, if entries has not
+ * been processed before calling this method.
+ *
+ * @return Reference to CESMRMeetingRequestEntry object.
+ */
+ virtual MESMRCalEntry& ESMREntryL() = 0;
+
+ /**
+ * Resets the entry processor. After calling this method the
+ * processor is in the same state than after creation.
+ */
+ virtual void ResetL() = 0;
+
+ /**
+ * Process output parameters. Processing is done according to command
+ * passed as parameter.
+ *
+ * @param aOutputParams Reference to output parameters.
+ * @param aCommand Command for which output parameters are processed.
+ */
+ virtual void ProcessOutputParametersL(
+ MAgnEntryUi::TAgnEntryUiOutParams& aOutParams,
+ TESMRCommand aCommand ) = 0;
+
+ /**
+ * Returns extension interface.
+ * @param aExtensionUid Extension identifier
+ */
+ virtual TAny* Extension( TUid /* aExtensionUid */ ) { return NULL; }
+ };
+
+#endif // M_MRENTRYPROCESSOR_H
+
+// EOF