diff -r 000000000000 -r 8466d47a6819 meetingrequest/mricalviewer/inc/cesmricalviewerresponsetomrcmd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mricalviewer/inc/cesmricalviewerresponsetomrcmd.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,115 @@ +/* +* 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: Responsing to meeting request asynchronously +* +*/ + + +#ifndef CESMRICALVIEWERRESPONSETOMRCMD_H +#define CESMRICALVIEWERRESPONSETOMRCMD_H + +#include "cesmricalviewerasynccommand.h" +#include "tesmrinputparams.h" +// +#include "mesmricalviewerobserver.h" +#include "mesmricalviewercallback.h" +#include "esmricalviewerdefs.hrh" +// +#include + +class CFSMailClient; +class CESMRUiLauncher; + +/** + * Command for responding to meeting request asynchronously + * Command completion is reported to caller via MESMRIcalViewerObserver + * interface. + */ +NONSHARABLE_CLASS( CESMRIcalViewerResponseToMRCmd ) : + public CESMRIcalViewerAsyncCommand, + public MESMRIcalViewerObserver, + public MAgnEntryUiCallback + { +public: // Construction and destruction + + /** + * Creates and initializes new CESMRIcalViewerResponseToMRCmd command. + * @param aCallback callback interface to MESMRIcalViewerCallback + * @param aCalSession Reference to calendar session. + * @param aMailClient Reference to FS Email mail client object + * @param aAttendeeStatus status of meeting request participant + */ + static CESMRIcalViewerResponseToMRCmd* NewL( + MESMRIcalViewerCallback& aCallback, + CCalSession& aCalSession, + CFSMailClient& aMailClient, + TESMRAttendeeStatus aAttendeeStatus ); + + /** + * C++ Destructor + */ + ~CESMRIcalViewerResponseToMRCmd(); + +public: // From MESMRIcalViewerObserver + void OperationCompleted( + MESMRIcalViewerObserver::TIcalViewerOperationResult aResult ); + void OperationError( + MESMRIcalViewerObserver::TIcalViewerOperationResult aResult ); + +public: // From MAgnEntryUiCallback + void ProcessCommandL(TInt aCommandId); + TInt ProcessCommandWithResultL( TInt aCommandId ); + TBool IsCommandAvailable( TInt aCommandId ); + +private: // From MESMRIcalViewerAsyncCommand + void ExecuteAsyncCommandL(); + void CancelAsyncCommand(); + +private: // Implementation + CESMRIcalViewerResponseToMRCmd( + MESMRIcalViewerCallback& aCallback, + CCalSession& aCalSession, + CFSMailClient& aMailClient, + TESMRAttendeeStatus aAttendeeStatus ); + void ConstructL(); + void LaunchUiL(); + void HandleOperationCompletedL( + MESMRIcalViewerObserver::TIcalViewerOperationResult aResult ); + +private: // Data + /// Ref: Reference to ESMRIcalviewer callback + MESMRIcalViewerCallback& iCallback; + /// Ref: Reference to input parameters + TESMRInputParams iESMRInputParams; + /// Ref: Reference to mail client + CFSMailClient& iMailClient; + /// Own: MR retriever command + RPointerArray< MESMRIcalViewerCommand > iMRRetrieverCommands; + /// Own: Current command index + TInt iCurrentCommand; + /// Own: Attendee status + TESMRAttendeeStatus iAttendeeStatus; + /// Own: Current callback command + TESMRIcalViewerOperationType iCurrentCbCommand; + /// Own: Asynchronous email command + MESMRIcalViewerCommand* iEmailCommand; + /// Own: Command received via callback + TInt iMRViewerCommand; + /// Own: UI launcher + CESMRUiLauncher* iUILauncher; + }; + +#endif + +// EOF