diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrprocessor/mrcaleventplugin/inc/cmrcaleventprocessor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrprocessor/mrcaleventplugin/inc/cmrcaleventprocessor.h Wed Mar 31 21:08:33 2010 +0300 @@ -0,0 +1,119 @@ +/* +* 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: ESMR mr entry processor +* +*/ + +#ifndef C_MRCALENTRYPROCESSOR_H +#define C_MRCALENTRYPROCESSOR_H + +#include +#include "cmrentryprocessor.h" + +class MESMRCalDbMgr; +class CMRCalEntry; + +/** +* CESMREntryProcessor's main responsibility is to +* perform entry processing and evaluation in initialization phase. +* +* @lib esmrentry.lib +*/ +NONSHARABLE_CLASS(CMRCalEntryProcessor) : + public CMREntryProcessor + { +public: // Construction and destruction + /** + * Creates new CESMREntryProcessor object. Ownership + * is transferred to caller. + * @param aDbMgr Reference to calendar DB manager. + * @return Pointer to created CESMREntryProcessor object, + */ + static CMRCalEntryProcessor* NewL( + TAny* aDbMgr ); + + /** + * C++ destructor + */ + ~CMRCalEntryProcessor(); + +public: // From MESMREntryProcessor + const TESMRScenarioData& ScenarioData() const; + TBool ContainsProcessedEntry() const; + void ProcessL( + const MAgnEntryUi::TAgnEntryUiInParams* aParams, + RPointerArray* aEntries ); + void ProcessL( + const MAgnEntryUi::TAgnEntryUiInParams* aParams, + CCalEntry& aEntry, + TBool aSetDefaultValuesToEntry, + const TBool aTypeChanging = EFalse ); + void ProcessL( + RPointerArray* aEntries ); + void ProcessL( + CCalInstance& aInstance ); + void SwitchProcessorToModeL( + TMRProcessorMode aMode ); + MESMRCalEntry& ESMREntryL(); + void ResetL(); + void ProcessOutputParametersL( + MAgnEntryUi::TAgnEntryUiOutParams& aOutParams, + TESMRCommand aCommand ); + +private: // Implementaton + + static CMRCalEntryProcessor* CreateL( + MESMRCalDbMgr& aDbMgr ); + + CMRCalEntryProcessor( + MESMRCalDbMgr& aDbMgr); + void ConstructL(); + TBool IsDataOk() const; + void CreateEntryL( CCalEntry& aEntry, TBool aSetDefaultValuesToEntry ); + void ConvertTextFieldLineFeedsL(); + void ConvertTextFieldLineFeedsL( CCalEntry& aEntry ); + +private: // Data + /** + * Scenario data + * Own. + */ + TESMRScenarioData iScenData; + + /** + * Reference to calendar DB manager + * Not own. + */ + MESMRCalDbMgr& iDbMgr; + + /** + * Calendar entry + * Own. + */ + CMRCalEntry* iCalEntry; + + /** + * Input parameters from calling application + * Not own. + */ + const MAgnEntryUi::TAgnEntryUiInParams* iParams; + + /** + * Entries to be processed + * Not own. + */ + RPointerArray* iCalEntries; + }; + +#endif // C_MRCALENTRYPROCESSOR_H