diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrprocessor/inc/mmrentryprocessor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrprocessor/inc/mmrentryprocessor.h Wed Mar 31 21:08:33 2010 +0300 @@ -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 +#include +#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* 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* 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